PPC/MCA RS/6000 port ?

Gabriel Paubert paubert at iram.es
Wed Mar 22 01:30:12 EST 2000


On Tue, 21 Mar 2000, Dave Weis wrote:

>
> On Mon, 20 Mar 2000, Gabriel Paubert wrote:
>
> > However, if the use direct store segments is _unavoidable_, significant
> > kernel modifications are required.
>
> I know we've (Gabriel and I) discussed this, but could you elaborate?
> Based on what I've read in my docs, I think it is unavoidable. I'm getting
> closer to having the boot process figured out. Once I've got some more
> questions, I'm going to send my info to the list and see if my data looks
> accurate.

Right now the segment registers are only changed on task switches.
To access devices which are addressed through direct store segments, you
have to load one segment register (which occupies 256Mb of virtual address
space) when you enter the driver for this device.

You might also have to save/restore the segment register on interrupts,
and you'd better remove this segment when returning to user space or you
may create a huge security hole.

The best solution might be to designate one segment as reserved for this
purpose (say the last one) and use a save/restore mechanism in each
routine which needs to acces this kind of device. You have to make sure
that all paths restore it to the state it had on entry, but at least you
don't have to muck with the low level system call and interrupt entry and
exit code.

	Gabriel.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list