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

Re: [Xen-devel] Bare-metal Xen on ARM boot



On Thu, 2013-04-25 at 12:02 +0100, Sander Bogaert wrote:
> On 25 April 2013 10:43, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> >
> > On Wed, 2013-04-24 at 10:39 +0100, Sander Bogaert wrote:
> >
> >
> > > I attached the code ( it's very small).
> >
> > This:
> > > .global hvcConsoleIO
> > > hvcConsoleIO:
> > >   PUSH {r12}
> > >   MOV  r12, #3
> > >   HVC  #0xEA1
> > >   POP  {r12}
> > >   BX   lr
> >
> > appears to be calling __HYPERVISOR_stack_switch which isn't a supported
> > hypercall on ARM.
> >
> > Perhaps you wanted:
> > #define __HYPERVISOR_console_io           18
> > ?
> 
> I was getting the number from xen/arch/arm/traps.c:706 ''call =
> arm_hypercall_table[regs->r12].fn;" and the arm_hypercall_table in the
> same file. It should have been #4 by that reasoning I know.

That macro is such that the fact that something appears at position N In
the list doesn't mean it is position N in the resulting array, it
expands into the syntax
array[] = {
        [1] = a_thing
        [4] = another_thing
}
which initialises slots 1 and 4.

> 
> >
> > Also r12 is defined to be clobbered by any function call, so you don't
> > really need to save it I don't think.
> >
> > The only thing you should need to save when making a hypercall is r4 and
> > only if you are making a 5 argument hypercall.
> 
> Thanks, I'll change this.
> 
> >
> >
> > Ian.
> >
> >
> >
> 
> Also, I was trying an ELF file. I will try again tomorrow with a
> zImage header and report back.
> 
> Thanks,
> Sander



_______________________________________________
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®.