[U-Boot] [PATCH v2 36/47] x86: Add an enum for some commonly-used GDT bits
Bin Meng
bmeng.cn at gmail.com
Tue Aug 4 08:56:32 CEST 2015
On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass <sjg at 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 at 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 at gmail.com>
More information about the U-Boot
mailing list