On 4/27/06, Brian L. Stuart <[EMAIL PROTECTED]> wrote: > I've got kind of mixed opinions on the subject of the PALcode. The > multiple console monitors do seem a little pointless. As near as > I can tell, the main motivation behind multiple PALcodes was to ease > porting VMS from the VAX and DigitalUNIX (or whatever it was called > that week) from the MIPS. One had a lot of built-in assumptions about > the VAX MMU and the four VAX processor modes and the other assumed > a lot about MIPS. That naturally led to the usual CS narcotic. "We'll > just abstract it away with an interface layer." In retrospect, it looks > to be an unnecessary bit of complexity. But at least it's vaguely > interesting, > unlike say the 7000 variations of how to specify which block you want > from an IDE drive.
If I understand well, PAL code is used to change the behaviour of AXP cpu, much like microcode - Linux PAL code is basically unchanged for all versions of Alpha, different mostly in interrupt handling and such things. Basically it can allow you to compile one plan9 kernel and boot it on every version of Alpha, changing only the bootloader part :) Basically, treat it like a microcode - except that its standard AXP assembly + 5 instructions. Boot process is if I remember: 1. <board specific init> 2. SRM 3. load OS bootloader 4. bootloader setups PAL and all the low level things and prepares environment for OS 5. kernel in control... At least that's how it was supposed to work in MILO (Linux Alpha bootloader) > BLS -- Paul Lasek
