[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |