mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 14:58:30 +00:00
Initial import
This commit is contained in:
commit
c91b3c5006
14915 changed files with 590219 additions and 0 deletions
43
libc/nexgen32e/kcpuids.h
Normal file
43
libc/nexgen32e/kcpuids.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_NEXGEN32E_KCPUIDS_H_
|
||||
#define COSMOPOLITAN_LIBC_NEXGEN32E_KCPUIDS_H_
|
||||
|
||||
#define KCPUIDS_0H 0
|
||||
#define KCPUIDS_1H 1
|
||||
#define KCPUIDS_2H 2
|
||||
#define KCPUIDS_7H 3
|
||||
#define KCPUIDS_80000001H 4
|
||||
#define KCPUIDS_80000007H 5
|
||||
#define KCPUIDS_16H 6
|
||||
#define _KCPUIDS_LEN 7
|
||||
#define KCPUIDS_6H -1 /* TBD: Thermal and Power Management */
|
||||
#define KCPUIDS_DH -1 /* TBD: Extended state features */
|
||||
#define KCPUIDS_80000008H -1 /* TBD: AMD Miscellaneous */
|
||||
#define KCPUIDS_8000000AH -1 /* TBD: AMD SVM */
|
||||
|
||||
#define KCPUIDS_EAX 0
|
||||
#define KCPUIDS_EBX 1
|
||||
#define KCPUIDS_ECX 2
|
||||
#define KCPUIDS_EDX 3
|
||||
|
||||
#define KCPUIDS(LEAF, REG) _KCPUIDS(LEAF, REG)
|
||||
#ifdef __ASSEMBLER__
|
||||
#define _KCPUIDS(LEAF, REG) KCPUIDS_##LEAF * 16 + KCPUIDS_##REG * 4
|
||||
#else
|
||||
#define _KCPUIDS(LEAF, REG) kCpuids[KCPUIDS_##LEAF][KCPUIDS_##REG]
|
||||
#endif
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
/**
|
||||
* Globally precomputed x86 CPUID values.
|
||||
*
|
||||
* @note Referencing Is Initialization (RII)
|
||||
* @note Protected with PIRO
|
||||
* @see X86_HAVE()
|
||||
*/
|
||||
extern const unsigned kCpuids[_KCPUIDS_LEN][4];
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_NEXGEN32E_KCPUIDS_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue