[LispM-Hackers] More bare iron progress

John Morrison jm@mak.mak.com
Fri Mar 8 15:47:00 2002


Hi;

I *really* ought to be writing that report

(1) I have verified that the ersatz ucode can find reasonable contents
of the DHCP reply in x86 memory, including the DHCP-assigned Ethernet
address.

(2) I have verified that the ersatz ucode can find the load band in
x86 memory starting at 1MB, and that the length of the band as
specified in the Etherboot record describing it is correct, and that
at least the first 32 bytes of the load band are correct (according to
a hex dump on my Linux box).

(3) I have verified plenty (OK, all these things are relative, aren't
they?) of stack space -- the stack space starts at about 600KB (just
below the frame buffers) and grows downward.  The size of my test
program is only about 100K, with 57KB of program text, and about 50KB
of uninitialized data (I think these are interrupt vector tables).

Some things, however, are either broken or not there.

(1) Decimal format printing does not work to the console.

(2) I'm sure many other things don't work.

I have not verified:

(1) Whether interrupts still work.

(2) Whether the conservative GC works.

Other issues:

(1) Now would be a good time to let me know whether the inheritance
scheme is acceptable.  If so, I can start making changes to the code
to make it more compatible with e3 (e.g., change all my "jju32" types
to "e3u32" etc.)  I will have to make at least one CVS directory, etc.

(2) The code has some hard-coded BOOTP support in it.  In other words,
instead of including some system-level BOOTP code, for portability's
sake, I rewrote it.  That was S-T-O-O-P-I-D.  I violated one of my
own, dearest-held rules of thumb to NEVER write code you don't have
to.  Now that I am using DHCP instead, I have some options:

(a) Rip out the BOOTP stuff, because almost nobody uses it anymore (I
couldn't even FIND one that would build on my RedHat 7.2 box).

(b) Leave it, and add the DHCP stuff as a compile-time switch.

(c) Try to make the ersatz ucode REALLY clever.  ("Was I Etherbooted?
If so, was DHCP or BOOTP used?  If not, was I GRUB-booted?  How do I
find the load band?")

(d) Try to make it not care how it was booted to the maximum extent
possible.

Thoughts?

-jm

-- 
==== John Morrison
==== MAK Technologies Inc.
==== 185 Alewife Brook Parkway, Cambridge, MA 02138
==== http://www.mak.com/
==== vox:617-876-8085 x115
==== fax:617-876-9208
==== jm@mak.com