Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jul 2004 12:35:01 +1000
From:      Peter Grehan <grehan@freebsd.org>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: kernel not bootable today?
Message-ID:  <40FC84D5.4060300@freebsd.org>
In-Reply-To: <16635.59569.415380.622398@grasshopper.cs.duke.edu>
References:  <16634.61745.306200.480570@grasshopper.cs.duke.edu> <40FB1C83.3010800@freebsd.org> <16635.59569.415380.622398@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Drew,

> OK, now I'm really confused..  I thought I narrowed it down
> to your elf_machdep.c changes (which is confusing, as I'm not loading
> any modules).  I added some printfs, and the resulting kernel boots
> just fine.
> 
> Is it possible there is some sort of size or alignment issue?

  I just comitted a fix. The mtmsr() inlines don't do an isync, since
it isn't required for all bits in the msr, most noticeably the EE
bit. However, an context-syncing instruction is required when changing
the address relocation bits. I'm not exactly sure why putting in
printfs or running with syscons didn't expose this, but it should
be fixed now.

> On a related note, I don't think that the linker file
> is still unused in  elf_cpu_load_file().

  Ah yes. gcc didn't complain about that :-)

  Also, I found out that elf_cpu_load_file() is called when the kernel
is loaded, so there's no need to sync the icache for the entire kernel
when it's already been done for the loader. This might shave a
microsecond off boot time :-)

later,

Peter.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40FC84D5.4060300>