L4/Alpha palcodes

Goswin Brederlow goswin.brederlow at student.uni-tuebingen.de
Fri Jan 25 03:12:55 CET 2002

Daniel Potts <danielp at cse.unsw.edu.au> writes:

> On 22 Jan 2002, Goswin Brederlow wrote:
> > Hi,
> >
> > I hope this is the right place, havent read anything here for ages.
> >
> >
> > I was wondering whether the palcodes used by L4 on Alpha are disjunct
> > to the ones used by OSF / BSD / Linux.
> yes they are. An exception is l4_whoami which is an experimental syscall
> anyway. I think it maps directly to the OSF whoami call.


> > If not could they be made disjunct?
> >
> >
> > The idea I have in mind is to make a module for linux that catches the
> > L4 syscalls and throws them back into user-space. That way a L4
> > environment could be setup within linux.  It would be much like
> > user-space-linux and would save a lot of reboots just to test out a
> > few bytes of code.
> heh :) That would be an interesting project. I'd be interested to know
> how (if) you will deal with device drivers, memory etc.

What device drivers? :) Whats an device?

One would need a console (pseudo terminal device where the palcode can
read/write), which should be easy to do in kernel space, and some form
of IPC between L4 and linux or some network emulation. Another
emulated serial would probably do, because then slip or ppp could be
used as soon as someone ports it.

Memory on the other hand is more tricky. I have a programm for linux
that does its own memory protection via posix calls (mmap, sigaction,
mprotect), but for alpha that needs a small kernel patch for the
segfault handler (to make it work as its supposed to).

One could probably get away with introducing a new signal to the
sigaction for palcodes. Maybe a subset of the illegal instruction or
whatever a wrong palcode currently throws. Given that, everything can
be done in user space, although memory managment with mprotect isn't
the fastest or easiest.

But hey, beats a reboot any time. 

> > On the other hand, inside L4 you could do the same with OSF / BSD /
> > Linux syscalls and thus run their binaries under L4. (You want to run
> > Netscape under L4? Or Mathematica? Or something as simple as xemacs
> > and gcc?)
> >
> >
> > A l4-linux for alpha would also need those changes (if any) I believe.
> Yes that is how we would run unmodified Linux/Alpha binaries on L4..
> Cheers,
> Daniel

*dream* If L4 where that far.....


PS: any updates on the slow IRQ problem?

More information about the l4-hackers mailing list