[LispM] World Files

Robert Swindells rjs at fdy2.co.uk
Tue Jul 22 05:26:21 PDT 2014


ams at gnu.org (Alfred M. Szmidt) wrote:

>   For an odd bit of entertainment, I have been attempting to decypher
>   world files.  (I have an Ivory/XL1200.) Based on information
>   available in i-sys/sysdef.lisp and netboot/world-substrate.lisp I
>   have made some progress.  I have, however, hit a wall and am
>   looking for some inspiration.
>
>   When the FEP loads and boots a world, it must read the world file
>   into memory, build an environment for it and, eventually, vector to
>   it.  It appears that the definition of this "environment" is not
>   readily obvious from the source code.  It appears, for example,
>   that the function QLD is the initial entry point inside the LISP
>   world (although how we get to that function is unclear to me).
>   Also, the world file describes both wired and un-wired regions of
>   memory.  How the unwired page table is communicated to the code
>   within the world and where it should be located is equally not
>   obvious.
>
>   Has anyone tinkered around at this level, and would be in a
>   position to provide some hints?  I am trying to understand the FEP
>   -> World protocol.
>
>Ten years later, we get an answer -- but not exactly what you might be
>looking for.  Did you get any further in your digging? :-)

>Here is a fun document on cold loading:

Your document describes how LMI bootstrapped a new Lisp image, a
process that had evolved from the way the MIT CADR did things, their
final source tree is in Joe Marshall's repository.

I have made changes to the MIT sources to allow QLD to pull in the
extra object files needed using TFTP.

I have no idea how much Symbolics had changed their bootstrap process,
it is interesting though that the entry function still has the same
name.

Robert Swindells



More information about the LispM mailing list