[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/arm: build as zImage
On Fri, 2012-11-23 at 15:45 +0000, Stefano Stabellini wrote: > The zImage format is extremely simple: it only consists of a magic > number and 2 addresses in a specific position (see > http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html#d0e309). > > Some bootloaders expect a zImage; considering that it doesn't cost us > much to build Xen compatible with the format, make it so. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > > diff --git a/xen/arch/arm/head.S b/xen/arch/arm/head.S > index 25c4cfe..de9cdb2 100644 > --- a/xen/arch/arm/head.S > +++ b/xen/arch/arm/head.S > @@ -22,6 +22,9 @@ > #include <asm/processor-ca15.h> > #include <asm/asm_defns.h> > > +#define ZIMAGE_MAGIC_NUMBER 0x016f2818 > +#define XEN_PHYS_ADDRESS 0x80000000 This is platform specific. AIUI you can put 0 in the field and the boot loader is expected to do something sensible, although that might require a new enough bootloader (FSVO new enough). If that doesn't work then this constant is actually in xen/arch/arm/Makefile too and for the same reason: # XXX: VE model loads by VMA so instead of # making a proper ELF we link with LMA == VMA and adjust crudely $(OBJCOPY) --change-addresses +0x80000000 $< $@ $(STRIP) $@ How about making this CONFIG_PHYSICAL_LOCAL_ADDR and plumbing through like we do with CONFIG_DTB_FILE? > + > #define PT_PT 0xe7f /* nG=1, AF=1, SH=10, AP=01, NS=1, ATTR=111, T=1, P=1 */ > #define PT_MEM 0xe7d /* nG=1, AF=1, SH=10, AP=01, NS=1, ATTR=111, T=0, P=1 */ > #define PT_DEV 0xe71 /* nG=1, AF=1, SH=10, AP=01, NS=1, ATTR=100, T=0, P=1 */ > @@ -52,6 +55,18 @@ > * or the initial pagetable code below will need adjustment. */ > .global start > start: > + > + .rept 7 > + mov r0, r0 > + .endr > + mov r0, r0 > + b 1f > + > + .word ZIMAGE_MAGIC_NUMBER @ Magic numbers > to help the loader > + .word (_start + XEN_PHYS_ADDRESS) @ absolute load/run > zImage address Wacky spaces? > + .word (_end + XEN_PHYS_ADDRESS) @ zImage end address > + > +1: > cpsid aif /* Disable all interrupts */ > > /* Save the bootloader arguments in less-clobberable registers */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |