add need definitions to libxc for x86-64
PATCH 1/1 add need definitions to libxc for x86-64
This patch adds need definitions to xc_private.h so that libxc can be x86-64 enabled.
Signed-off-by Jerone Young <[email protected]>
Signature · 4 lines
Jerone Young IBM Linux Technology Center [email protected] 512-838-1157 (T/L: 678-1157)
tools/libxc/xc_private.h +30 -2
@@ -29,12 +29,25 @@#define _PAGE_PSE 0x080#define _PAGE_GLOBAL 0x100 - +#if defined(__i386__)#define L1_PAGETABLE_SHIFT 12#define L2_PAGETABLE_SHIFT 22 - +#elif defined(__x86_64__) +#define L1_PAGETABLE_SHIFT 12 +#define L2_PAGETABLE_SHIFT 21 +#define L3_PAGETABLE_SHIFT 30 +#define L4_PAGETABLE_SHIFT 39 +#endif + +#if defined(__i386__)#define ENTRIES_PER_L1_PAGETABLE 1024#define ENTRIES_PER_L2_PAGETABLE 1024 +#elif defined(__x86_64__) +#define L1_PAGETABLE_ENTRIES 512 +#define L2_PAGETABLE_ENTRIES 512 +#define L3_PAGETABLE_ENTRIES 512 +#define L4_PAGETABLE_ENTRIES 512 +#endif #define PAGE_SHIFT L1_PAGETABLE_SHIFT#define PAGE_SIZE (1UL << PAGE_SHIFT)
@@ -42,11 +55,26 @@typedef unsigned long l1_pgentry_t ;typedef unsigned long l2_pgentry_t ; +#if defined(__x86_64__) +typedef unsigned long l3_pgentry_t ; +typedef unsigned long l4_pgentry_t ; +#endif +#if defined(__i386__)#define l1_table_offset (_a) \ (((_a) >> L1_PAGETABLE_SHIFT) & (ENTRIES_PER_L1_PAGETABLE - 1))#define l2_table_offset (_a) \ ((_a) >> L2_PAGETABLE_SHIFT) +#elif defined(__x86_64__) +#define l1_table_offset (_a) \ + (((_a) >> L1_PAGETABLE_SHIFT) & (L1_PAGETABLE_ENTRIES - 1)) +#define l2_table_offset (_a) \ + (((_a) >> L2_PAGETABLE_SHIFT) & (L2_PAGETABLE_ENTRIES - 1)) +#define l3_table_offset (_a) \ + (((_a) >> L3_PAGETABLE_SHIFT) & (L3_PAGETABLE_ENTRIES - 1)) +#define l4_table_offset (_a) \ + (((_a) >> L4_PAGETABLE_SHIFT) & (L4_PAGETABLE_ENTRIES - 1)) +#endif #define ERROR(_m, _a...) \ fprintf(stderr, "ERROR: " _m "\n" , ## _a )
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
tools/libxc/xc_private.h line 50
Quoted 12 lines · Jerone Young
This patch adds need definitions to
xc_private.hso that libxc can be x86-64 enabled.tools/libxc/xc_private.h +7
-0+#if defined(__i386__)#define ENTRIES_PER_L1_PAGETABLE 1024#define ENTRIES_PER_L2_PAGETABLE 1024 +#elif defined(__x86_64__) +#define L1_PAGETABLE_ENTRIES 512 +#define L2_PAGETABLE_ENTRIES 512 +#define L3_PAGETABLE_ENTRIES 512 +#define L4_PAGETABLE_ENTRIES 512 +#endif
Why aren't these named consistently (all "ENTRIES_PER_Lx_PAGETABLE" or all "Lx_PAGETABLE_ENTRIES")?
Signature · 1 line
David Hopwood <[email protected]>