diff mbox series

[RFC] MIPS: fix generic zboot support

Message ID 20211105135232.2128420-1-yunqiang.su@cipunited.com (mailing list archive)
State RFC
Headers show
Series [RFC] MIPS: fix generic zboot support | expand

Commit Message

YunQiang Su Nov. 5, 2021, 1:52 p.m. UTC
There are 2 problems here:
1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M boston.
   Why it is set here? Any other platform needs this value?
2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) instead
   of replacing. Otherwise, no vmlinuz will be built.
---
 arch/mips/generic/Platform | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Jiaxun Yang Nov. 5, 2021, 3 p.m. UTC | #1
在2021年11月5日十一月 下午1:52,YunQiang Su写道:
> There are 2 problems here:
> 1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M boston.
>    Why it is set here? Any other platform needs this value?

Actually we have arch/mips/boot/compressed/calc_vmlinuz_load_addr.c to calculate zload address.
It will append zloader after the vmlinux so I'm not sure why we have to specify a address here.
Especially for generic kernel.

> 2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) instead
>    of replacing. Otherwise, no vmlinuz will be built.

Ack.

Thanks.

- Jiaxun

> ---
>  arch/mips/generic/Platform | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
> index e1abc113b409..0c03623f3897 100644
> --- a/arch/mips/generic/Platform
> +++ b/arch/mips/generic/Platform
> @@ -13,8 +13,7 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)	+= 
> -I$(srctree)/arch/mips/include/asm/mach-ing
>  cflags-$(CONFIG_MIPS_GENERIC)	+= 
> -I$(srctree)/arch/mips/include/asm/mach-generic
> 
>  load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
> -zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
> -all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
> +all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
> 
>  its-y					:= vmlinux.its.S
>  its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S
> -- 
> 2.30.2
Paul Cercueil Nov. 8, 2021, 9:54 a.m. UTC | #2
Hi,

Le ven., nov. 5 2021 at 09:52:32 -0400, YunQiang Su 
<yunqiang.su@cipunited.com> a écrit :
> There are 2 problems here:
> 1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M 
> boston.
>    Why it is set here? Any other platform needs this value?

Is there another place where it should be set?

With this patch applied, kernels won't boot anymore on Ingenic boards.

> 2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) 
> instead
>    of replacing. Otherwise, no vmlinuz will be built.

I build vmlinuz all the time, and never needed this patch.

Cheers,
-Paul

> ---
>  arch/mips/generic/Platform | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
> index e1abc113b409..0c03623f3897 100644
> --- a/arch/mips/generic/Platform
> +++ b/arch/mips/generic/Platform
> @@ -13,8 +13,7 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)	+= 
> -I$(srctree)/arch/mips/include/asm/mach-ing
>  cflags-$(CONFIG_MIPS_GENERIC)	+= 
> -I$(srctree)/arch/mips/include/asm/mach-generic
> 
>  load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
> -zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
> -all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
> +all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
> 
>  its-y					:= vmlinux.its.S
>  its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S
> --
> 2.30.2
>
Paul Cercueil Nov. 8, 2021, 10:21 a.m. UTC | #3
Hi again,

Le lun., nov. 8 2021 at 09:54:38 +0000, Paul Cercueil 
<paul@crapouillou.net> a écrit :
> Hi,
> 
> Le ven., nov. 5 2021 at 09:52:32 -0400, YunQiang Su 
> <yunqiang.su@cipunited.com> a écrit :
>> There are 2 problems here:
>> 1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M 
>> boston.
>>    Why it is set here? Any other platform needs this value?
> 
> Is there another place where it should be set?
> 
> With this patch applied, kernels won't boot anymore on Ingenic boards.

Nevermind - it works, I just needed to adapt my tooling.

However, I think there should still be an option to have a fixed zload 
address, for the case where you want a vmlinuz.bin.

Cheers,
-Paul

>> 2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) 
>> instead
>>    of replacing. Otherwise, no vmlinuz will be built.
> 
> I build vmlinuz all the time, and never needed this patch.
> 
> Cheers,
> -Paul
> 
>> ---
>>  arch/mips/generic/Platform | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>> 
>> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
>> index e1abc113b409..0c03623f3897 100644
>> --- a/arch/mips/generic/Platform
>> +++ b/arch/mips/generic/Platform
>> @@ -13,8 +13,7 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)	+= 
>> -I$(srctree)/arch/mips/include/asm/mach-ing
>>  cflags-$(CONFIG_MIPS_GENERIC)	+= 
>> -I$(srctree)/arch/mips/include/asm/mach-generic
>> 
>>  load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
>> -zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
>> -all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
>> +all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
>> 
>>  its-y					:= vmlinux.its.S
>>  its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S
>> --
>> 2.30.2
>> 
>
Jiaxun Yang Nov. 8, 2021, 6:08 p.m. UTC | #4
在2021年11月8日十一月 上午9:54,Paul Cercueil写道:
> Hi,
>
> Le ven., nov. 5 2021 at 09:52:32 -0400, YunQiang Su 
> <yunqiang.su@cipunited.com> a écrit :
>> There are 2 problems here:
>> 1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M 
>> boston.
>>    Why it is set here? Any other platform needs this value?
>
> Is there another place where it should be set?
>
> With this patch applied, kernels won't boot anymore on Ingenic boards.
>
>> 2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) 
>> instead
>>    of replacing. Otherwise, no vmlinuz will be built.
>
> I build vmlinuz all the time, and never needed this patch.

It's because we doesn't use itb on ingenic ;-)

Thanks
- Jiaxun

>
> Cheers,
> -Paul
>
>> ---
>>  arch/mips/generic/Platform | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>> 
>> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
>> index e1abc113b409..0c03623f3897 100644
>> --- a/arch/mips/generic/Platform
>> +++ b/arch/mips/generic/Platform
>> @@ -13,8 +13,7 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)	+= 
>> -I$(srctree)/arch/mips/include/asm/mach-ing
>>  cflags-$(CONFIG_MIPS_GENERIC)	+= 
>> -I$(srctree)/arch/mips/include/asm/mach-generic
>> 
>>  load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
>> -zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
>> -all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
>> +all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
>> 
>>  its-y					:= vmlinux.its.S
>>  its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S
>> --
>> 2.30.2
>>
Jiaxun Yang Nov. 8, 2021, 6:09 p.m. UTC | #5
在2021年11月8日十一月 上午10:21,Paul Cercueil写道:
> Hi again,
>
> Le lun., nov. 8 2021 at 09:54:38 +0000, Paul Cercueil 
> <paul@crapouillou.net> a écrit :
>> Hi,
>> 
>> Le ven., nov. 5 2021 at 09:52:32 -0400, YunQiang Su 
>> <yunqiang.su@cipunited.com> a écrit :
>>> There are 2 problems here:
>>> 1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M 
>>> boston.
>>>    Why it is set here? Any other platform needs this value?
>> 
>> Is there another place where it should be set?
>> 
>> With this patch applied, kernels won't boot anymore on Ingenic boards.
>
> Nevermind - it works, I just needed to adapt my tooling.
>
> However, I think there should still be an option to have a fixed zload 
> address, for the case where you want a vmlinuz.bin.

Hmm how about leave it for Kconfig?

Thanks.

- Jiaxun

>
> Cheers,
> -Paul
>
>>> 2. vmlinux.gz.itb should be appended to all-$(CONFIG_MIPS_GENERIC) 
>>> instead
>>>    of replacing. Otherwise, no vmlinuz will be built.
>> 
>> I build vmlinuz all the time, and never needed this patch.
>> 
>> Cheers,
>> -Paul
>> 
>>> ---
>>>  arch/mips/generic/Platform | 3 +--
>>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>> 
>>> diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
>>> index e1abc113b409..0c03623f3897 100644
>>> --- a/arch/mips/generic/Platform
>>> +++ b/arch/mips/generic/Platform
>>> @@ -13,8 +13,7 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)	+= 
>>> -I$(srctree)/arch/mips/include/asm/mach-ing
>>>  cflags-$(CONFIG_MIPS_GENERIC)	+= 
>>> -I$(srctree)/arch/mips/include/asm/mach-generic
>>> 
>>>  load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
>>> -zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
>>> -all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
>>> +all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
>>> 
>>>  its-y					:= vmlinux.its.S
>>>  its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S
>>> --
>>> 2.30.2
>>> 
>>
Paul Cercueil Nov. 9, 2021, 5:37 p.m. UTC | #6
Hi,

Le lun., nov. 8 2021 at 18:09:06 +0000, Jiaxun Yang 
<jiaxun.yang@flygoat.com> a écrit :
> 
> 
> 在2021年11月8日十一月 上午10:21,Paul Cercueil写道:
>>  Hi again,
>> 
>>  Le lun., nov. 8 2021 at 09:54:38 +0000, Paul Cercueil
>>  <paul@crapouillou.net> a écrit :
>>>  Hi,
>>> 
>>>  Le ven., nov. 5 2021 at 09:52:32 -0400, YunQiang Su
>>>  <yunqiang.su@cipunited.com> a écrit :
>>>>  There are 2 problems here:
>>>>  1. setting zload-y to 0xffffffff81000000 breaks booting on qemu -M
>>>>  boston.
>>>>     Why it is set here? Any other platform needs this value?
>>> 
>>>  Is there another place where it should be set?
>>> 
>>>  With this patch applied, kernels won't boot anymore on Ingenic 
>>> boards.
>> 
>>  Nevermind - it works, I just needed to adapt my tooling.
>> 
>>  However, I think there should still be an option to have a fixed 
>> zload
>>  address, for the case where you want a vmlinuz.bin.
> 
> Hmm how about leave it for Kconfig?

Sure, that works.

Cheers,
-Paul
diff mbox series

Patch

diff --git a/arch/mips/generic/Platform b/arch/mips/generic/Platform
index e1abc113b409..0c03623f3897 100644
--- a/arch/mips/generic/Platform
+++ b/arch/mips/generic/Platform
@@ -13,8 +13,7 @@  cflags-$(CONFIG_MACH_INGENIC_SOC)	+= -I$(srctree)/arch/mips/include/asm/mach-ing
 cflags-$(CONFIG_MIPS_GENERIC)	+= -I$(srctree)/arch/mips/include/asm/mach-generic
 
 load-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff80100000
-zload-$(CONFIG_MIPS_GENERIC)	+= 0xffffffff81000000
-all-$(CONFIG_MIPS_GENERIC)	:= vmlinux.gz.itb
+all-$(CONFIG_MIPS_GENERIC)	+= vmlinux.gz.itb
 
 its-y					:= vmlinux.its.S
 its-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= board-boston.its.S