Subject: Re: Switching between RiscOS and RiscBSD
To: None <port-arm32@NetBSD.ORG>
From: Robert Black <r.black@IC.AC.UK>
List: port-arm32
Date: 06/14/1996 11:48:15
On Jun 14,  9:14am, Alex McLintock wrote:
> Subject: Switching between RiscOS and RiscBSD
>      This may seem like a dumb question from a technical point of view (it
>      has been ages since I did an operating systems course) but....
>
>      Is it (or will it be) possible to freeze RiscBSD and then run RiscOS
>      apps for a bit and then return to RiscBSD? I guess that the entire
>      virtual memory needs to be frozen and I guess that you better disallow
>      unixfs whilst BSD is frozen but this facility would be extremely
>      useful.
>
>      (I am not expecting anything from RiscOS to survive running RiscBSD -
>      only vice versa)

Okay, well just let me outline what this entails and I think you'll see why we
don't do it.

Firstly you have to save the state of the processor and VM. This is not
technically very difficult. Solaris does it as part of its power-management so
it can power down bits of the machine when it is idle. Then you have to save
the state of the hardware. Since most of the hardware registers are either
readable or writeable but not both this would require the drivers to maintain a
soft copy of every register and provide extra hooks to save and restore the
driver state. This problem becomes even worse when you consider that many
devices are state machines so it is not just the current registers which are
important. Okay, so in theory this is doable. Now you have the problem that
many of the devices are machine-independant within the NetBSD source tree so in
order to implement these facilities you have to change *every* port and *every*
driver of NetBSD to support it. I can really see the NetBSD core team going for
that one...

An easier option is probably to write a full RiscPC emulator to run under
RiscBSD and run RiscOS like that.

Cheers

Rob

--