Article View: comp.sys.amiga.tech
Article #2908Re: ROM-Wack
From: Dave Haynie
Date: Tue, 23 Jan 1990 18:03
Date: Tue, 23 Jan 1990 18:03
35 lines
2493 bytes
2493 bytes
in article <71QR025m81NF01@amdahl.uts.amdahl.com>, dwl10@uts.amdahl.com (Dave Lowrey) says:
> - I use the FASTROM option of SETCPU on my A2500. When FASTROM is enabled,
> and I get a GURU, I have to boot twice. After the "Software error..."
> requestor, I get a blank (white or gray) screen. The 3 finger salute
> brings up the GURU alert. Then either the "left button" (and right
> button also, whats the difference?) or another 3 finger salute, will
> re-boot the system. Why does this happen?
When you specify FASTROM, SetCPU will take your ROM code, copy it to a buffer
in your 32 bit memory, set up the appropriate MMU table, and then bang the
MMU such that this RAM buffer is now mapped to the location of the ROM. Thus
you magically appear to have a 32 bit ROM, and things go faster.
The problem is when you get a GURU, and the ROM code decides to reset the
system, via the 680x0 RESET instruction. The MMU is an extension of the CPU
register map, and just like any other part of the CPU, it remains intact
through a RESET. However, the rest of the world, including any cards that
have been autoconfigured (eg, the 32 bit memory in your system), get reset.
So bascially, that RESET instruction yanks the ROM out from under the system.
As you might expect, this kind of hangs things until a full system reset
(powerup or keyboard) comes along and bangs the MMU registers back to their
harmless state.
The easiest way to make SetCPU handle this would be to have an operating system
call for reset that everything in the OS uses. That would allow SetCPU to
vector that Reset() function with SetFunction() to a reset function that
knew what SetCPU was doing. Though hopefully next time around the OS will
know more about the MMU and handle things even more robustly....
> "What is another word | Dave Lowrey | [The opinions expressed MAY be
--
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
{uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy
Too much of everything is just enough
Technical Details
Message-ID:
<9437@cbmvax.commodore.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!rutgers!cbmvax!davehReferences:
<71QR025m81NF01@amdahl.uts.amdahl.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.tech Subject: Re: ROM-Wack Message-ID: <9437@cbmvax.commodore.com> Date: 23 Jan 90 18:03:48 GMT References: <71QR025m81NF01@amdahl.uts.amdahl.com> Organization: Commodore, West Chester, PA Lines: 35