x86: Make the GDT_ENTRY() macro in <asm/segment.h> safe for assembly
Make the GDT_ENTRY() macro in <asm/segment.h> safe for use in assembly code by guarding the ULL suffixes with _AC() macros. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> LKML-Reference: <4D5DFBE4.7090104@intel.com> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: Matthieu Castet <castet.matthieu@free.fr> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
This commit is contained in:
parent
d1ee433539
commit
014eea518a
|
@ -1,14 +1,16 @@
|
||||||
#ifndef _ASM_X86_SEGMENT_H
|
#ifndef _ASM_X86_SEGMENT_H
|
||||||
#define _ASM_X86_SEGMENT_H
|
#define _ASM_X86_SEGMENT_H
|
||||||
|
|
||||||
|
#include <linux/const.h>
|
||||||
|
|
||||||
/* Constructor for a conventional segment GDT (or LDT) entry */
|
/* Constructor for a conventional segment GDT (or LDT) entry */
|
||||||
/* This is a macro so it can be used in initializers */
|
/* This is a macro so it can be used in initializers */
|
||||||
#define GDT_ENTRY(flags, base, limit) \
|
#define GDT_ENTRY(flags, base, limit) \
|
||||||
((((base) & 0xff000000ULL) << (56-24)) | \
|
((((base) & _AC(0xff000000,ULL)) << (56-24)) | \
|
||||||
(((flags) & 0x0000f0ffULL) << 40) | \
|
(((flags) & _AC(0x0000f0ff,ULL)) << 40) | \
|
||||||
(((limit) & 0x000f0000ULL) << (48-16)) | \
|
(((limit) & _AC(0x000f0000,ULL)) << (48-16)) | \
|
||||||
(((base) & 0x00ffffffULL) << 16) | \
|
(((base) & _AC(0x00ffffff,ULL)) << 16) | \
|
||||||
(((limit) & 0x0000ffffULL)))
|
(((limit) & _AC(0x0000ffff,ULL))))
|
||||||
|
|
||||||
/* Simple and small GDT entries for booting only */
|
/* Simple and small GDT entries for booting only */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue