x86
32 비트 (일명 i386–i686 및 64 비트 (일명 amd64)) 즉, 워크 스테이션, 랩톱 또는 서버입니다.
FAQ : 나는…
- 64 비트 (x86_64 / AMD64 / Intel64)?
lm
- 하드웨어 가상화 (VMX / AMD-V)?
vmx
(인텔), svm
(AMD)
- 가속 AES (AES-NI)?
aes
- TXT (TPM)?
smx
- 하이퍼 바이저 (그와 같이 발표 됨)?
hypervisor
다른 기능의 대부분은 컴파일러 또는 커널 작성자에게만 관심이 있습니다.
모든 깃발
전체 목록은 커널 소스의 파일에 arch/x86/include/asm/cpufeatures.h
있습니다.
인텔 정의 CPU 기능, CPUID 레벨 0x00000001 (edx)
Intel Advanced Vector Extensions Programming Reference의 Wikipedia 및 표 2-27 도 참조하십시오.
AMD 정의 CPU 기능, CPUID 레벨 0x80000001
Intel Advanced Vector Extensions Programming Reference의 Wikipedia 및 표 2-23 도 참조하십시오.
변환 정의 CPU 기능, CPUID 레벨 0x80860001
recovery
: 복구 모드의 CPU
longrun
: 장기 전력 제어
lrti
: LongRun 테이블 인터페이스
기타 기능, Linux 정의 매핑
cxmmx
: Cyrix MMX 확장
k6_mtrr
: AMD K6 비표준 MTRR
cyrix_arr
: Cyrix ARR (= MTRR)
centaur_mcr
: Centaur MCR (= MTRR)
constant_tsc
: TSC가 일정한 속도로 틱
up
: UP에서 실행되는 SMP 커널
art
: 상시 실행 타이머
arch_perfmon
: 인텔 건축 PerfMon
pebs
: 정확한 이벤트 기반 샘플링
bts
: 지점 추적 저장소
rep_good
: rep 마이크로 코드가 잘 작동합니다
acc_power
: AMD 누적 전력 메커니즘
nopl
: NOPL (0F 1F) 명령
xtopology
: CPU 토폴로지 열거 형 확장
tsc_reliable
: TSC 는 신뢰할 수있는 것으로 알려져 있습니다
nonstop_tsc
: C 상태에서 TSC 가 중지되지 않음
cpuid
: CPU에는 CPUID 명령 자체가 있습니다
extd_apicid
: APICID 확장 (8 비트)
amd_dcm
: 다중 노드 프로세서
aperfmperf
: APERFMPERF
eagerfpu
: 비 게으른 FPU 복원
nonstop_tsc_s3
: S3 상태에서 TSC 가 중지되지 않음
tsc_known_freq
: TSC 에 알려진 주파수
mce_recovery
: CPU에 복구 가능한 시스템 검사가 있습니다
인텔 정의 CPU 기능, CPUID 레벨 0x00000001 (ECX)
Intel Advanced Vector Extensions Programming Reference의 Wikipedia 및 표 2-26 도 참조하십시오.
VIA / Cyrix / Centaur 정의 CPU 기능, CPUID 레벨 0xC0000001
rng
: 난수 생성기 존재 (xstore)
rng_en
: 난수 생성기 사용
ace
: CPU상의 암호화 (xcrypt)
ace_en
: 온 CPU 암호화 사용
ace2
: 고급 암호화 엔진 v2
ace2_en
: ACE v2 사용
phe
: PadLock 해시 엔진
phe_en
: PHE 가능
pmm
: PadLock 몽고메리 멀티 플라이어
pmm_en
: PMM 사용
보다 확장 된 AMD 플래그 : CPUID 레벨 0x80000001, ecx
lahf_lm
: Long 모드에서 플래그 (LAHF)에서 AH를로드하고 플래그 (SAHF)에 AH를 저장
cmp_legacy
: 예인 경우 하이퍼 스레딩이 유효하지 않습니다
svm
:“보안 가상 머신”: AMD-V
extapic
: 확장 된 APIC 공간
cr8_legacy
: 32 비트 모드의 CR8
abm
: 고급 비트 조작
sse4a
: SSE-4A
misalignsse
: 일부 레거시 SSE 명령어가 정렬되지 않은 데이터에서 작동 할 때 일반 보호 예외 (#GP)가 생성되는지 여부를 나타냅니다. CR0 및 정렬 검사 비트에 따라 다름
3dnowprefetch
: 3DNow 프리 페치 명령어
osvw
: OS가 Visible Workaround를 나타내 므로 OS가 프로세서 정오표 주위에서 작동 할 수 있습니다.
ibs
: 명령 기반 샘플링
xop
: 확장 AVX 명령어
skinit
: SKINIT / STGI 지침
wdt
: 워치 독 타이머
lwp
: 경량 프로파일 링
fma4
: 4 개의 피연산자 MAC 명령어
tce
: 번역 캐시 확장
nodeid_msr
: NodeId MSR
tbm
: 후행 비트 조작
topoext
: 토폴로지 확장 CPUID leafs
perfctr_core
: 핵심 성능 카운터 확장
perfctr_nb
: NB 성능 카운터 확장
bpext
: 데이터 중단 점 확장
ptsc
: 성능 타임 스탬프 카운터
perfctr_l2
: L2 성능 카운터 확장
mwaitx
: MWAIT
확장 ( MONITORX
/ MWAITX
)
보조 플래그 : Linux 정의-다양한 CPUID 수준에 흩어져있는 기능
ring3mwait
: 링 3 MONITOR / MWAIT
cpuid_fault
: 인텔 CPUID 오류
cpb
: AMD 코어 성능 향상
epb
: IA32_ENERGY_PERF_BIAS 지원
cat_l3
: 캐시 할당 기술 L3
cat_l2
: 캐시 할당 기술 L2
cdp_l3
: 코드 및 데이터 우선 순위 L3
invpcid_single
: 효과적으로 invpcid
그리고CR4.PCIDE=1
hw_pstate
: AMD HW-PState
proc_feedback
: AMD ProcFeedbackInterface
sme
: AMD 보안 메모리 암호화
pti
: 커널 페이지 테이블 격리 (Kaiser)
retpoline
: Spectre variant 2 (간접 분기)에 대한 Retpoline 완화
retpoline_amd
: AMD 레토 폴린 완화
intel_ppin
: 인텔 프로세서 인벤토리 번호
avx512_4vnniw
: AVX-512 신경망 지침
avx512_4fmaps
: AVX-512 곱하기 누산 단정도
mba
: 메모리 대역폭 할당
rsb_ctxsw
: 컨텍스트 스위치에서 RSB 채우기
가상화 플래그 : Linux 정의
tpr_shadow
: 인텔 TPR 섀도
vnmi
: 인텔 가상 NMI
flexpriority
: 인텔 FlexPriority
ept
: 인텔 확장 페이지 테이블
vpid
: 인텔 가상 프로세서 ID
vmmcall
: 선호 VMMCALL
에VMCALL
인텔 정의 CPU 기능, CPUID 레벨 0x00000007 : 0 (ebx)
fsgsbase
: {RD / WR} {FS / GS} BASE 지침
tsc_adjust
: TSC 조정 MSR
bmi1
: 첫 번째 그룹 비트 조작 확장
hle
: 하드웨어 잠금 제거
avx2
: AVX2 지침
smep
: 감독자 모드 실행 보호
bmi2
: 두 번째 그룹 비트 조작 확장
erms
: 향상된 REP MOVSB / STOSB
invpcid
: 프로세서 컨텍스트 ID 무효화
rtm
: 제한된 트랜잭션 메모리
cqm
: 캐시 QoS 모니터링
mpx
: 메모리 보호 확장
rdt_a
: 리소스 디렉터 기술 할당
avx512f
: AVX-512 기초
avx512dq
: AVX-512 더블 / 쿼드 지침
rdseed
: RDSEED 명령
adx
: ADCX 및 ADOX 명령어
smap
: 감독자 모드 액세스 방지
clflushopt
: CLFLUSHOPT
지시
clwb
: CLWB
지시
intel_pt
: 인텔 프로세서 추적
avx512pf
: AVX-512 프리 페치
avx512er
: AVX-512 지수 및 역수
avx512cd
: AVX-512 충돌 감지
sha_ni
: SHA1 / SHA256 명령어 확장
avx512bw
: AVX-512 바이트 / 워드 명령어
avx512vl
: AVX-512 128/256 벡터 길이 확장
확장 상태 기능, CPUID 레벨 0x0000000d : 1 (eax)
xsaveopt
: 최적화 XSAVE
xsavec
: XSAVEC
xgetbv1
: XGETBV
ECX = 1 인 경우
xsaves
: XSAVES
/XRSTORS
인텔 정의 CPU QoS 하위 리프, CPUID 레벨 0x0000000F : 0 (EDX)
인텔 정의 CPU QoS 하위 리프, CPUID 레벨 0x0000000F : 1 (EDX)
cqm_occup_llc
: LLC 점유 모니터링
cqm_mbm_total
: LLC 총 MBM 모니터링
cqm_mbm_local
: LLC 로컬 MBM 모니터링
AMD 정의 CPU 기능, CPUID 레벨 0x80000008 (ebx)
clzero
: CLZERO
지시
irperf
: 성능 카운터 폐기 명령
xsaveerptr
: 항상 FP 오류 포인터 저장 / 복원
열 및 전원 관리 리프, CPUID 레벨 0x00000006 (eax)
dtherm
(이전 dts
) : 디지털 열 센서
ida
: 인텔 동적 가속
arat
: 항상 실행중인 APIC 타이머
pln
: 인텔 전력 제한 알림
pts
: 인텔 패키지 열 상태
hwp
: 인텔 하드웨어 P- 상태
hwp_notify
: HWP 알림
hwp_act_window
: HWP 활동 창
hwp_epp
: HWP 에너지 성능 환경 설정
hwp_pkg_req
: HWP 패키지 수준 요청
AMD SVM 기능 식별, CPUID 레벨 0x8000000a (edx)
npt
: AMD 중첩 페이지 테이블 지원
lbrv
: AMD LBR 가상화 지원
svm_lock
: AMD SVM 잠금 MSR
nrip_save
: AMD SVM next_rip 저장
tsc_scale
: AMD TSC 스케일링 지원
vmcb_clean
: AMD VMCB 클린 비트 지원
flushbyasid
: AMD flush-by-ASID 지원
decodeassists
: AMD 디코딩 지원 지원
pausefilter
: AMD 필터링 된 일시 중지 인터셉트
pfthreshold
: AMD 일시 중지 필터 임계 값
avic
: 가상 인터럽트 컨트롤러
vmsave_vmload
: 가상 VMSAVE VMLOAD
vgif
: 가상 GIF
인텔 정의 CPU 기능, CPUID 레벨 0x00000007 : 0 (ECX)
avx512vbmi
: AVX512 벡터 비트 조작 지침
umip
: 사용자 모드 명령 보호
pku
: 사용자 공간을위한 보호 키
ospke
: OS 보호 키 활성화
avx512_vbmi2
: 추가 AVX512 벡터 비트 조작 지침
gfni
: Galois Field 새로운 지침
vaes
: 벡터 AES
vpclmulqdq
: 캐리리스 곱셈 더블 쿼드 워드
avx512_vnni
: 벡터 신경망 지침
avx512_bitalg
: VPOPCNT [B, W] 및 VPSHUF-BITQMB 명령
avx512_vpopcntdq
: DW / QW 벡터에 대한 POPCNT
la57
: 5 단계 페이지 테이블
rdpid
: RDPID 명령
AMD 정의 CPU 기능, CPUID 레벨 0x80000007 (ebx)
overflow_recov
: MCA 오버 플로우 복구 지원
succor
: 수정할 수없는 오류 억제 및 복구
smca
: 확장 가능한 MCA
감지 된 CPU 버그 (Linux 정의)
f00f
: 인텔 F00F
fdiv
: CPU FDIV
coma
: Cyrix 6x86 코마
amd_tlb_mmatch
: tlb_mmatch
AMD 에라 툼 383
amd_apic_c1e
: apic_c1e
AMD 에라 툼 400
11ap
: 나쁜 로컬 APIC 일명 11AP
fxsave_leak
: FXSAVE가 FOP / FIP / FOP 누출
clflush_monitor
: MONITOR 전에 AAI65, CLFLUSH 필요
sysret_ss_attrs
: SYSRET는 SS 속성을 수정하지 않습니다
espfix
: ""16 비트 SS IRET로 ESP / RSP 상위 비트가 손상됨
null_seg
: 선택기를 널링하면 기본이 유지됩니다.
swapgs_fence
: GS에서 입력 깊이가없는 SWAPGS
monitor
: 원격 CPU를 깨우려면 IPI 필요
amd_e400
: CPU가 Erratum 400의 영향을 받음
cpu_meltdown
: CPU는 붕괴 공격의 영향을받으며 커널 페이지 테이블 격리가 필요합니다.
spectre_v1
: CPU는 조건부 분기를 사용한 Spectre variant 1 공격의 영향을받습니다.
spectre_v2
: CPU는 간접 분기를 사용한 스펙터 변형 2 공격의 영향을받습니다.
spec_store_bypass
: CPU는 Speculative Store Bypass 취약점 (Spectre variant 4)의 영향을받습니다 .
PS이 목록은 arch/x86/include/asm/cpufeatures.h
커널 소스에서 파생되었습니다 . 플래그는 소스 코드와 동일한 순서로 나열됩니다. 누락 된 기능에 대한 설명에 대한 링크를 추가하고 표현이없는 기능에 대한 간단한 설명을 작성하고 새 커널 버전의 목록을 업데이트하여 도움을주십시오. 현재 목록은 Linux 4.15 와 이후의 추가 사항입니다.
$ egrep -wo ^flags|vmx|ept|vpid|npt|tpr_shadow|flexpriority|vnmi|lm|aes' /proc/cpuinfo --color | sort -u
. CLI / GUI의 우수한 i-nex도 있습니다.