On 28-Jun-00 Jun Sun wrote:
>
> I compiled an image for DDB5074. I got a TLB fault immediately after
> the control enters prom_init() function. A further probe shows that the
> caller are passing differents arguments to prom_init than what the
> callee expected. See code excerpt below.
>
> Does this mean the code of DDB5074 is outdated? In any case, can
> someone give me a hint on how to fix this? It does not look obvious at
> the first sight...
That's probably ok. The different bootloaders on different platforms loaders
pass
different arguments to the kernel.
harry@localhost:~> cd linux/arch/mips
harry@localhost:~/linux/arch/mips > grep prom_init\( `find . -name '*.c'`
./arc/init.c:int __init prom_init(int argc, char **argv, char **envp,
int*prom_vec)
./baget/prom/init.c:int __init prom_init(unsigned int mem_upper)
./ddb5074/prom.c:void __init prom_init(const char *s)
./dec/prom/init.c:int __init prom_init(int argc, char **argv,
./kernel/setup.c:extern int prom_init(int, char **, char **, int *);
./kernel/setup.c: prom_init(argc, argv, envp, prom_vec);
The call in setup.c just has to make shure that all possible arguments are
passed
to the platform specific prom_init(). How they are interpreted is up to
prom_init().
--
Regards,
Harald
|