[SeaBIOS] 1TB Guest changes to receive phys bits >=40

Laszlo Ersek lersek at redhat.com
Mon Jun 11 22:01:26 CEST 2018


On 06/11/18 15:52, Gerd Hoffmann wrote:
>   Hi,
>
>> The change [2] itself is rather old, so I wondered if I'm missing
>> that this was implemented in a totally different way. Do I have to
>> switch/set options these days instead of using that patch?
>
> It should just work.  qemu passes ram regions to the firmware using
> fw_cfg (etc/e820) these days, and both seabios and ovmf support this
> for years already.

Small pedantic correction (not affecting the core statement): OVMF has
supported >=1TB guests only since commit 1fceaddb12b5
("OvmfPkg/PlatformPei: support >=1TB high RAM, and discontiguous high
RAM", 2017-08-05) [1] [2].

And, enabling such with -D SMM_REQUIRE had taken surprisingly messy
pre-requisites; see [3]. Large guest RAM requires guest firmware (that
intends to identity map all of that RAM) to build large page tables. For
SMM, a separate set of page tables is built in SMRAM (TSEG); however,
TSEG used to be limited. This was one of the reasons we had to introduce
"extended TSEG", for exposing which libvirt has gained support just a
few days ago [4].

[1] https://github.com/tianocore/edk2/commit/1fceaddb12b5
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1468526#c19
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1447027#c20
[4] https://bugzilla.redhat.com/show_bug.cgi?id=1469338#c22

Thanks
Laszlo



More information about the SeaBIOS mailing list