Re: Problems building 21164 Palcode

Paul Barham (Paul.Barham@cl.cam.ac.uk)
Wed, 10 Jul 1996 08:35:23 +0100


> > [...] using standard GAS and GLD (2.6 with AXP patches)
> Here's the main problem. The 2.6+ gas didn't know about 21164 HW
> instructions at all (the -m switch was not connected to anything)
> and furthermore got the 21064 HW instructions wrong.

The -m21164 switch certainly _seemed_ to enable some new instructions
(e.g. hw_rei_stall) but, as you say, they weren't all there and
quite a few were assembled incorrectly.

It also seems that you must separately preprocess all of the .S
files and then throw all of the results at a single invocation of
the assembler, otherwise some of the branch instructions to
external symbols are badly relocated by the linker. Given the
use of multiple .text sections in the palcode, this is pretty
understandable and it's not much harder to write the makefiles to
do it whis way...

> The Alpha assembler has subsequently been rewritten. You'll need
> a resonably recent snapshot of gas to see it, though. An unofficial
> copy of it can be found at
>
> ftp://atheist.tamu.edu/pub/richard/gas-960707.tar.gz

Thanks, I'll pick that up. But since writing the PALcode is only
supposed to be a small part of the job, it may be easier to use
the EBSDK tools for the moment and wait until 2.7 binutils are
officially released....

Thanks for the prompt replies,

Paul

PS. We would really like to boot these machines with BOOTP, but
the EB164 debug monitor doesn't have a driver for our DEC
Ethernet cards which apparently have the 21041 chipset
rather than the 21040. Has anybody added 21041 support already?

(We considered adding BOOTP to milo, but really don't want to
drag all of the network device driver support code in from
Linux.)