Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: The Firepower bugs - especially saving interrupt vectors?



> > Ooops, should have explained the problem.
> > 
> > The copy code assumes that the interrupt vectors were included in the
> > virtual address space.  The `firmware' I'm running doesn't do this.
> 
> Hmm, what firmware do you use?  Or what machine for that matter?
> 
> The idea is (as you might guess from the test in locore.S before calling
> ofwr_init) to call ofwr_init only on machines that are not able to run a
> client program in real mode.  On machines that are able to run the client
> program in real mode the whole mess in ofwreal.S isn't used.
> 
> > Doing the copy with VM disabled was just one possible way of getting
> > around this.
> 
> Depending on the way your firmware sets VM up, the current version of
> NetBSD/powerpc might not work with NetBSD/powerpc running as a virtual
> mode client.  This ofwreal.S stuff is really only intended as a workaround
> for the fact that Firmworks OpenFirmware implementation doesn't support
> running client programs in real mode.  It is hacked together with the
> way Firmworks OpenFirmware implements VM in mind.  I don't think that
> it'll work with other implementations of OpenFirmware when using the
> virtual client interface.  Actually I'm pretty sure that it will not work
> in the general case.
>

Is the firmware not running in real mode or does the firmware
have the impresstion that "real mode" is mapped 1-to-1 with vm turned on?
This is the situation on the MCG firmware which is based on Firmworks
openfirmware, same as Firepower. 

the text and data are mapped 1-to-1 for the MCG systems but the
stack actually is not, it is in segment 6.

What is the real definition of real mode? Running with vm turned off
or running mapped 1-to-1.

Dale Rahn



Home | Main Index | Thread Index | Old Index