[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [IA64] IA64_GRANT_TABLE_PADDR



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID f517be67eeac35c3418de79588e67762eafa409e
# Parent  11325d1c412cdf93be0e1dc0f4c8de6de0420229
[IA64] IA64_GRANT_TABLE_PADDR

IA64_GRANT_TABLE_PADDR constant added to avoid use of hard-coded value.
translate_domain_pte uses it as well as ORDER_GRANT_FRAMES to filter error
message.

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r 11325d1c412c -r f517be67eeac xen/arch/ia64/xen/dom_fw.c
--- a/xen/arch/ia64/xen/dom_fw.c        Wed Mar 22 10:04:43 2006 -0700
+++ b/xen/arch/ia64/xen/dom_fw.c        Thu Mar 23 13:19:14 2006 -0700
@@ -20,7 +20,7 @@
 #include <asm/dom_fw.h>
 #include <public/sched.h>
 
-static struct ia64_boot_param *dom_fw_init(struct domain *, char *,int,char 
*,int);
+static struct ia64_boot_param *dom_fw_init(struct domain *, const char 
*,int,char *,int);
 extern unsigned long domain_mpa_to_imva(struct domain *,unsigned long mpaddr);
 extern struct domain *dom0;
 extern unsigned long dom0_start;
@@ -553,7 +553,7 @@ dom_fw_fake_acpi(struct domain *d, struc
 }
 
 static struct ia64_boot_param *
-dom_fw_init (struct domain *d, char *args, int arglen, char *fw_mem, int 
fw_mem_size)
+dom_fw_init (struct domain *d, const char *args, int arglen, char *fw_mem, int 
fw_mem_size)
 {
        efi_system_table_t *efi_systab;
        efi_runtime_services_t *efi_runtime;
diff -r 11325d1c412c -r f517be67eeac xen/arch/ia64/xen/process.c
--- a/xen/arch/ia64/xen/process.c       Wed Mar 22 10:04:43 2006 -0700
+++ b/xen/arch/ia64/xen/process.c       Thu Mar 23 13:19:14 2006 -0700
@@ -98,9 +98,16 @@ unsigned long translate_domain_pte(unsig
                }
        }
        else if ((mpaddr >> PAGE_SHIFT) > d->max_pages) {
-               if ((mpaddr & ~0x1fffL ) != (1L << 40))
-               printf("translate_domain_pte: bad mpa=0x%lx (> 
0x%lx),vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n",
-                       mpaddr, (unsigned long) d->max_pages<<PAGE_SHIFT, 
address, pteval, itir);
+               /* Address beyond the limit.  However the grant table is
+                  also beyond the limit.  Display a message if not in the
+                  grant table.  */
+               if (mpaddr >= IA64_GRANT_TABLE_PADDR
+                   && mpaddr < (IA64_GRANT_TABLE_PADDR 
+                                + (ORDER_GRANT_FRAMES << PAGE_SHIFT)))
+                       printf("translate_domain_pte: bad mpa=0x%lx (> 0x%lx),"
+                              "vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n",
+                              mpaddr, (unsigned long)d->max_pages<<PAGE_SHIFT,
+                              address, pteval, itir);
                tdpfoo();
        }
        pteval2 = lookup_domain_mpa(d,mpaddr);
diff -r 11325d1c412c -r f517be67eeac xen/include/asm-ia64/grant_table.h
--- a/xen/include/asm-ia64/grant_table.h        Wed Mar 22 10:04:43 2006 -0700
+++ b/xen/include/asm-ia64/grant_table.h        Thu Mar 23 13:19:14 2006 -0700
@@ -14,11 +14,14 @@
 
 #define gnttab_create_shared_page(d, t, i) ((void)0)
 
+/* Guest physical address of the grant table.  */
+#define IA64_GRANT_TABLE_PADDR (1UL << 40)
+
 #define gnttab_shared_gmfn(d, t, i)                                     \
     ( ((d) == dom0) ?                                                   \
       ((virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i)) :              \
-      (assign_domain_page((d), 1UL<<40, virt_to_maddr((t)->shared)),       \
-       1UL << (40 - PAGE_SHIFT))                                        \
+      (assign_domain_page((d), IA64_GRANT_TABLE_PADDR,                         
\
+       virt_to_maddr((t)->shared)), IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) \
     )
 
 #define gnttab_log_dirty(d, f) ((void)0)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.