From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: [PATCH] add need definitions to libxc for x86-64 Date: Tue, 17 May 2005 11:59:35 -0500 Message-ID: <1116349175.7641.3.camel@thinkpad> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-6hCz34NJBVfr7LyIYrNe" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel List-Id: xen-devel@lists.xenproject.org --=-6hCz34NJBVfr7LyIYrNe Content-Type: text/plain Content-Transfer-Encoding: 7bit This patch adds need definitions to xc_private.h so that libxc can be x86-64 enabled. Signed-off-by: Jerone Young -- Jerone Young IBM Linux Technology Center jyoung5@us.ibm.com 512-838-1157 (T/L: 678-1157) --=-6hCz34NJBVfr7LyIYrNe Content-Disposition: attachment; filename=libxc_x64_xc_private_patch.diff Content-Type: text/x-patch; name=libxc_x64_xc_private_patch.diff; charset=UTF-8 Content-Transfer-Encoding: 7bit --- xen-unstable.orig/tools/libxc/xc_private.h 2005-03-18 22:33:27.000000000 -0600 +++ xen-unstable/tools/libxc/xc_private.h 2005-03-19 19:30:35.000000000 -0600 @@ -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 ) --=-6hCz34NJBVfr7LyIYrNe Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --=-6hCz34NJBVfr7LyIYrNe--