Rather than add these as open-coded values, create an enum with the commonly
used flags.

Signed-off-by: Simon Glass <[email protected]>
---

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;
-- 
2.5.0.rc2.392.g76e840b

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to