Patchwork [U-Boot,V4,3/4] ARM: Warn when the machine ID isn't set.

login
register
mail settings
Submitter Christopher Harvey
Date July 18, 2011, 5:33 p.m.
Message ID <20110718173344.GA3663@harvey-pc.matrox.com>
Download mbox | patch
Permalink /patch/105335/
State Superseded
Delegated to: Albert ARIBAUD
Headers show

Comments

Christopher Harvey - July 18, 2011, 5:33 p.m.
Linux cannot boot without it.

Signed-off-by: Christopher Harvey <charvey@matrox.com>
---

V2:
Used a #define instead of a constant.
Used a printf instead of a debug.

---

V3:
Moved gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID; before the 
  init_sequence loop, so it doesn't overwrite existing values.
Removed unneeded braces. 

Reminder, in V2 of this series there are 3 uncommited patches that
  have no comments.

---

V3:
Fixed mixed tabs and spaces.
Message prints in both debug and release mode. 

 arch/arm/include/asm/u-boot.h |    2 ++
 arch/arm/lib/board.c          |    2 ++
 arch/arm/lib/bootm.c          |    3 +++
 3 files changed, 7 insertions(+), 0 deletions(-)
Albert ARIBAUD - Aug. 4, 2011, 6:30 a.m.
Hi Christopher,

Le 18/07/2011 19:33, Christopher Harvey a écrit :
> Linux cannot boot without it.
>
> Signed-off-by: Christopher Harvey<charvey@matrox.com>
> ---
>
> V2:
> Used a #define instead of a constant.
> Used a printf instead of a debug.
>
> ---
>
> V3:
> Moved gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID; before the
>    init_sequence loop, so it doesn't overwrite existing values.
> Removed unneeded braces.
>
> Reminder, in V2 of this series there are 3 uncommited patches that
>    have no comments.
>
> ---
>
> V3:
> Fixed mixed tabs and spaces.
> Message prints in both debug and release mode.
>
>   arch/arm/include/asm/u-boot.h |    2 ++
>   arch/arm/lib/board.c          |    2 ++
>   arch/arm/lib/bootm.c          |    3 +++
>   3 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h
> index ed33327..81735de 100644
> --- a/arch/arm/include/asm/u-boot.h
> +++ b/arch/arm/include/asm/u-boot.h
> @@ -48,4 +48,6 @@ typedef struct bd_info {
>       }			bi_dram[CONFIG_NR_DRAM_BANKS];
>   } bd_t;
>
> +#define BI_ARCH_NUMBER_INVALID  0xffffffff
> +
>   #endif	/* _U_BOOT_H_ */
> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
> index fc52a26..1635aa1 100644
> --- a/arch/arm/lib/board.c
> +++ b/arch/arm/lib/board.c
> @@ -281,6 +281,8 @@ void board_init_f (ulong bootflag)
>
>   	gd->mon_len = _bss_end_ofs;
>
> +	gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID;
> +
>   	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
>   		if ((*init_fnc_ptr)() != 0) {
>   			hang ();
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index 802e833..d5fd26b 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -113,6 +113,9 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
>   		printf ("Using machid 0x%x from environment\n", machid);
>   	}
>
> +	if (machid == BI_ARCH_NUMBER_INVALID)
> +		printf("Warning: machid not set.\n");
> +
>   	show_boot_progress (15);
>
>   #ifdef CONFIG_OF_LIBFDT

This patch does not apply cleanly any more. Can you post a rebased V5 
please?

Amicalement,
Albert ARIBAUD - Aug. 24, 2011, 2:31 p.m.
Le 04/08/2011 08:30, Albert ARIBAUD a écrit :
> Hi Christopher,
>
> Le 18/07/2011 19:33, Christopher Harvey a écrit :
>> Linux cannot boot without it.
>>
>> Signed-off-by: Christopher Harvey<charvey@matrox.com>
>> ---
>>
>> V2:
>> Used a #define instead of a constant.
>> Used a printf instead of a debug.
>>
>> ---
>>
>> V3:
>> Moved gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID; before the
>>     init_sequence loop, so it doesn't overwrite existing values.
>> Removed unneeded braces.
>>
>> Reminder, in V2 of this series there are 3 uncommited patches that
>>     have no comments.
>>
>> ---
>>
>> V3:
>> Fixed mixed tabs and spaces.
>> Message prints in both debug and release mode.
>>
>>    arch/arm/include/asm/u-boot.h |    2 ++
>>    arch/arm/lib/board.c          |    2 ++
>>    arch/arm/lib/bootm.c          |    3 +++
>>    3 files changed, 7 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h
>> index ed33327..81735de 100644
>> --- a/arch/arm/include/asm/u-boot.h
>> +++ b/arch/arm/include/asm/u-boot.h
>> @@ -48,4 +48,6 @@ typedef struct bd_info {
>>        }			bi_dram[CONFIG_NR_DRAM_BANKS];
>>    } bd_t;
>>
>> +#define BI_ARCH_NUMBER_INVALID  0xffffffff
>> +
>>    #endif	/* _U_BOOT_H_ */
>> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
>> index fc52a26..1635aa1 100644
>> --- a/arch/arm/lib/board.c
>> +++ b/arch/arm/lib/board.c
>> @@ -281,6 +281,8 @@ void board_init_f (ulong bootflag)
>>
>>    	gd->mon_len = _bss_end_ofs;
>>
>> +	gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID;
>> +
>>    	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
>>    		if ((*init_fnc_ptr)() != 0) {
>>    			hang ();
>> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
>> index 802e833..d5fd26b 100644
>> --- a/arch/arm/lib/bootm.c
>> +++ b/arch/arm/lib/bootm.c
>> @@ -113,6 +113,9 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
>>    		printf ("Using machid 0x%x from environment\n", machid);
>>    	}
>>
>> +	if (machid == BI_ARCH_NUMBER_INVALID)
>> +		printf("Warning: machid not set.\n");
>> +
>>    	show_boot_progress (15);
>>
>>    #ifdef CONFIG_OF_LIBFDT
>
> This patch does not apply cleanly any more. Can you post a rebased V5
> please?

Ping?


Amicalement,
Christopher Harvey - Aug. 24, 2011, 5:37 p.m.
On Wed, Aug 24, 2011 at 04:31:20PM +0200, Albert ARIBAUD wrote:
> Le 04/08/2011 08:30, Albert ARIBAUD a ?crit :
> > Hi Christopher,
> >
> > Le 18/07/2011 19:33, Christopher Harvey a ?crit :
> >> Linux cannot boot without it.
> >>
> >> Signed-off-by: Christopher Harvey<charvey@matrox.com>
> >> ---
> >>
> >> V2:
> >> Used a #define instead of a constant.
> >> Used a printf instead of a debug.
> >>
> >> ---
> >>
> >> V3:
> >> Moved gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID; before the
> >>     init_sequence loop, so it doesn't overwrite existing values.
> >> Removed unneeded braces.
> >>
> >> Reminder, in V2 of this series there are 3 uncommited patches that
> >>     have no comments.
> >>
> >> ---
> >>
> >> V3:
> >> Fixed mixed tabs and spaces.
> >> Message prints in both debug and release mode.
> >>
> >>    arch/arm/include/asm/u-boot.h |    2 ++
> >>    arch/arm/lib/board.c          |    2 ++
> >>    arch/arm/lib/bootm.c          |    3 +++
> >>    3 files changed, 7 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h
> >> index ed33327..81735de 100644
> >> --- a/arch/arm/include/asm/u-boot.h
> >> +++ b/arch/arm/include/asm/u-boot.h
> >> @@ -48,4 +48,6 @@ typedef struct bd_info {
> >>        }			bi_dram[CONFIG_NR_DRAM_BANKS];
> >>    } bd_t;
> >>
> >> +#define BI_ARCH_NUMBER_INVALID  0xffffffff
> >> +
> >>    #endif	/* _U_BOOT_H_ */
> >> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
> >> index fc52a26..1635aa1 100644
> >> --- a/arch/arm/lib/board.c
> >> +++ b/arch/arm/lib/board.c
> >> @@ -281,6 +281,8 @@ void board_init_f (ulong bootflag)
> >>
> >>    	gd->mon_len = _bss_end_ofs;
> >>
> >> +	gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID;
> >> +
> >>    	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
> >>    		if ((*init_fnc_ptr)() != 0) {
> >>    			hang ();
> >> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> >> index 802e833..d5fd26b 100644
> >> --- a/arch/arm/lib/bootm.c
> >> +++ b/arch/arm/lib/bootm.c
> >> @@ -113,6 +113,9 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
> >>    		printf ("Using machid 0x%x from environment\n", machid);
> >>    	}
> >>
> >> +	if (machid == BI_ARCH_NUMBER_INVALID)
> >> +		printf("Warning: machid not set.\n");
> >> +
> >>    	show_boot_progress (15);
> >>
> >>    #ifdef CONFIG_OF_LIBFDT
> >
> > This patch does not apply cleanly any more. Can you post a rebased V5
> > please?
> 
> Ping?
> 
> 
> Amicalement,
> -- 
> Albert.

I lost confidence in blindly rebasing because I haven't had time to go
through u-boot to make sure no boards are able to set their machine id
before I can. When I get a moment I will get back into this code and
rebase it when I feel comfortable with the changes. Probably this
week.

-Chris

Patch

diff --git a/arch/arm/include/asm/u-boot.h b/arch/arm/include/asm/u-boot.h
index ed33327..81735de 100644
--- a/arch/arm/include/asm/u-boot.h
+++ b/arch/arm/include/asm/u-boot.h
@@ -48,4 +48,6 @@  typedef struct bd_info {
     }			bi_dram[CONFIG_NR_DRAM_BANKS];
 } bd_t;
 
+#define BI_ARCH_NUMBER_INVALID  0xffffffff
+
 #endif	/* _U_BOOT_H_ */
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index fc52a26..1635aa1 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -281,6 +281,8 @@  void board_init_f (ulong bootflag)
 
 	gd->mon_len = _bss_end_ofs;
 
+	gd->bd->bi_arch_number = BI_ARCH_NUMBER_INVALID; 
+
 	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
 		if ((*init_fnc_ptr)() != 0) {
 			hang ();
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 802e833..d5fd26b 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -113,6 +113,9 @@  int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 		printf ("Using machid 0x%x from environment\n", machid);
 	}
 
+	if (machid == BI_ARCH_NUMBER_INVALID)
+		printf("Warning: machid not set.\n");
+
 	show_boot_progress (15);
 
 #ifdef CONFIG_OF_LIBFDT