[Top] [All Lists]

Re: argument mismatch in prom_init() for DDB5074?

To: Jun Sun <>
Subject: Re: argument mismatch in prom_init() for DDB5074?
From: "Gleb O. Raiko" <>
Date: Wed, 28 Jun 2000 11:44:08 +0400
Organization: NIISI RAN
References: <>

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.

Most of the ports have the same mismatch. Usually, bios/prom/bootloader
calls the box independend routine, kernel_netry (head.S) with some
arguments. kernel_enry prepares C environment and calls init_arch w/ the
same arguments. The number of the arguments and their types are box
dependent. kernel_entry and init_arch never try to access the arguments
to be passed by prom, but just pass the arguments to prom_init.
Moreover, the arguments declared in init_arch don't match any mips box,
they are mix of calling conventions of ARC console and DECstation prom
(the last one).

Fortunately, sizeof(int) == sizeof(long) == sizeof(pointer) in mips32,
so we may happy live with that.

> 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...

I think, you shouldn't fix the argument list, continue bug searching in
other places.


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