Re: [SeaBIOS] [PATCH 2/2] Get system state configuration from QEMU and patcth DSDT with it.

2012-05-17 Thread Paolo Bonzini
Il 17/05/2012 02:24, Kevin O'Connor ha scritto:
  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?
  
  That would be similar to Gerd's patch, but without letting the OSPM use
  the real fw_cfg device.
 I'm not sure I understand your proposal.  Are you suggesting reading
 every fw_cfg port into memory and then passing that memory into an
 SSDT?  If so, that wouldn't be easy (we don't necessarily know the
 size of each port) and could potentially waste a lot of memory
 (think a vmlinuz stored in fw_cfg).

No, only entries and/or files that are needed by the DSDT (PCI region
and sleep data).

Paolo

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] [PATCH 2/2] Get system state configuration from QEMU and patcth DSDT with it.

2012-05-16 Thread Paolo Bonzini
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?

That would be similar to Gerd's patch, but without letting the OSPM use
the real fw_cfg device.

Paolo

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] [PATCH 2/2] Get system state configuration from QEMU and patcth DSDT with it.

2012-05-16 Thread Paolo Bonzini
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

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] [PATCH 2/2] Get system state configuration from QEMU and patcth DSDT with it.

2012-05-16 Thread Gleb Natapov
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.

 
 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. It creates AML code
manually, I am saying we can do the same by patching, but the end result
will be the same.

--
Gleb.

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios


Re: [SeaBIOS] [PATCH 2/2] Get system state configuration from QEMU and patcth DSDT with it.

2012-05-16 Thread Kevin O'Connor
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?
 
 That would be similar to Gerd's patch, but without letting the OSPM use
 the real fw_cfg device.

I'm not sure I understand your proposal.  Are you suggesting reading
every fw_cfg port into memory and then passing that memory into an
SSDT?  If so, that wouldn't be easy (we don't necessarily know the
size of each port) and could potentially waste a lot of memory
(think a vmlinuz stored in fw_cfg).

-Kevin

___
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios