On Wed, May 16, 2012 at 06:47:55PM +0200, Paolo Bonzini wrote: > Il 16/05/2012 18:40, Gleb Natapov ha scritto: > > On Wed, May 16, 2012 at 05:50:31PM +0200, Paolo Bonzini wrote: > >> Il 16/05/2012 15:46, Gleb Natapov ha scritto: > >>> I saw that, but I don't get why doing it this way instead of defining > >>> the object in AML and patching it? I can define Name(S4VL, 0x2) and path > >>> 0x2 to whatever QEMU wants me to use, or I can patch Package directly > >>> like I did. > >>> > >> > >> Can we build an SSDT that includes the contents of fw_cfg (e.g. > >> FW_CFG_SIGNATURE at offset 0, FW_CFG_UUID at offset 4, FW_CFG_NOGRAPHIC > >> at offset 16... the entry <-> offset mapping and the defaults would be > >> part of SeaBIOS), and then read that data from normal DSDT methods? > > > > Kevin does not want to use offsets any more :) He wants to use files, so > > this will not work for new entries. > > Then we can have: > - a table in SeaBIOS with (filenames, expected length) pairs > - an ACPI table with a list of offsets for each file (-1 if file not > found or length < expected length), with the same indices as the > previous table > - and another blob with all the files concatenated > > The idea is the same, just pass the fw_cfg data to the DSDT and read it > from there. As long as Windows and Linux can cope with the more complex > AML, there is no need to do complicated patching IMO... > Why would we want to do that? We do not need 99% present of fw_cfg data in AML. There are exactly two cases, that appeared recently, where we need to patch AML according to fw_cfg and your proposal does not eliminate patching in one of those cases anyway. Namely we need to patch out _S3/_S4 from AML. You can't do that in AML itself.
> >> > >> That would be similar to Gerd's patch, but without letting the OSPM use > >> the real fw_cfg device. > >> > > Latest Gerd's patch does not use fw_cfg device. > > Yes, I meant the same as his first patch, not really the machanics of > creating the BDAT. > > Paolo -- Gleb.