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

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



On Fri, 26 Apr 2013, Sander Bogaert wrote:
> >> 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.
> 
> Thanks, I overlooked that.
> 
> >>
> >> Also, I was trying an ELF file. I will try again tomorrow with a
> >> zImage header and report back.
> >>
> >> Thanks,
> >> Sander
> >
> >
> 
> ELF does seem to be supported but then it gets stuck further down in
> domain builder code ( I also attached the entire output) :
> 
> domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-unknown:
> 0x80000000 -> 0x80010010
> xc: error: panic: xc_dom_core.c:608: xc_dom_find_arch_hooks: not found
> (type xen-3.0-unknown): Invalid kernel
> xc: error: panic: xc_dom_core.c:763: xc_dom_mem_init: arch hooks not
> set: Internal error
> libxl: error: libxl_dom.c:384:libxl__build_pv: xc_dom_mem_init failed:
> No such file or directory
> 
> The vmlinux binary ( elf ) doesn't boot neither and has the same
> problem. Could it have something to do with:
> "xc: detail: elf_xen_note_check: Not bothering with notes on ARM"
> Missing metadata?
> 
> I'll focus on getting an zImage working.

The problem seems to be that dom->guest_type is set to
"xen-3.0-unknown" by xc_dom_guest_type at the end of
xc_dom_parse_elf_kernel.
In order to match the ARMv7 supported guest_type it should have been
"xen-3.0-armv7l", as you can see from
xc_dom_armzimageloader.c:xc_dom_parse_zimage_kernel.

Maybe we just need to add the appropriate case in the switch in
xc_dom_guest_type (see below)?



diff --git a/tools/libxc/xc_dom_elfloader.c b/tools/libxc/xc_dom_elfloader.c
index 6583859..911f316 100644
--- a/tools/libxc/xc_dom_elfloader.c
+++ b/tools/libxc/xc_dom_elfloader.c
@@ -74,6 +74,8 @@ static char *xc_dom_guest_type(struct xc_dom_image *dom,
         }
     case EM_X86_64:
         return "xen-3.0-x86_64";
+    case EM_ARM:
+        return "xen-3.0-armv7l";
     default:
         return "xen-3.0-unknown";
     }

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