[rescue] systems with user modifiable microcode.

Eric Dittman dittman at dittman.net
Wed Oct 2 15:28:36 CDT 2002


> >> Is the (PALcode?) for Alpha similar to writable control store?
> >
> > Nope.  In this case PALcode stands for "Privileged Architecture Library
> > code".
> >
> > Alpha PALcode provides an abstraction layer to the hardware which makes
> > it easier to port an OS to variations of the platform.  It's sometimes
> > different for each OS since each might have different requirements.
> 
>    While its intended use is different, it does amount to 
> runtime-modifiable microcode.  (not trying to start another of our 
> famous flame wars here, Greg)

I tend to think of PALcode as macromicrocode.  It does serve
to add missing features and cover over incompatibilities with
the OS, but the level really is above microcode.  I'd consider
it kind of an emulation layer.

Over time the need for some of the VMS PALcode has been negated
by changing the low-level code.  For the Itanium development,
even more of the low-level VMS source has been changed to make
VMS more architecture-independent.  One of the goals during the
Itanium development is to make VMS very easy to port to other
architectures, particularly POWER4.  If I can't have EV8 and
above, I'd much rather have VMS on POWERx than Itanium.

One thing of interest in regards to PALcode is the SRM variable
os_type.  If you set it to VMS the VMS PALcode is loaded.  If
you set it to UNIX or OSF the UNIX PALcode is loaded (and if
you set it to NT someone should take the Alpha away from you).
With Linux (and I'd guess *BSD, but I don't know for sure) the
UNIX PALcode is preferred, but will run with the VMS PALcode.
The difference is the system will run slower with the VMS
PALcode as it is optimized differently.
-- 
Eric Dittman
dittman at dittman.net
Check out the DEC Enthusiasts Club at http://www.dittman.net/



More information about the rescue mailing list