
4 Aug
2015
4 Aug
'15
8:56 a.m.
On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass sjg@chromium.org wrote:
Rather than add these as open-coded values, create an enum with the commonly used flags.
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v2:
- Add descriptor bits for the base and limit
- Rename GDT_4GB to GDT_4KB
arch/x86/include/asm/cpu.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h index 08284ee..5b89139 100644 --- a/arch/x86/include/asm/cpu.h +++ b/arch/x86/include/asm/cpu.h @@ -27,6 +27,24 @@ enum { X86_VENDOR_UNKNOWN = 0xff };
+/* Global descriptor table (GDT) bits */ +enum {
GDT_4KB = 1ULL << 55,
GDT_32BIT = 1ULL << 54,
GDT_LONG = 1ULL << 53,
GDT_PRESENT = 1ULL << 47,
GDT_NOTSYS = 1ULL << 44,
GDT_CODE = 1ULL << 43,
GDT_LIMIT_LOW_SHIFT = 0,
GDT_LIMIT_LOW_MASK = 0xffff,
GDT_LIMIT_HIGH_SHIFT = 48,
GDT_LIMIT_HIGH_MASK = 0xf,
GDT_BASE_LOW_SHIFT = 16,
GDT_BASE_LOW_MASK = 0xffff,
GDT_BASE_HIGH_SHIFT = 56,
GDT_BASE_HIGH_MASK = 0xf,
+};
struct cpuid_result { uint32_t eax; uint32_t ebx; --
Reviewed-by: Bin Meng bmeng.cn@gmail.com