* [U-Boot] [PATCH 1/2] lsxl: use 64bit for LBA48 to support 4 TB drives
@ 2014-03-12 18:42 Michael Walle
2014-03-12 18:42 ` [U-Boot] [PATCH 2/2] lsxl: rework boot scripts Michael Walle
0 siblings, 1 reply; 6+ messages in thread
From: Michael Walle @ 2014-03-12 18:42 UTC (permalink / raw)
To: u-boot
Cc: Prafulla Wadaskar <prafulla@marvell.com>
Signed-off-by: Michael Walle <michael@walle.cc>
---
include/configs/lsxl.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
index 92865df..cc7a6ab 100644
--- a/include/configs/lsxl.h
+++ b/include/configs/lsxl.h
@@ -160,6 +160,7 @@
#undef CONFIG_SYS_IDE_MAXDEVICE
#define CONFIG_SYS_IDE_MAXDEVICE 1
#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
+#define CONFIG_SYS_64BIT_LBA
#endif
#endif /* _CONFIG_LSXL_H */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] lsxl: rework boot scripts
2014-03-12 18:42 [U-Boot] [PATCH 1/2] lsxl: use 64bit for LBA48 to support 4 TB drives Michael Walle
@ 2014-03-12 18:42 ` Michael Walle
2014-03-12 21:32 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Michael Walle @ 2014-03-12 18:42 UTC (permalink / raw)
To: u-boot
Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
blob loading to all existing boot scripts, dtb filenames were taken from
vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
a kernel and a ramdisk. Make this the default boot script. This should also
restore the behaviour of the original bootloader.
Cc: Prafulla Wadaskar <prafulla@marvell.com>
Signed-off-by: Michael Walle <michael@walle.cc>
---
include/configs/lsxl.h | 43 +++++++++++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 10 deletions(-)
diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
index cc7a6ab..8f4f382 100644
--- a/include/configs/lsxl.h
+++ b/include/configs/lsxl.h
@@ -108,20 +108,43 @@
#define CONFIG_LOADADDR 0x00800000
#define CONFIG_BOOTCOMMAND "run bootcmd_${bootsource}"
#define CONFIG_BOOTARGS "console=ttyS0,115200 root=/dev/sda2"
+
+#if defined(CONFIG_LSXHL)
+#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
+#elif defined(CONFIG_LSCHLV2)
+#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
+#else
+#error "Unsupported board"
+#endif
+
#define CONFIG_EXTRA_ENV_SETTINGS \
- "bootsource=hdd\0" \
+ "bootsource=legacy\0" \
"hdpart=0:1\0" \
- "bootcmd_net=bootp 0x00100000 uImage " \
- "&& tftpboot 0x00800000 uInitrd " \
- "&& bootm 0x00100000 0x00800000\0" \
+ "kernel_addr=0x00100000\0" \
+ "ramdisk_addr=0x00800000\0" \
+ "fdt_addr=0x007f0000\0" \
+ "bootcmd_legacy=ide reset " \
+ "&& ext2load ide ${hdpart} ${kernel_addr} " \
+ "/uImage.buffalo " \
+ "&& ext2load ide ${hdpart} ${ramdisk_addr} " \
+ "/initrd.buffalo " \
+ "&& bootm ${kernel_addr} ${ramdisk_addr}\0" \
+ "bootcmd_net=bootp ${kernel_addr} uImage " \
+ "&& tftpboot ${ramdisk_addr} uInitrd " \
+ "&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " " \
+ "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
"bootcmd_hdd=ide reset " \
- "&& ext2load ide ${hdpart} 0x00100000 /uImage " \
- "&& ext2load ide ${hdpart} 0x00800000 /uInitrd " \
- "&& bootm 0x00100000 0x00800000\0" \
+ "&& ext2load ide ${hdpart} ${kernel_addr} /uImage " \
+ "&& ext2load ide ${hdpart} ${ramdisk_addr} /uInitrd " \
+ "&& ext2load ide ${hdpart} ${fdt_addr} " \
+ "/" CONFIG_FDTFILE " " \
+ "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
"bootcmd_usb=usb start " \
- "&& fatload usb 0:1 0x00100000 /uImage " \
- "&& fatload usb 0:1 0x00800000 /uInitrd " \
- "&& bootm 0x00100000 0x00800000\0" \
+ "&& fatload usb 0:1 ${kernel_addr} /uImage " \
+ "&& fatload usb 0:1 ${ramdisk_addr} /uInitrd " \
+ "&& fatload usb 0:1 ${fdt_addr} " \
+ "/" CONFIG_FDTFILE " " \
+ "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
"bootcmd_rescue=run config_nc_dhcp; run nc\0" \
"eraseenv=sf probe 0 " \
"&& sf erase " __stringify(CONFIG_ENV_OFFSET) \
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH 2/2] lsxl: rework boot scripts
2014-03-12 18:42 ` [U-Boot] [PATCH 2/2] lsxl: rework boot scripts Michael Walle
@ 2014-03-12 21:32 ` Tom Rini
2014-03-12 22:51 ` Michael Walle
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2014-03-12 21:32 UTC (permalink / raw)
To: u-boot
On Wed, Mar 12, 2014 at 07:42:54PM +0100, Michael Walle wrote:
> Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
> blob loading to all existing boot scripts, dtb filenames were taken from
> vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
> a kernel and a ramdisk. Make this the default boot script. This should also
> restore the behaviour of the original bootloader.
How much memory do these platforms have? Having just spent a bunch of
time issues about where to load what on TI platforms, I'm a little
worried about some of the locations:
> + "kernel_addr=0x00100000\0" \
Below 32MB which isn't optimal.
> + "ramdisk_addr=0x00800000\0" \
> + "fdt_addr=0x007f0000\0" \
This doesn't leave a whole lot of space for the kernel before
overwriting either of these.
> + "bootcmd_legacy=ide reset " \
> + "&& ext2load ide ${hdpart} ${kernel_addr} " \
Add CONFIG_CMD_FS_GENERIC and just 'load' here and elsewhere (incl
fatload).
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140312/bb444222/attachment.pgp>
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH 2/2] lsxl: rework boot scripts
2014-03-12 21:32 ` Tom Rini
@ 2014-03-12 22:51 ` Michael Walle
2014-03-12 23:42 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Michael Walle @ 2014-03-12 22:51 UTC (permalink / raw)
To: u-boot
Hi Tom,
Am 2014-03-12 22:32, schrieb Tom Rini:
> On Wed, Mar 12, 2014 at 07:42:54PM +0100, Michael Walle wrote:
>
>> Move addresses for kernel, ramdisk and fdt blob to own variables. Add
>> dtb
>> blob loading to all existing boot scripts, dtb filenames were taken
>> from
>> vanilla kernel. Introduce new boot script bootcmd_legacy, which only
>> loads
>> a kernel and a ramdisk. Make this the default boot script. This should
>> also
>> restore the behaviour of the original bootloader.
>
> How much memory do these platforms have?
LS-CHLv2 has 64MB and LS-XHL has 256MB. The kernel_addr and ramdisk_addr
are the value which was also used in the original bootloader.
> Having just spent a bunch of
> time issues about where to load what on TI platforms, I'm a little
> worried about some of the locations:
>
>> + "kernel_addr=0x00100000\0" \
>
> Below 32MB which isn't optimal.
why is that? iirc the kernel is unpacked to 0x8000, isn't it? ok there
might be some problems unpacking the kernel.
>
>> + "ramdisk_addr=0x00800000\0" \
>> + "fdt_addr=0x007f0000\0" \
>
> This doesn't leave a whole lot of space for the kernel before
> overwriting either of these.
I must admit i've never worried about where to put these. Any
suggestions? initrd at the end of the ram? although i'd like to keep
both platforms the same, eg. i'd take 64MB as the end of ram.
>
>> + "bootcmd_legacy=ide reset " \
>> + "&& ext2load ide ${hdpart} ${kernel_addr} " \
>
> Add CONFIG_CMD_FS_GENERIC and just 'load' here and elsewhere (incl
> fatload).
i'll have a look at it.
thanks for the suggestions,
-michael
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH 2/2] lsxl: rework boot scripts
2014-03-12 22:51 ` Michael Walle
@ 2014-03-12 23:42 ` Tom Rini
2014-03-14 19:04 ` Michael Walle
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2014-03-12 23:42 UTC (permalink / raw)
To: u-boot
On Wed, Mar 12, 2014 at 11:51:41PM +0100, Michael Walle wrote:
> Hi Tom,
>
> Am 2014-03-12 22:32, schrieb Tom Rini:
> >On Wed, Mar 12, 2014 at 07:42:54PM +0100, Michael Walle wrote:
> >
> >>Move addresses for kernel, ramdisk and fdt blob to own
> >>variables. Add dtb
> >>blob loading to all existing boot scripts, dtb filenames were
> >>taken from
> >>vanilla kernel. Introduce new boot script bootcmd_legacy, which
> >>only loads
> >>a kernel and a ramdisk. Make this the default boot script. This
> >>should also
> >>restore the behaviour of the original bootloader.
> >
> >How much memory do these platforms have?
>
> LS-CHLv2 has 64MB and LS-XHL has 256MB. The kernel_addr and
> ramdisk_addr are the value which was also used in the original
> bootloader.
OK, so we don't have to worry about relocation to bad places...
> >Having just spent a bunch of
> >time issues about where to load what on TI platforms, I'm a little
> >worried about some of the locations:
> >
> >>+ "kernel_addr=0x00100000\0" \
> >
> >Below 32MB which isn't optimal.
>
> why is that? iirc the kernel is unpacked to 0x8000, isn't it? ok
> there might be some problems unpacking the kernel.
Documentation/arm/Booting in the kernel suggests above 32MB to avoid
relocation.
> >>+ "ramdisk_addr=0x00800000\0" \
> >>+ "fdt_addr=0x007f0000\0" \
> >
> >This doesn't leave a whole lot of space for the kernel before
> >overwriting either of these.
>
> I must admit i've never worried about where to put these. Any
> suggestions? initrd at the end of the ram? although i'd like to keep
> both platforms the same, eg. i'd take 64MB as the end of ram.
Well, I guess it comes down to how much you worry about things like
Fedora or SuSE running on the system. I'd suggest moving the above to
32MB/just below 32MB to allow a fairly bigish kernel to still work as
that's one of the thing that will bite commodity distro kernels.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140312/08a9e6b2/attachment.pgp>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] lsxl: rework boot scripts
2014-03-12 23:42 ` Tom Rini
@ 2014-03-14 19:04 ` Michael Walle
0 siblings, 0 replies; 6+ messages in thread
From: Michael Walle @ 2014-03-14 19:04 UTC (permalink / raw)
To: u-boot
Am Donnerstag, 13. M?rz 2014, 00:42:49 schrieb Tom Rini:
> > >How much memory do these platforms have?
> >
> > LS-CHLv2 has 64MB and LS-XHL has 256MB. The kernel_addr and
> > ramdisk_addr are the value which was also used in the original
> > bootloader.
>
> OK, so we don't have to worry about relocation to bad places...
>
> > >Having just spent a bunch of
> > >time issues about where to load what on TI platforms, I'm a little
> > >
> > >worried about some of the locations:
> > >>+ "kernel_addr=0x00100000\0" \
> > >
> > >Below 32MB which isn't optimal.
> >
> > why is that? iirc the kernel is unpacked to 0x8000, isn't it? ok
> > there might be some problems unpacking the kernel.
>
> Documentation/arm/Booting in the kernel suggests above 32MB to avoid
> relocation.
>
> > >>+ "ramdisk_addr=0x00800000\0" \
> > >>+ "fdt_addr=0x007f0000\0" \
> > >
> > >This doesn't leave a whole lot of space for the kernel before
> > >overwriting either of these.
> >
> > I must admit i've never worried about where to put these. Any
> > suggestions? initrd at the end of the ram? although i'd like to keep
> > both platforms the same, eg. i'd take 64MB as the end of ram.
>
> Well, I guess it comes down to how much you worry about things like
> Fedora or SuSE running on the system. I'd suggest moving the above to
> 32MB/just below 32MB to allow a fairly bigish kernel to still work as
> that's one of the thing that will bite commodity distro kernels.
I've just looked at the load addresses. First, in case of the lsxl, neither
initrd_high nor fdt_high is set to 0xffffffff. Therefore, the ramdisk and the
fdt blob are relocated to the top of the ram. The kernel itself is relocated
to whatever the uimage loadaddr is set to. In case of debian and the original
uImage this is 0x8000 and both are zImages. So i can't do anything to avoid
relocating in the decompressor again.
So the only restrictions should be:
- 0x00800000 - 0x00100000 = 7 MB for the kernel
- 64 kB for the fdt
Hope i get everything right :) I'll post an updated patch with the
{fat,ext2}load replaced with load in the near future.
-michael
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-03-14 19:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-12 18:42 [U-Boot] [PATCH 1/2] lsxl: use 64bit for LBA48 to support 4 TB drives Michael Walle
2014-03-12 18:42 ` [U-Boot] [PATCH 2/2] lsxl: rework boot scripts Michael Walle
2014-03-12 21:32 ` Tom Rini
2014-03-12 22:51 ` Michael Walle
2014-03-12 23:42 ` Tom Rini
2014-03-14 19:04 ` Michael Walle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox