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

Re: [Xen-devel] set_current in Xen booting sequence



>>> On 03.12.12 at 08:36, maheen butt <maheen_butt26@xxxxxxxxx> wrote:
> Hi all,
> 
> I'm investigating Xen bootup sequence and I'm stuck with the function 
> set_current((struct vcpu *)0xfffff000);
> the high level idea is that it is assigning VCPU to physical CPU but I can't 
> understand the following 
> 
> 
> 1) what is the need of this hard coded address?  it is seemed that vcpu 
> exist on this address (but no idea who put vcpu on that particular 
> address)?
> (the same address is passed both in case of ARM and X86)

This is merely a debugging safeguard, making sure accesses
through "current" crash rather than going unnoticed.

> 2) no idea about what exactly get_cpu_info() (called by set_current) is 
> doing..  (logically doing & and or with sp register)?

It does what its name says - getting the cpu_info structure's
address for the current CPU. As that lives at the end of the
stack, arithmetic on the stack pointer it the appropriate thing
to do here.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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