Subject: Re: A fix for the panic on reboot problem in NetBSD 3.1 (tested in SE/30)
To: Sungwon Chung <lucky.cimon@gmail.com>
From: Martin Husemann <martin@duskware.de>
List: port-mac68k
Date: 01/02/2007 13:22:34
On Tue, Jan 02, 2007 at 07:05:46AM -0500, Sungwon Chung wrote:
> The region 'everything < start' is used in bootstrapping to get some
> information about video and memory configuration previously obtained
> by MacOS. When the cpu_reboot() is called, doboot() in locore.s executes
> a MacOS ROM reset subroutine for reset.  After execution is handed
> over to the MacOS ROM reset subroutine, the MacOS ROM may
> need to write the 'everything < start' region for interrupt vector table
> and so on, before reinitializing the MMU.

Wouldn't it be better to make that part of RAM writtable in cpu_reboot() only?
I couldn't find any ROM calls after initial bootstrap outside of doboot(),
but maybe I missed something. Are there interrupt vectors into the ROM?

We certainly do not risk a lot by making (small) parts of kernel text writable
when we are about to reset the machine ;-)

But first of all - does the same problem happen on your machine with -current?

Martin