|
[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 |