[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [PATCH] VP model doesn't pass the whole ACPI table to dom0
Hi Alex, Good work! Your patch works well on the PRIMEQUEST. Now ASSIGN_DOMAIN_MACH_PAGE in dom_fw.c is redundant and the attached patch should be applied. It removes the xen console message: "__assign_domain_page: mpaddr XXXX already mapped!". Thanks a lot, Kouya Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> Alex Williamson writes: > Hi Kouya, > > Here's a different approach that might be more clean. Newer upstream > kernels have changed EFI MDT parsing so that it doesn't change the > original EFI table. Here's a reference to the upstream changeset: > > http://www.kernel.org/hg/linux-2.6/?cs=fb781f6d3e81 > > The attached patch is a port of this to xen. Does this improve things > on the PRIMEQUEST? The nice part about this is that it doesn't add any > new Xen specific code to the linux-xen files. Thanks, > > Alex diff -r 4e78528e3480 xen/arch/ia64/xen/dom_fw.c --- a/xen/arch/ia64/xen/dom_fw.c Tue Jun 06 09:11:25 2006 -0600 +++ b/xen/arch/ia64/xen/dom_fw.c Thu Jun 08 14:31:16 2006 +0900 @@ -594,18 +594,11 @@ dom_fw_init (struct domain *d, const cha efi_tables[i].table = 0; } if (d == dom0) { -#ifdef CONFIG_XEN_IA64_DOM0_VP -# define ASSIGN_DOMAIN_MACH_PAGE(d, p) \ - assign_domain_mach_page((d), (p), PAGE_SIZE, ASSIGN_readonly) -#else -# define ASSIGN_DOMAIN_MACH_PAGE(d, p) (p) -#endif - printf("Domain0 EFI passthrough:"); i = 1; if (efi.mps) { efi_tables[i].guid = MPS_TABLE_GUID; - efi_tables[i].table = ASSIGN_DOMAIN_MACH_PAGE(d, __pa(efi.mps)); + efi_tables[i].table = __pa(efi.mps); printf(" MPS=0x%lx",efi_tables[i].table); i++; } @@ -614,25 +607,25 @@ dom_fw_init (struct domain *d, const cha if (efi.acpi20) { efi_tables[i].guid = ACPI_20_TABLE_GUID; - efi_tables[i].table = ASSIGN_DOMAIN_MACH_PAGE(d, __pa(efi.acpi20)); + efi_tables[i].table = __pa(efi.acpi20); printf(" ACPI 2.0=0x%lx",efi_tables[i].table); i++; } if (efi.acpi) { efi_tables[i].guid = ACPI_TABLE_GUID; - efi_tables[i].table = ASSIGN_DOMAIN_MACH_PAGE(d, __pa(efi.acpi)); + efi_tables[i].table = __pa(efi.acpi); printf(" ACPI=0x%lx",efi_tables[i].table); i++; } if (efi.smbios) { efi_tables[i].guid = SMBIOS_TABLE_GUID; - efi_tables[i].table = ASSIGN_DOMAIN_MACH_PAGE(d, __pa(efi.smbios)); + efi_tables[i].table = __pa(efi.smbios); printf(" SMBIOS=0x%lx",efi_tables[i].table); i++; } if (efi.hcdp) { efi_tables[i].guid = HCDP_TABLE_GUID; - efi_tables[i].table = ASSIGN_DOMAIN_MACH_PAGE(d, __pa(efi.hcdp)); + efi_tables[i].table = __pa(efi.hcdp); printf(" HCDP=0x%lx",efi_tables[i].table); i++; } _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |