Message ID | 1375475175-5073-6-git-send-email-trini@ti.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Hello Tom, Am 02.08.2013 22:26, schrieb Tom Rini: > With device trees, boards do not always set CONFIG_MACH_TYPE now, so we > must not rely on this define being set. The kernel uses ~0 to see if we > have a valid machine number or not, so set that as the default, invalid > machine, id and only fix if CONFIG_MACH_TYPE is set. > > Cc: Albert ARIBAUD<albert.u.boot@aribaud.net> > Signed-off-by: Tom Rini<trini@ti.com> > --- > arch/arm/lib/spl.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Tested on an upcoming am1808 based board support. Tested-by: Heiko Schocher <hs@denx.de> bye, Heiko
On 08/02/2013 03:26 PM, Tom Rini wrote: > With device trees, boards do not always set CONFIG_MACH_TYPE now, so we > must not rely on this define being set. The kernel uses ~0 to see if we > have a valid machine number or not, so set that as the default, invalid > machine, id and only fix if CONFIG_MACH_TYPE is set. > > Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> > Signed-off-by: Tom Rini <trini@ti.com> > --- > arch/arm/lib/spl.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c > index 583bdb3..26d0be4 100644 > --- a/arch/arm/lib/spl.c > +++ b/arch/arm/lib/spl.c > @@ -45,12 +45,17 @@ void __weak board_init_f(ulong dummy) > #ifdef CONFIG_SPL_OS_BOOT > void __noreturn jump_to_image_linux(void *arg) > { > + unsigned long machid = 0xffffffff; > +#ifdef CONFIG_MACH_TYPE > + machid = CONFIG_MACH_TYPE; > +#endif > + > debug("Entering kernel arg pointer: 0x%p\n", arg); > typedef void (*image_entry_arg_t)(int, int, void *) > __attribute__ ((noreturn)); > image_entry_arg_t image_entry = > (image_entry_arg_t) spl_image.entry_point; > cleanup_before_linux(); > - image_entry(0, CONFIG_MACH_TYPE, arg); > + image_entry(0, machid, arg); > } > #endif The code looks fine just don't see how it is part of the "common" patch set series otherwise Acked-by: Dan Murphy <dmurphy@ti.com>
On Tue, Aug 06, 2013 at 01:28:53PM -0500, Dan Murphy wrote: > On 08/02/2013 03:26 PM, Tom Rini wrote: > > With device trees, boards do not always set CONFIG_MACH_TYPE now, so we > > must not rely on this define being set. The kernel uses ~0 to see if we > > have a valid machine number or not, so set that as the default, invalid > > machine, id and only fix if CONFIG_MACH_TYPE is set. > > > > Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> > > Signed-off-by: Tom Rini <trini@ti.com> > > --- > > arch/arm/lib/spl.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c > > index 583bdb3..26d0be4 100644 > > --- a/arch/arm/lib/spl.c > > +++ b/arch/arm/lib/spl.c > > @@ -45,12 +45,17 @@ void __weak board_init_f(ulong dummy) > > #ifdef CONFIG_SPL_OS_BOOT > > void __noreturn jump_to_image_linux(void *arg) > > { > > + unsigned long machid = 0xffffffff; > > +#ifdef CONFIG_MACH_TYPE > > + machid = CONFIG_MACH_TYPE; > > +#endif > > + > > debug("Entering kernel arg pointer: 0x%p\n", arg); > > typedef void (*image_entry_arg_t)(int, int, void *) > > __attribute__ ((noreturn)); > > image_entry_arg_t image_entry = > > (image_entry_arg_t) spl_image.entry_point; > > cleanup_before_linux(); > > - image_entry(0, CONFIG_MACH_TYPE, arg); > > + image_entry(0, machid, arg); > > } > > #endif > The code looks fine just don't see how it is part of the "common" > patch set series Uncovered porting omap5 platforms over as they do not set CONFIG_MACH_TYPE (and no need to start).
Tom On 08/06/2013 02:10 PM, Tom Rini wrote: > On Tue, Aug 06, 2013 at 01:28:53PM -0500, Dan Murphy wrote: >> On 08/02/2013 03:26 PM, Tom Rini wrote: >>> With device trees, boards do not always set CONFIG_MACH_TYPE now, so we >>> must not rely on this define being set. The kernel uses ~0 to see if we >>> have a valid machine number or not, so set that as the default, invalid >>> machine, id and only fix if CONFIG_MACH_TYPE is set. >>> >>> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> >>> Signed-off-by: Tom Rini <trini@ti.com> >>> --- >>> arch/arm/lib/spl.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c >>> index 583bdb3..26d0be4 100644 >>> --- a/arch/arm/lib/spl.c >>> +++ b/arch/arm/lib/spl.c >>> @@ -45,12 +45,17 @@ void __weak board_init_f(ulong dummy) >>> #ifdef CONFIG_SPL_OS_BOOT >>> void __noreturn jump_to_image_linux(void *arg) >>> { >>> + unsigned long machid = 0xffffffff; >>> +#ifdef CONFIG_MACH_TYPE >>> + machid = CONFIG_MACH_TYPE; >>> +#endif >>> + >>> debug("Entering kernel arg pointer: 0x%p\n", arg); >>> typedef void (*image_entry_arg_t)(int, int, void *) >>> __attribute__ ((noreturn)); >>> image_entry_arg_t image_entry = >>> (image_entry_arg_t) spl_image.entry_point; >>> cleanup_before_linux(); >>> - image_entry(0, CONFIG_MACH_TYPE, arg); >>> + image_entry(0, machid, arg); >>> } >>> #endif >> The code looks fine just don't see how it is part of the "common" >> patch set series > Uncovered porting omap5 platforms over as they do not set > CONFIG_MACH_TYPE (and no need to start). > Good find. Reviewed-by: Dan Murphy <dmurphy@ti.com>
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c index 583bdb3..26d0be4 100644 --- a/arch/arm/lib/spl.c +++ b/arch/arm/lib/spl.c @@ -45,12 +45,17 @@ void __weak board_init_f(ulong dummy) #ifdef CONFIG_SPL_OS_BOOT void __noreturn jump_to_image_linux(void *arg) { + unsigned long machid = 0xffffffff; +#ifdef CONFIG_MACH_TYPE + machid = CONFIG_MACH_TYPE; +#endif + debug("Entering kernel arg pointer: 0x%p\n", arg); typedef void (*image_entry_arg_t)(int, int, void *) __attribute__ ((noreturn)); image_entry_arg_t image_entry = (image_entry_arg_t) spl_image.entry_point; cleanup_before_linux(); - image_entry(0, CONFIG_MACH_TYPE, arg); + image_entry(0, machid, arg); } #endif
With device trees, boards do not always set CONFIG_MACH_TYPE now, so we must not rely on this define being set. The kernel uses ~0 to see if we have a valid machine number or not, so set that as the default, invalid machine, id and only fix if CONFIG_MACH_TYPE is set. Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Signed-off-by: Tom Rini <trini@ti.com> --- arch/arm/lib/spl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)