On Wed, May 29, 2013 at 11:42:34AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> >>> possible complexity of having to regenerate
> >>> tables on a vm reboot,
> >>
> >> Why tables should be regenerated at reboot?  I remember hotplug being
> >> mentioned in the call.  Hmm?  Which hotplugged component needs acpi
> >> table updates to work properly?  And what is the point of hotplugging if
> >> you must reboot the guest anyway to get the acpi updates needed?
> >> Details please.
> > 
> > I think it's a mistake. I sent a mail explaining this part.
> 
> Saw it meanwhile.
> 
> >> Also mentioned in the call: "architectural reasons", which I understand
> >> as "real hardware works that way".  Correct.
> > 
> > Not exactly. Real hardware is very likely to have
> > most of the tables pre-generated in ROM, load
> > them and tweak them in the minor way.
> 
> >From a quick look it seems coreboot has a static (iasl-compiled) dsdt
> and generates everything else.
> 
> http://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/mainboard/emulation/qemu-x86/acpi_tables.c
> 
> >> Agree on this one.  Ideally the acpi table generation code should be
> >> able to gather all information it needs from the qom tree, so it can be
> >> a standalone C file instead of being scattered over all qemu.
> > 
> > Did you look at the patchset I posted?
> 
> Very briefly only.
> 
> > Generation is in a standalone C file there.
> 
> Good.
> 
> > However, if you mean we should do things like
> > 
> > if (Device_id == foobar) {
> > }
> > in once central place, I disagree.
> > I think that's nasty, adding devices would
> > mean touching this central registry.
> 
> No, I mean more "lookup PIIX4_PM object + check disable_s3 property"
> instead of having code for it in hw/acpi/piix4.c or using global variables.
> 
> cheers,
>   Gerd

So that would make code PIIX specific.
Instead I'm passing in guest_info structure to each object
and that describes itself, e.g. sets disable_s3.

-- 
MST

Reply via email to