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

Re: [Xen-devel] extend shared_info stuct

>>> On 30.07.12 at 16:24, Kerti Csaba <csocskos@xxxxxxxxxxx> wrote:
> In my small experiment, I would like to extend the shared_info stuct of the 
> hypervisor in the xen/include/public/xen.h with few variables. I already made 
> a try, but I failed. I like to do this, because I want to store/read public 
> values between the guests and the domain0.
> I tried to add these fields to the end of the shared_info. I did âmakeâ it 
> and install it. (I avoid the size checker of the shared_info).

Avoiding the size checker is certainly a mistake - it's there for a

> As I know, the guest operation system should know this modification, so I 
> modified the guest op system at include/xen/interface/xen.h (ubuntu 11.04). I 
> was a bit surprised because the two interface (xen.h) was not the same, even 
> in the shared_info stuct there was some different (in the pvclock_wall wc 
> definition).
> The operation system of the domain0 should be changed as well ?? Just in 
> case I made the same modification. (ubuntu 12.04)
> I tried out the system with an already existing virtual machine to add it 
> with the xm create with the following variables:
> modified xen + modified dom0 kernel + modified guest kernel => failed to boot
> modified xen + original dom0 kernel + modified guest kernel => failed to boot
> modified xen + original dom0 kernel + original guest kernel => failed to boot

You fail to say what failed to boot - Dom0 or DomU.

> original xen + original dom0 kernel + original guest kernel => successfully 
> boot
> So my question is that how can I add extra fields to the shared_info?
> what do I need to modify in the guest kernel?
> do I need any modification in dom0?

Of course all modifications must be done uniformly to every
component using the PV ABI. Nothing else should be required,
provided you do the changes correctly (which includes not
extending the shared info structure beyond a page in size).

Perhaps the better approach for your purposes would be to
have the domains actively register a separate shared data
region with the hypervisor, similar to the extension of being
able to register the per-vCPU info area to a location outside
of the shared info page.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.