[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/2] firmware, Change ACPI IO values to match QEMU BIOS.
Looks okay. This can be checked in at the same time as the qemu patch, plus QEMU_TAG update. Acked-by: Keir Fraser <keir@xxxxxxx> -- Keir On 09/11/2010 15:34, "anthony.perard@xxxxxxxxxx" <anthony.perard@xxxxxxxxxx> wrote: > From: Anthony PERARD <anthony.perard@xxxxxxxxxx> > > As part of the QEMU/Xen merge, this patch comes to change the value of > sleep states and add some information in the PCI registers to match the > implementation of the BIOS of QEMU. > > It also does a hypercall (HVM_PARAM_ACPI_IOPORTS_LOCATION) that tell the > Xen to use the new Port I/O instead of the old one. > > Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> > --- > tools/firmware/hvmloader/acpi/dsdt.asl | 12 ++++++------ > tools/firmware/hvmloader/hvmloader.c | 11 +++++++++++ > 2 files changed, 17 insertions(+), 6 deletions(-) > > diff --git a/tools/firmware/hvmloader/acpi/dsdt.asl > b/tools/firmware/hvmloader/acpi/dsdt.asl > index 03799d3..ea8e324 100644 > --- a/tools/firmware/hvmloader/acpi/dsdt.asl > +++ b/tools/firmware/hvmloader/acpi/dsdt.asl > @@ -33,22 +33,22 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, "Xen", "HVM", 0) > */ > Name (\_S3, Package (0x04) > { > - 0x05, /* PM1a_CNT.SLP_TYP */ > - 0x05, /* PM1b_CNT.SLP_TYP */ > + 0x01, /* PM1a_CNT.SLP_TYP */ > + 0x01, /* PM1b_CNT.SLP_TYP */ > 0x0, /* reserved */ > 0x0 /* reserved */ > }) > Name (\_S4, Package (0x04) > { > - 0x06, /* PM1a_CNT.SLP_TYP */ > - 0x06, /* PM1b_CNT.SLP_TYP */ > + 0x00, /* PM1a_CNT.SLP_TYP */ > + 0x00, /* PM1b_CNT.SLP_TYP */ > 0x00, /* reserved */ > 0x00 /* reserved */ > }) > Name (\_S5, Package (0x04) > { > - 0x07, /* PM1a_CNT.SLP_TYP */ > - 0x07, /* PM1b_CNT.SLP_TYP */ > + 0x00, /* PM1a_CNT.SLP_TYP */ > + 0x00, /* PM1b_CNT.SLP_TYP */ > 0x00, /* reserved */ > 0x00 /* reserved */ > }) > diff --git a/tools/firmware/hvmloader/hvmloader.c > b/tools/firmware/hvmloader/hvmloader.c > index c4c5ddc..bf23f80 100644 > --- a/tools/firmware/hvmloader/hvmloader.c > +++ b/tools/firmware/hvmloader/hvmloader.c > @@ -31,6 +31,7 @@ > #include "option_rom.h" > #include <xen/version.h> > #include <xen/hvm/params.h> > +#include <xen/hvm/ioreq.h> > #include <xen/memory.h> > > asm ( > @@ -222,9 +223,12 @@ static void pci_setup(void) > /* PIIX4 ACPI PM. Special device with special PCI config space. > */ > ASSERT((vendor_id == 0x8086) && (device_id == 0x7113)); > pci_writew(devfn, 0x20, 0x0000); /* No smb bus IO enable */ > + pci_writew(devfn, 0xd2, 0x0000); /* No smb bus IO enable */ > pci_writew(devfn, 0x22, 0x0000); > pci_writew(devfn, 0x3c, 0x0009); /* Hardcoded IRQ9 */ > pci_writew(devfn, 0x3d, 0x0001); > + pci_writel(devfn, 0x40, ACPI_PM1A_EVT_BLK_ADDRESS | 1); > + pci_writeb(devfn, 0x80, 0x01); /* enable PM io space */ > break; > case 0x0101: > if ( vendor_id == 0x8086 ) > @@ -759,8 +763,15 @@ int main(void) > > if ( hvm_info->acpi_enabled ) > { > + struct xen_hvm_param p = { > + .domid = DOMID_SELF, > + .index = HVM_PARAM_ACPI_IOPORTS_LOCATION, > + .value = 1, > + }; > + > printf("Loading ACPI ...\n"); > acpi_build_tables(); > + hypercall_hvm_op(HVMOP_set_param, &p); > } > > init_vm86_tss(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |