The Xen PVH boot protocol passes vital information to the kernel via
a start_info block. One of the data transferred is the physical address
of the RSDP table.

Unfortunately PVH support in the kernel didn't use that passed address
for RSDP, but relied on the legacy mechanism searching for the RSDP in
low memory. After a recent change in Xen putting the RSDP to a higher
address booting as PVH guest is now failing.

This small series repairs that by passing the RSDP address from the
start_info block to ACPI handling.

Changes in V3:
- instead of using a weak function add a function pointer to x86_init
  for obtaining the RSDP address

Juergen Gross (3):
  acpi: introduce acpi_arch_get_root_pointer() for getting rsdp address
  x86/acpi: add a new x86_init_acpi structure to x86_init_ops
  x86/xen: add pvh specific rsdp address retrieval function

 arch/x86/include/asm/acpi.h     |  7 +++++++
 arch/x86/include/asm/x86_init.h |  9 +++++++++
 arch/x86/kernel/x86_init.c      |  5 +++++
 arch/x86/xen/enlighten_pvh.c    | 14 +++++++++++---
 drivers/acpi/osl.c              |  5 ++++-
 include/linux/acpi.h            |  7 +++++++
 6 files changed, 43 insertions(+), 4 deletions(-)


Reply via email to