[SeaBIOS] [PATCH V4 2/8] Provide ACPI SSDT table for TPM device + S3 resume support

Kevin O'Connor kevin at koconnor.net
Thu May 19 01:44:02 CEST 2011

On Wed, May 18, 2011 at 03:49:25PM -0400, Stefan Berger wrote:
> On 04/12/2011 09:32 AM, Stefan Berger wrote:
> >+
> >+static u32 add_tpm_device(void **tpm_addr, void **tcpa_addr)
> >+{
> >+    struct tcpa_descriptor_rev2 *tcpa;
> >+
> >+    *tpm_addr = NULL;
> >+    *tcpa_addr = NULL;
> >+
> >+    if (has_working_tpm()) {
> >+        u32 laml = 64 * 1024;
> Kevin,
>   the above line prepares 64 kb to be allocated for an ACPI table.
> It works fine if booting a VM from an image. However, when passing
> the kernel, initrd and command line parameters to Qemu directly
> (-kernel, -append, ..), the 64kb above seem to be too much -- I see
> errors in the Linux kernel's dmesg when Linux tries to access the
> ACPI tables. Lowering the above to 48kb (happens to) makes it work.
> I am wondering whether something is copying into the ACPI area or
> what else may be the reason - do you know?

I don't know of any reason why that would fail.  You can print out the
address and compare it to the e820 map that SeaBIOS outputs and verify
it is properly reserved.

Does increasing the amount of guest system ram help?

BTW, is this just a buffer or could the size be dynamically


More information about the SeaBIOS mailing list