Messages in this thread | | | From | Milton Miller <> | Subject | Re: [PATCH 1/2] vmlinux.lds.h: allow people to set a smaller rootfs alignment | Date | Wed, 09 Jun 2010 02:20:30 -0500 |
| |
On Sat, 5 Jun 2010 at around 14:14:45 -0400, Mike Frysinger wrote: > Add a new INIT_RAMFS() define to compliment the existing INIT_RAM_FS, but > this one lets people control the alignment. > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index 48c5299..9ca268f 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -619,14 +619,15 @@ > VMLINUX_SYMBOL(__security_initcall_end) = .; > > #ifdef CONFIG_BLK_DEV_INITRD > -#define INIT_RAM_FS \ > - . = ALIGN(PAGE_SIZE); \ > +#define INIT_RAMFS(align) \ > + . = ALIGN(align); \ > VMLINUX_SYMBOL(__initramfs_start) = .; \ > *(.init.ramfs) \ > VMLINUX_SYMBOL(__initramfs_end) = .; > #else > -#define INIT_RAM_FS > +#define INIT_RAMFS(align) > #endif > +#define INIT_RAM_FS INIT_RAMFS(PAGE_SIZE) >
[ and patch 2/2 calls the new macro with align 4, for only blackfin ].
Mike, As you identified, the alignment for the __initramfs is too large.
As can be seen by the grammer of the INIT_RAM_FS in [1], the section itself always requires alignment of exactly 4 [2].
I realize it requires a bit more auditing and cordination, but we should really just change the macro to align to 4.
[1] Documentation/early-userspace/buffer-format.txt, [2] for the general case; as compressed fragments are aligin(1)
milton
| |