[SeaBIOS] [PATCH 0/4] acpi: fix up EJ0 in DSDT

Michael S. Tsirkin mst at redhat.com
Mon Sep 26 15:13:52 CEST 2011


On Mon, Sep 26, 2011 at 08:36:41AM -0300, Marcelo Tosatti wrote:
> > If no we should just remove hotplug
> > macros for these two slots. Gleb, Marcelo, any preferences?
> 
> Currently they are hardcoded as not hotpluggable (as can be noted by
> the RMV macros), but its nice to retrieve that information from QEMU
> instead.

OK, so you ACK the patch below?

> > If we want to keep the option of making these slots hotpluggable
> > from qemu, it is still easy to fix the duplication. For example,
> > I could put ACPI_EXTRACT tags in VGA/ISA devices without
> > renaming them. But the easiest way is probably by using Scope.
> > See patch below.
> > 
> > 
> > >  It seems more straight-forward to just create
> > > the devices that are needed.
> > > 
> > > -Kevin
> > 
> > FWIW the acpi spec does mention that it's ok to describe
> > unoccupied slots.
> > 
> > ---->
> > 
> > Multiple device with the same _ADR relies on unspecified
> > behavior of ACPI. Fix DSDT so we always have a single device per slot.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> > 
> > -----
> > 
> > diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
> > index 055202b..305d2e5 100644
> > --- a/src/acpi-dsdt.dsl
> > +++ b/src/acpi-dsdt.dsl
> > @@ -260,8 +260,8 @@ DefinitionBlock (
> >      }
> >  
> >      Scope(\_SB.PCI0) {
> > -        Device (VGA) {
> > -                 Name (_ADR, 0x00020000)
> > +	/* VGA device */
> > +        Scope (S2) {
> >                   OperationRegion(PCIC, PCI_Config, Zero, 0x4)
> >                   Field(PCIC, DWordAcc, NoLock, Preserve) {
> >                           VEND, 32
> > @@ -282,13 +282,10 @@ DefinitionBlock (
> >                                   Return (0x00)
> >                           }
> >                   }
> > -                 Method(_RMV) { Return (0x00) }
> >          }
> >  
> >  	/* PIIX3 ISA bridge */
> > -        Device (ISA) {
> > -            Name (_ADR, 0x00010000)
> > -            Method(_RMV) { Return (0x00) }
> > +        Scope (S1) {
> >  
> >  
> >              /* PIIX PCI to ISA irq remapping */
> > @@ -486,7 +483,7 @@ DefinitionBlock (
> >  
> >      /* PCI IRQs */
> >      Scope(\_SB) {
> > -         Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve)
> > +         Field (\_SB.PCI0.S1.P40C, ByteAcc, NoLock, Preserve)
> >           {
> >               PRQ0,   8,
> >               PRQ1,   8,
> > 
> > -- 
> > MST



More information about the SeaBIOS mailing list