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...
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