mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-03 01:50:25 +00:00
ppc4xx: Add routine to retrieve CPU number
Provide a weak defined routine to retrieve the CPU number for reference boards that have multiple CPU's. Default behavior is the existing single CPU print output. Reference boards with multiple CPU's need to provide a board specific routine. See board/amcc/arches/arches.c for an example. Signed-off-by: Adam Graham <agraham@amcc.com> Signed-off-by: Victor Gallardo <vgallardo@amcc.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
59217bae40
commit
c9c11d751e
2 changed files with 21 additions and 1 deletions
|
@ -41,6 +41,18 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
void board_reset(void);
|
void board_reset(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To provide an interface to detect CPU number for boards that support
|
||||||
|
* more then one CPU, we implement the "weak" default functions here.
|
||||||
|
*
|
||||||
|
* Returns CPU number
|
||||||
|
*/
|
||||||
|
int __get_cpu_num(void)
|
||||||
|
{
|
||||||
|
return NA_OR_UNKNOWN_CPU;
|
||||||
|
}
|
||||||
|
int get_cpu_num(void) __attribute__((weak, alias("__get_cpu_num")));
|
||||||
|
|
||||||
#if defined(CONFIG_405GP) || \
|
#if defined(CONFIG_405GP) || \
|
||||||
defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
|
defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
|
||||||
defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
|
defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
|
||||||
|
@ -274,8 +286,13 @@ int checkcpu (void)
|
||||||
#if !defined(CONFIG_IOP480)
|
#if !defined(CONFIG_IOP480)
|
||||||
char addstr[64] = "";
|
char addstr[64] = "";
|
||||||
sys_info_t sys_info;
|
sys_info_t sys_info;
|
||||||
|
int cpu_num;
|
||||||
|
|
||||||
puts ("CPU: ");
|
cpu_num = get_cpu_num();
|
||||||
|
if (cpu_num >= 0)
|
||||||
|
printf("CPU%d: ", cpu_num);
|
||||||
|
else
|
||||||
|
puts("CPU: ");
|
||||||
|
|
||||||
get_sys_info(&sys_info);
|
get_sys_info(&sys_info);
|
||||||
|
|
||||||
|
|
|
@ -218,4 +218,7 @@ static inline void set_mcsr(u32 val)
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
/* for multi-cpu support */
|
||||||
|
#define NA_OR_UNKNOWN_CPU -1
|
||||||
|
|
||||||
#endif /* __PPC4XX_H__ */
|
#endif /* __PPC4XX_H__ */
|
||||||
|
|
Loading…
Reference in a new issue