[Qemu-devel] Change of TEXT_OFFSET for multi_v7_defconfig
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Tue Apr 22 10:00:19 PDT 2014
> > index 8756e4b..551e971 100644
> > +++ b/arch/arm/include/asm/memory.h
> > @@ -350,7 +350,7 @@ static inline __deprecated void *bus_to_virt(unsigned long x)
> > #define virt_addr_valid(kaddr) (((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) \
> > && pfn_valid(__pa(kaddr) >> PAGE_SHIFT) )
> >
> > -#endif
> > +#endif /* __ASSEMBLY__ */
> This is unrelated change.
Right, as I said it needs some cleanup :) This is left overs from
rebasing to 3.14 - the original had to carry some small changes to
memory.h as well, but now that we have PLAT_PHYS_OFFSET that isn't
necessary.
> > @@ -43,7 +50,7 @@
> > #endif
> >
> > OUTPUT_ARCH(arm)
> > -ENTRY(stext)
> > +ENTRY(phys_start)
> >
> > #ifndef __ARMEB__
> > jiffies = jiffies_64;
> > @@ -86,11 +93,13 @@ SECTIONS
> > #else
> > . = PAGE_OFFSET + TEXT_OFFSET;
> > #endif
> > - .head.text : {
> > + .head.text : AT(ADDR(.head.text) - LOAD_OFFSET) {
> > _text = .;
> > + phys_start = . - LOAD_OFFSET;
> > HEAD_TEXT
> > }
>
> I am not quite about these changes above but Russell can comment it.
This is adjusting the entry point address in the ELF.
I have copied what other arch's are doing and used the physical
address as the entry address (see x86, ia64).
Jason
More information about the linux-arm-kernel
mailing list