Messages in this thread | | | Date | Fri, 23 May 2008 18:21:01 +0200 | From | Sam Ravnborg <> | Subject | Re: [PATCH 1/3] firmware: allow firmware files to be built into kernel image |
| |
Hi David.
> +extern struct builtin_fw __start_builtin_fw[]; > +extern struct builtin_fw __end_builtin_fw[];
Could have these in include/linux/sections.h where we collect other linker symbols?
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index f054778..8d71a40 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -86,6 +86,13 @@ > VMLINUX_SYMBOL(__end_pci_fixups_resume) = .; \ > } \ > \ > + /* Built-in firmware blobs */ \ > + .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \ > + VMLINUX_SYMBOL(__start_builtin_fw) = .; \ > + *(.builtin_fw) \ > + VMLINUX_SYMBOL(__end_builtin_fw) = .; \ > + } \ > + \ Looks good. But do we need the firmware after init? In other owrds could it be inside a discard after init block?
> + > +#define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size) \ > + static const struct builtin_fw __fw_concat(__builtin_fw,__COUNTER__) \ > + __used __attribute__((__section__(".builtin_fw"))) = \
Use __section():
> + __used __section(.builtin_fw))) = \ (See compiler.h IIRC).
Sam
| |