Re: [RFC 11/13] MIPS: JZ4750D: Add Kbuild files

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

 



On Wednesday 24 October 2012 19:43:25 Florian Fainelli wrote:
> On Wednesday 24 October 2012 18:16:35 Maarten ter Huurne wrote:
> > On Tuesday 23 October 2012 21:43:59 Antony Pavlov wrote:
> > > Add the Kbuild files for the JZ4750D architecture and adds JZ4750D
> > > support to the MIPS Kbuild files.
> > 
> > [snip]
> > 
> > > diff --git a/arch/mips/jz4750d/Platform b/arch/mips/jz4750d/Platform
> > > new file mode 100644
> > > index 0000000..2e4e050
> > > --- /dev/null
> > > +++ b/arch/mips/jz4750d/Platform
> > > @@ -0,0 +1,3 @@
> > > +platform-$(CONFIG_MACH_JZ4750D)	+= jz4750d/
> > > +cflags-$(CONFIG_MACH_JZ4750D)	+=
> > > -I$(srctree)/arch/mips/include/asm/mach-jz4750d
> > > +load-$(CONFIG_MACH_JZ4750D)	+= 0xffffffff80010000
> > 
> > What is the purpose of padding the load address to 64 bits?
> > 
> > The reason I'm asking is that we encountered a bug with that when
> > creating a u-boot image on a 32-bit host machine: the mkimage tool will
> > only parse the first 8 hex digits and then inserts the wrong load
> > address into the uImage.
>
> AFAIR u-boot's mkimage expects 32-bits quantities as a load address, so I
> would not be surprised that using this line as-is as an input parameter
> to mkimage does not give yout the expected result.

The actual uImage format supports only 32-bit addresses, but mkimage is 
inconsistent in its handling of 64-bit addresses: if the tool is compiled 
for x86_64 it parses all 16 hex digits and uses the lower 32 bits, but if it 
is compiled for x86 it parses only the first 8 hex digits and the resulting 
image won't boot.

There is no "uImage" target for MIPS in the mainline kernel; we added our 
own and it indeed passes $(VMLINUX_LOAD_ADDRESS) to mkimage as-is on the 
command line. Since Ralf indicated that there are good reasons for sign 
extending the address, I think I'll have to change how it is passed to 
mkimage.

Bye,
		Maarten




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux