linux-mips
[Top] [All Lists]

RE: argument mismatch in prom_init() for DDB5074?

To: Jun Sun <jsun@mvista.com>
Subject: RE: argument mismatch in prom_init() for DDB5074?
From: Harald Koerfgen <Harald.Koerfgen@home.ivm.de>
Date: Wed, 28 Jun 2000 09:35:22 +0200 (CEST)
Cc: linux-mips@fnet.fr, linux@cthulhu.engr.sgi.com
In-reply-to: <39596570.68939D9@mvista.com>
Organization: none
Reply-to: Harald Koerfgen <Harald.Koerfgen@home.ivm.de>
Sender: owner-linux-mips@oss.sgi.com
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

<Prev in Thread] Current Thread [Next in Thread>