lkml.org 
[lkml]   [2004]   [Mar]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromNeil Brown <>
DateTue, 16 Mar 2004 12:35:02 +1100
SubjectRe: 2.6.4-mm1 - 4g patch breaks when X86_4G not selected
On Monday March 15, mingo@elte.hu wrote:
> 
> * Neil Brown <neilb@cse.unsw.edu.au> wrote:
> 
> > And it turns out it was spot on. Applying 4g-2.6.0-test2-mm2-A5.patch
> > (on top of preceding -mm1 patches) causes my server not to boot.
> 
> hm. Since your .config boots on akpm's box, this is some BIOS dependency
> creating an early-boot problem i fear. Debugging such bugs is hard. One 
> way would be via the PC speaker:
> 
> 	movb $0x3,%al; outb %al,$0x61
> 
> this will cause a continuous beep on a typical PC - it works in 16-bit
> code too, doesnt have any memory-model assumptions, etc.
> 
> the first place to put this would be startup_32 - do we get to this
> point at all? (check CONFIG_4G first, to make sure the beep triggers.) 
> If it beeps, then move it down until you find the place that crashes.
> 
> 	Ingo

Thanks for the pointer. I now have something useful to report.

start_kernel calls setup_arch 
 which calls paging_init
 which calls pagetable_init
 which calls setup_identity_mappings
 which calls page_address

If I put 
        asm("push %eax; movb $0x3,%al; outb %al,$0x61; popl %eax\n");
before the call to page_address, and
        asm("push %eax; movb $0x0,%al; outb %al,$0x61; popl %eax\n");
afterwards, then I get a tone after boot, suggesting that page_address
isn't returning.

I'm guessing that the problem is:

page_address calls
	spin_lock_irqsave(&pas->lock, flags);

but the spinlock isn't initialised by page_address_init 
until much later in start_kernel.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:01    [from the cache]
©2003-2008