Re: [PATCH] hvmloader: write extra memory in CMOS

Jan Beulich
Tue, 12 Nov 2013 13:21:36 -0000

>>> On 12.11.13 at 13:37, Wei Liu <wei.liu2@citrix.com> wrote:
> On Tue, Nov 12, 2013 at 12:30:52PM +0000, Jan Beulich wrote:
>> >>> On 12.11.13 at 13:11, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
>> > Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> >>As it stands for HVM guests the e820 map is determined by
hvmloader, so
>> >>it makes sense for it to populate standard CMOS locations with
the
>> >>values they should have.
>> >
>> > CMOS has memory values? That is standard PC spec? Yikes!
>>
>> That''s the first time I hear about this - there are a couple
of more
>> or less standard locations in CMOS where some of the memory
>> gets reported, but all are at most two bytes wide and (having at
>> best 64k granularity) don''t allow expressing memory beyond
4Gb.
>>
>> Now, if there is a standard for the locations used here, fine with
>> me (but it should be referenced in the commit message then). But
>> if this is custom, then I wonder (a) how compatible such an
>> extension is going to be and (b) why it needs to be restricted to
>> 3 bytes (allowing to cover only up to 1Tb).
>>
>
> It''s not custom.
>
> AFAICT Boches reads this, seabios reads this (when not running on Xen)
> and OVMF reads this as well.

These are all non-traditional BIOSes, and a reasonably reliable
documentation aspect can''t be taken from their sources or
accompanying documentation.

> However in some CMOS maps I found those bytes are marked as reserved.

Exactly. The question is whether some _other_ BIOSes then use
these register for other purposes...

Jan