From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>,
"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
xen-devel <xen-devel@lists.xenproject.org>,
"Wei Liu" <wei.liu2@citrix.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
"Tim Deegan" <tim@xen.org>,
"Paul Durrant" <paul.durrant@citrix.com>,
"David Vrabel" <david.vrabel@citrix.com>,
"Jan Beulich" <JBeulich@suse.com>
Subject: Re: HVMlite ABI specification DRAFT A
Date: Thu, 4 Feb 2016 15:17:21 -0500 [thread overview]
Message-ID: <56B3B1D1.7070705@oracle.com> (raw)
In-Reply-To: <56B3A4B4.20607@citrix.com>
On 02/04/2016 02:21 PM, Roger Pau Monné wrote:
> El 4/2/16 a les 19:51, Samuel Thibault ha escrit:
>> Boris Ostrovsky, on Thu 04 Feb 2016 13:38:02 -0500, wrote:
>>> On 02/04/2016 12:48 PM, Roger Pau Monné wrote:
>>>> The format of the boot start info structure is the following (pointed to
>>>> be %ebx):
>>>>
>>>> struct hvm_start_info {
>>>> #define HVM_START_MAGIC_VALUE 0x336ec578
>>>> uint32_t magic; /* Contains the magic value 0x336ec578 */
>>>> /* ("xEn3" with the 0x80 bit of the "E" set).*/
>>>> uint32_t flags; /* SIF_xxx flags. */
>>>> uint32_t cmdline_paddr; /* Physical address of the command line. */
>>>> uint32_t nr_modules; /* Number of modules passed to the kernel. */
>>>> uint32_t modlist_paddr; /* Physical address of an array of */
>>>> /* hvm_modlist_entry. */
>>>> };
>>>>
>>>> struct hvm_modlist_entry {
>>>> uint32_t paddr; /* Physical address of the module. */
>>>> uint32_t size; /* Size of the module in bytes. */
>>>> };
>>> If there is more than one module, how is the guest expected to sort out
>>> which module is what?
> In general I was expecting this would be done by position, or if that's
> not enough an additional module (at either position 0 or n) should be
> passed to contain that information.
Then we should specify it somehow --- e.g. that first module is always
the ramdisk.
>> +1
>> We need that to pass parameters to gnumach modules.
> Hm, parameters as in a string that's paired with a module, or something
> more complex like a metadata block?
>
> I see that multiboot provides a string associated with each module, we
> could do the same IMHO. I'm fine with adding it to the boot ABI, but I
> would prefer if someone with access to such an OS does the actual
> implementation of this feature.
>
> Just to be clear that we are on the same page, then the _entry struct
> becomes:
>
> struct hvm_modlist_entry {
> uint32_t paddr;
> uint32_t size;
> uint32_t cmdline_paddr;
> };
>
> cmdline_paddr would work the same way as it does in the hvm_start_info
> struct (ie: physical address of a zero-terminated ASCII string).
Doesn't this imply that strings should be part of this spec? Line "initrd"?
-boris
>
> I think I'm going to re-write this in binary form (getting rid of the
> structs), or else people are going to get the implementation wrong due
> to paddings.
>
> Roger.
>
next prev parent reply other threads:[~2016-02-04 20:17 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-04 17:48 HVMlite ABI specification DRAFT A Roger Pau Monné
2016-02-04 18:22 ` Andrew Cooper
2016-02-04 19:33 ` Roger Pau Monné
2016-02-04 20:24 ` Boris Ostrovsky
2016-02-05 14:44 ` Ian Campbell
2016-02-05 14:46 ` Roger Pau Monné
2016-02-05 9:12 ` Jan Beulich
2016-02-05 9:50 ` Roger Pau Monné
2016-02-05 10:40 ` Jan Beulich
2016-02-05 11:04 ` Andrew Cooper
2016-02-05 11:07 ` Jan Beulich
2016-02-05 11:30 ` Roger Pau Monné
2016-02-05 11:45 ` Jan Beulich
2016-02-05 11:50 ` Roger Pau Monné
2016-02-05 13:22 ` Jan Beulich
2016-02-05 14:27 ` Roger Pau Monné
2016-02-05 14:31 ` Jan Beulich
2016-02-05 15:00 ` Roger Pau Monné
2016-02-05 15:29 ` Jan Beulich
2016-02-05 15:35 ` Roger Pau Monné
2016-02-04 18:38 ` Boris Ostrovsky
2016-02-04 18:51 ` Samuel Thibault
2016-02-04 19:21 ` Roger Pau Monné
2016-02-04 20:17 ` Boris Ostrovsky [this message]
2016-02-04 20:29 ` Konrad Rzeszutek Wilk
2016-02-04 20:37 ` Andrew Cooper
2016-02-05 8:23 ` Roger Pau Monné
2016-02-04 22:23 ` Samuel Thibault
2016-02-04 19:09 ` Samuel Thibault
2016-02-04 19:18 ` Boris Ostrovsky
2016-02-04 22:21 ` Samuel Thibault
2016-02-04 22:25 ` Andrew Cooper
2016-02-04 22:41 ` Samuel Thibault
2016-02-05 10:20 ` Ian Campbell
2016-02-05 16:01 ` Tim Deegan
2016-02-05 16:13 ` Roger Pau Monné
2016-02-05 17:14 ` Andrew Cooper
2016-02-05 18:05 ` Tim Deegan
2016-02-05 18:44 ` Andrew Cooper
2016-02-08 12:10 ` Stefano Stabellini
2016-02-08 13:21 ` David Vrabel
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=56B3B1D1.7070705@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=paul.durrant@citrix.com \
--cc=roger.pau@citrix.com \
--cc=samuel.thibault@ens-lyon.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).