[Top] [All Lists]

Re: Hrumph!

Subject: Re: Hrumph!
From: Warner Losh <>
Date: Sun, 03 Sep 1995 14:52:32 -0600
In-reply-to: Your message of Sun, 03 Sep 1995 19:12:13 +0200
: Anyway, if you aren't sure what works and what not, comment out
: everything in init/main.c that isn't essential. No drivers except
: console, no IRQs, no nothing. Perhaps even paging_init() etc.
: Well, guess you got it. Strip the kernel down to nearly nothing,
: and then try again to enable features again, step by step.

Well, I have the main code that looks like:
*(char *) 0xA00A0000 = '1'; 
        setup_arch(&command_line, &memory_start, &memory_end);
*(char *) 0xA00A0000 = '2'; 
        memory_start = paging_init(memory_start,memory_end);
*(char *) 0xA00A0000 = '3'; 
*(char *) 0xA00A0000 = '4'; 
*(char *) 0xA00A0000 = '5'; 
*(char *) 0xA00A0000 = '6'; 
*(char *) 0xA00A0000 = '7'; 
*(char *) 0xA00A0000 = '8'; 

Which is a *BIG* hammer (but much easier than the cylon[*] light).
I've found that setup_arch never returns....  Just thought I'd share
this technique with the list.  I'd bet most people know about it that
are actively working on Linux, but maybe some of the lurkers might

I get to '1', but I never see any other numbers.  Either setup_arch is
unmapping the ununmappable, or I'm on to something :-).  Anyway, this
gives me a big clue what is going on, so I'll keep working on it.
Just wanted to let people

BTW, I also wanted to thank everyone that has been sending me tips.
They are most helpful and useful.


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