All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: edk2-devel@lists.sourceforge.net, xen-devel@lists.xen.org
Subject: Re: Passing Xen memory map and resource map to OVMF
Date: Wed, 13 Nov 2013 10:38:04 +0000	[thread overview]
Message-ID: <1384339084.5406.44.camel@kazak.uk.xensource.com> (raw)
In-Reply-To: <20131112183321.GN13369@zion.uk.xensource.com>

On Tue, 2013-11-12 at 18:33 +0000, Wei Liu wrote:
> Hi all
> 
> Currently OVMF determines memory size by consulting CMOS, then it makes
> up memory map of its own.
> 
> Consulting memory size by reading CMOS limits the RAM size to 1TB as
> there's only 3 bytes from 0x5b-0x5d in CMOS, where the upper memory size
> is stored.
> 
> And from Xen's point of view, OVMF should use the memory mapped passed
> by hypervisor (from hvmloader) instead of making up its own.
> 
> To solve the above two problems all in one go, I plan to pass necessary
> information (io resource, mmio resource) to OVMF from Xen.  I will
> construct the table / structure in hvmloader then hook up platform pei
> code when OVMF is running on Xen.

FWIW when hvmloader launches SeaBIOS it passes this stuff in a struct at
a known location:

struct xen_seabios_info {
    char signature[14]; /* XenHVMSeaBIOS\0 */
    u8 length;     /* Length of this struct */
    u8 checksum;   /* Set such that the sum over bytes 0..length == 0 */
    /*
     * Physical address of an array of tables_nr elements.
     *
     * Each element is a 32 bit value contianing the physical address
     * of a BIOS table.
     */
    u32 tables;
    u32 tables_nr;
    /*
     * Physical address of the e820 table, contains e820_nr entries.
     */
    u32 e820;
    u32 e820_nr;
} PACKED;

The e820 is not self identifiable so it gets its own field. The "tables"
are the ACPI RSDP, the mptables, the smbios tables and the PIR tables.
SeaBIOS iterates over these and identifies them by their unique
signature, ignoring any which it doesn't understand for forwards
compatibility.

I don't know which if any of those tables are suitable to be passed into
OVMF, I guess some of them are legacy BIOS things...

But the general shape of the scheme is probably worth following...

Ian.

  parent reply	other threads:[~2013-11-13 10:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20131112183321.GN13369@zion.uk.xensource.com>
2013-11-12 19:05 ` [edk2] Passing Xen memory map and resource map to OVMF Laszlo Ersek
     [not found] ` <52827C0B.5040901@redhat.com>
2013-11-12 19:20   ` Laszlo Ersek
2013-11-13  7:03   ` Gerd Hoffmann
     [not found]   ` <1384326219.3560.9.camel@nilsson.home.kraxel.org>
2013-11-13 11:58     ` Wei Liu
     [not found]     ` <20131113115811.GC4948@zion.uk.xensource.com>
2013-11-13 13:53       ` Gerd Hoffmann
     [not found]       ` <1384350814.3560.24.camel@nilsson.home.kraxel.org>
2013-11-13 14:06         ` Wei Liu
     [not found]         ` <20131113140654.GF4948@zion.uk.xensource.com>
2013-11-13 14:23           ` Gerd Hoffmann
     [not found]           ` <1384352585.3560.36.camel@nilsson.home.kraxel.org>
2013-11-13 16:56             ` Wei Liu
     [not found]             ` <20131113165644.GA16969@zion.uk.xensource.com>
2013-11-14  7:58               ` Gerd Hoffmann
     [not found]               ` <1384415898.15534.15.camel@nilsson.home.kraxel.org>
2013-11-14 10:47                 ` Wei Liu
2013-11-14 11:06                 ` Laszlo Ersek
     [not found]                 ` <20131114104738.GB23151@zion.uk.xensource.com>
2013-11-14 11:19                   ` Gerd Hoffmann
     [not found]                 ` <5284AEA4.6090004@redhat.com>
2013-11-14 16:42                   ` Andrew Fish
     [not found]                   ` <746A3CCD-E629-4AD5-9889-3BC89A7814F9@apple.com>
2013-11-15  7:18                     ` Gerd Hoffmann
2013-11-15 14:26                     ` Wei Liu
2013-11-13 16:51         ` Konrad Rzeszutek Wilk
2013-11-13 16:47     ` Konrad Rzeszutek Wilk
2013-11-12 19:22 ` Konrad Rzeszutek Wilk
2013-11-13 10:34   ` Ian Campbell
2013-11-12 19:51 ` Jordan Justen
2013-11-13 10:38 ` Ian Campbell [this message]
     [not found] ` <CAFe8ug92_AUd45s3MNA19nz-etSK-aZxKTqdsskFqDX9BBdTjA@mail.gmail.com>
2013-11-13 11:59   ` Wei Liu
2013-11-12 18:33 Wei Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1384339084.5406.44.camel@kazak.uk.xensource.com \
    --to=ian.campbell@citrix.com \
    --cc=edk2-devel@lists.sourceforge.net \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.