qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] allocation zone extensions for the firmware linker/load


From: Stefan Berger
Subject: Re: [Qemu-devel] allocation zone extensions for the firmware linker/loader
Date: Sat, 3 Jun 2017 10:26:27 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 06/02/2017 07:20 PM, Laszlo Ersek wrote:
On 06/02/17 18:30, Michael S. Tsirkin wrote:
On Fri, Jun 02, 2017 at 05:45:21PM +0200, Laszlo Ersek wrote:
Hi,

this message is cross-posted to three lists (qemu, seabios, edk2). I'll
follow up with three patch series, one series for each project. I'll
cross-post all of the patches as well, but I'll add the project name in
the "bag of tags" in the subject lines.

The QEMU series introduces two extensions to the ALLOCATE firmware
linker/loader command.

One extension is a new allocation zone, with value 3, for allowing the
firmware to allocate the fw_cfg blobs in 64-bit address space.
Seems to make sense. I guess it's safe to do this if no
pointers to this table are 32 bit, right?
That's right. For example, the TCPA patch (6 of 7) in the QEMU series
does this, because the ACPI_BUILD_TPMLOG_FILE is only referenced by a
64-bit pointer.

Is there a chance we'll ever be able to use this on PC
assuming the need to support 32 bit guests?
Well, sticking with the TCPA example, if an ACPI table defines *only* an
8-byte pointer to some memory area, that seems to preclude support for
32-bit guests already, generally speaking, no?

I just tested this, giving 8G of memory to a VM and running i386 Fedora in it. The memory allocated for the TCPA log seems to be in 32bit memory, so not out of reach of i386 guests. I guess it's important what the firmware does with it, whether it strictly follows the 64bit and allocates memory as far up as possible or provides compatibility. SeaBIOS (1.10.0) seems to do the right thing.

   Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]