linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Kernel hangs in console_init()
@ 2006-10-25 21:33 wei.li4
  2006-10-26 18:19 ` Scott Wood
  0 siblings, 1 reply; 3+ messages in thread
From: wei.li4 @ 2006-10-25 21:33 UTC (permalink / raw)
  To: linuxppc-embedded

Hi All,

I am working on linux 2.6.18-rc2 with my mpc875 demo board, I used 
Debugger LEDs to find that kernel stopped in:
	while (call < __con_initcall_end) {
		(*call)();
		call++;
        }
which is in console_init() of tty_io.c, what kind of problem could be?
What's the means of 'bctrl' instruction that I found in its assembler?

Thanks,
Wei

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel hangs in console_init()
  2006-10-25 21:33 Kernel hangs in console_init() wei.li4
@ 2006-10-26 18:19 ` Scott Wood
  2006-10-26 20:36   ` Becky Bruce
  0 siblings, 1 reply; 3+ messages in thread
From: Scott Wood @ 2006-10-26 18:19 UTC (permalink / raw)
  To: wei.li4; +Cc: linuxppc-embedded

wei.li4@elf.mcgill.ca wrote:
> Hi All,
> 
> I am working on linux 2.6.18-rc2 with my mpc875 demo board, I used 
> Debugger LEDs to find that kernel stopped in:
> 	while (call < __con_initcall_end) {
> 		(*call)();
> 		call++;
>         }
> which is in console_init() of tty_io.c, what kind of problem could be?
> What's the means of 'bctrl' instruction that I found in its assembler?

It's an indirect function call (i.e. the (*call)(); line) to the address 
specified in the CTR register.  You need to find out the value of *call 
in order to figure out which function is failing.  There are probably 
only a small number of possibilities that are actually configured into 
your kernel (look for console_initcall in files that get built for your 
target).

-Scott

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel hangs in console_init()
  2006-10-26 18:19 ` Scott Wood
@ 2006-10-26 20:36   ` Becky Bruce
  0 siblings, 0 replies; 3+ messages in thread
From: Becky Bruce @ 2006-10-26 20:36 UTC (permalink / raw)
  To: wei.li4; +Cc: linuxppc-embedded


On Oct 26, 2006, at 1:19 PM, Scott Wood wrote:

> wei.li4@elf.mcgill.ca wrote:
>> Hi All,
>>
>> I am working on linux 2.6.18-rc2 with my mpc875 demo board, I used
>> Debugger LEDs to find that kernel stopped in:
>> 	while (call < __con_initcall_end) {
>> 		(*call)();
>> 		call++;
>>         }
>> which is in console_init() of tty_io.c, what kind of problem could  
>> be?
>> What's the means of 'bctrl' instruction that I found in its  
>> assembler?
>
> It's an indirect function call (i.e. the (*call)(); line) to the  
> address
> specified in the CTR register.  You need to find out the value of  
> *call
> in order to figure out which function is failing.  There are probably
> only a small number of possibilities that are actually configured into
> your kernel (look for console_initcall in files that get built for  
> your
> target).
>
> -Scott


Wei,

For future reference, bctrl is not an instruction, but a simplified  
mnemonic.  Simplified mnemonics are there to make it easier to read  
and write assembly code; for example, you can write "bctrl" instead  
of "bcctrl 20,0".  These are all listed in appendix F of the  
Programming Environments Manual for 32-bit implementations of the  
PowerPC Architecture.

You won't find these instructions in the index of the manual, so  
whenever you run into an "instruction" that you don't find listed in  
the main part of the manual, try appendix F and hopefully that will  
help.

Cheers,
B

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-10-26 20:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-25 21:33 Kernel hangs in console_init() wei.li4
2006-10-26 18:19 ` Scott Wood
2006-10-26 20:36   ` Becky Bruce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).