26.13 Mapping of LISP Addresses to C addresses
This paragraph applies for some architectures only, e.g. the IBM/RS, HP PA-Risc and
MIPS where the system architecture uses ’high’ bits in the addresses which conflict with the
PSL tagging mechanism.(See the paragraph on the Size of the Address space above). The
consequence of this is that using the inf operation for calculating the C equivalent from a LISP
address does not work here. The easiest way (without explaining the reason) of mapping for the
architectures is:
IBM/RS | (mkstr item) |
HP PA-Risc | (mkvec item) |
Mips | (wshift (inf item) 2) |
Linux_elf | (mkfixn item) |
On Convex systems the ’high’ bit is the leftmost one. Therefore the tag bits start at bit 1 and the
inf range is limited by 26 bits. The inf operation works as expected.