x86: use single definitions for a few constants
authorJan Beulich <jbeulich@suse.com>
Fri, 15 Feb 2013 08:45:28 +0000 (09:45 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 15 Feb 2013 08:45:28 +0000 (09:45 +0100)
... rather than having a C and an assembly one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/include/asm-x86/config.h

index da82e7327bc5a306e1a26fe604c9a7c6405de78e..aae64c1009a2eabd5573f18ec4e4d87f584086ed 100644 (file)
@@ -112,19 +112,14 @@ extern unsigned char boot_edid_info[128];
 
 #define CONFIG_COMPAT 1
 
+#include <xen/const.h>
+
 #define PML4_ENTRY_BITS  39
-#ifndef __ASSEMBLY__
-#define PML4_ENTRY_BYTES (1UL << PML4_ENTRY_BITS)
-#define PML4_ADDR(_slot)                             \
-    ((((_slot ## UL) >> 8) * 0xffff000000000000UL) | \
-     (_slot ## UL << PML4_ENTRY_BITS))
-#define GB(_gb) (_gb ## UL << 30)
-#else
-#define PML4_ENTRY_BYTES (1 << PML4_ENTRY_BITS)
-#define PML4_ADDR(_slot)                             \
-    (((_slot >> 8) * 0xffff000000000000) | (_slot << PML4_ENTRY_BITS))
-#define GB(_gb) (_gb << 30)
-#endif
+#define PML4_ENTRY_BYTES (_AC(1,UL) << PML4_ENTRY_BITS)
+#define PML4_ADDR(_slot)                              \
+    (((_AC(_slot, UL) >> 8) * _AC(0xffff000000000000,UL)) | \
+     (_AC(_slot, UL) << PML4_ENTRY_BITS))
+#define GB(_gb) (_AC(_gb, UL) << 30)
 
 /*
  * Memory layout:
@@ -242,7 +237,7 @@ extern unsigned char boot_edid_info[128];
                                                           PAGE_SHIFT)) + 1)
 #define SPAGETABLE_SIZE         (SPAGETABLE_NR * sizeof(struct spage_info))
 #define SPAGETABLE_VIRT_START   ((SPAGETABLE_VIRT_END - SPAGETABLE_SIZE) & \
-                                 (-1UL << SUPERPAGE_SHIFT))
+                                 (_AC(-1,UL) << SUPERPAGE_SHIFT))
 /* Slot 261: page-frame information array (128GB). */
 #define FRAMETABLE_VIRT_END     DIRECTMAP_VIRT_START
 #define FRAMETABLE_SIZE         GB(128)