[LMH]e3 (more or less) runs on bare iron

John Morrison jm@mak.com
Wed Apr 24 19:30:01 2002


Hi;

OK, these are excerpts from the debugging printouts captured via
"minicom" which is monitoring the serial line between the Linux box
that I'm cross-developing from (and upon which I am composing this
email) and the target PC.

Aside from editing out the many "Loading cluster" lines, these are
exactly the bits that came out.

Please notice that I still have not fixed the screwy radix issue, and
the number widths are screwy, too.  However, a cursory glance seems to
me that it is finding the same stuff in the load band that the
"normal," UNIX/Linux e3 build finds, even if the printouts are
entirely screwed up.  (I am also quite sure that the various mail
transfer agents between me and you are going to chainsaw up these
too-long lines, and make them even less readable.)

I shall endeavor to fix some of the issues by the end of the weekend.
I have also had mucked about minorly with the band-loading, but I
think I can unchange what I changed (mostly) and minimize the changes
entirely.

-jm

=== cut here ===

jJOS
jjEtherbootImageRecord::next() -- NO NEXT
jbHeap::setPhysicalLowAndHigh(00100000, 00200000)
jbHeap::setPhysicalLowAndHigh -- scrubbing memory...Done!
NOT setting up ramdisk
Hopefully, this is the load band at 0608E000.
 A9 81 69 EC 00 00 00 C6 00 00 00 3C A2 25 0C C2
 80 FB 6C C8 70 82 69 EC 05 00 00 C6 05 00 00 FC

SKIPPING TROUBLESOME identificationIsSupported.  $$$$$$$$$$ -jm
Processor type: "GenuineIntel"
jbHeap::allocate 00119000 for size 00000080
jjLinearFrameBuffer::clear_screen(0000000F) -- starting
jjLinearFrameBuffer::clear_screen() -- done
physMemManager::setupPageBitmap()
myMaxMem = 08000000
phys_pages = 00008000
virtMemManager::init -- number of pages = 00008000
&thePageDirectory = 0003F000
1: cr3_contents = 00000000
this = 0003F000
2: cr3_contents = 0003F000
3: cr3_contents = 0003F000
1: cr0_contents = 00000011
2: cr0_contents = 80000011
pageDirectory::install() -- paging enabled
jjEtherbootRamDiskLocation = 0608E000
jbHeap::allocate 0011A000 for size 00000028
virtMemManager::createAddressRange(20000000, 27FFFFFC)
e3MemMap::e3MemMap() -- beginning_of_range 20000000 end_of_range 27FFFFFC 0
e3MemMap::e3MemMap() -- created address range 1
e3MemMap::e3MemMap() -- created address range 2
e3MemMap::e3MemMap() -- created address range 3
e3MacroOpCodeEngine::setDebugging -- debugging is ON
Loading band "ignored"00000001jbHeap::allocate 0011B000 for size 00000004
jbHeap::allocate 0011B008 for size 00000008
origin_address = 0000000200003C0000000001Loading cluster 00000003 of 00001000
Loading cluster 00000004 of 00001000

=== cut here ===

[ many "Loading cluster" lines removed -jm ]

=== cut here ===

Loading cluster 000008B4 of 00001000
Done!00000001e3Band::~e3Band00000001e3Band::close -- NULL band_stream
e3LispM::runMainLoop00000001itlf_locative = 0000000216A0DAC9 = CDR_CODE=NORMAL;DTP=LOCATIVE        ;POINTER=00A0DAC900000001initial_dtp_function_addr = 0000000200A0DAC900000001initial_dtp_function_q = 00000002D866C000 = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=0066C00000000001e3LispM::disassembleMemory -- disassembling 0x00000014 words starting at 0x00A0DAC90000000100A0DAC9: jbHeap::allocate 0011B010 for size 00000008
D866C000 = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=0066C0000000000100A0DACA: jbHeap::allocate 0011B018 for size 00000008
E3_DTP_LIST00000001          cdr-coded car  = C244395A = CDR_CODE=NEXT  ;DTP=LIST            ;POINTER=0044395A00000001          cdr-coded last = 886D7F4C = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006D7F4C0000000100A0DACC: jbHeap::allocate 0011B020 for size 00000008
E3_DTP_SYMBOL_HEADER00000001          PRINT-NAME-CELL: EC9B698C = CDR_CODE=NEXT  ;DTP=SYMBOL_HEADER   ;POINTER=009B698C00000001          VALUE-CELL     : CA000042 = CDR_CODE=NEXT  ;DTP=FIX             ;POINTER=0000004200000001          FUNCTION-CELL  : FCA0DACC = CDR_CODE=NEXT  ;DTP=NULL            00000001          PROPERTY-CELL  : C244395C = CDR_CODE=NEXT  ;DTP=LIST            ;POINTER=0044395C00000001          PACKAGE-CELL   : 886D7F4C = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006D7F4C0000000100A0DAD1: jbHeap::allocate 0011B028 for size 00000008
E3_DTP_SYMBOL_HEADER00000001          PRINT-NAME-CELL: EC9B6993 = CDR_CODE=NEXT  ;DTP=SYMBOL_HEADER   ;POINTER=009B699300000001          VALUE-CELL     : FCA0DAD1 = CDR_CODE=NEXT  ;DTP=NULL            00000001          FUNCTION-CELL  : D846569B = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=0046569B00000001          PROPERTY-CELL  : C2443960 = CDR_CODE=NEXT  ;DTP=LIST            ;POINTER=0044396000000001          PACKAGE-CELL   : 886D7F4C = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006D7F4C0000000100A0DAD6: jbHeap::allocate 0011B030 for size 00000008
E3_DTP_SYMBOL_HEADER00000001          PRINT-NAME-CELL: EC9B6999 = CDR_CODE=NEXT  ;DTP=SYMBOL_HEADER   ;POINTER=009B699900000001          VALUE-CELL     : CAF10004 = CDR_CODE=NEXT  ;DTP=FIX             ;POINTER=00F1000400000001          FUNCTION-CELL  : FCA0DAD6 = CDR_CODE=NEXT  ;DTP=NULL            00000001          PROPERTY-CELL  : C2443964 = CDR_CODE=NEXT  ;DTP=LIST            ;POINTER=0044396400000001          PACKAGE-CELL   : 886D7F4C = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006D7F4C0000000100A0DADB: jbHeap::allocate 0011B038 for size 00000008
E3_DTP_SYMBOL_HEADER00000001          PRINT-NAME-CELL: EC9B69A1 = CDR_CODE=NEXT  ;DTP=SYMBOL_HEADER   ;POINTER=009B69A100000001          VALUE-CELL     : FCA0DADB = CDR_CODE=NEXT  ;DTP=NULL            00000001          FUNCTION-CELL  : FCA0DADB = CDR_CODE=NEXT  ;DTP=NULL            00000001          PROPERTY-CELL  : C2443968 = CDR_CODE=NEXT  ;DTP=LIST            ;POINTER=0044396800000001          PACKAGE-CELL   : 886D7F4C = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006D7F4C00000001e3MacroOpCodeEngine::setErrorHandlerStackGroup(C6000000 = CDR_CODE=NEXT  ;DTP=SYMBOL          ;POINTER=00000000)
e3MacroOpCodeEngine::setCurrentStackGroup(E004405D = CDR_CODE=NEXT  ;DTP=STACK_GROUP     ;POINTER=0004405D)
e3MacroOpCodeEngine::setInitialStackGroup(E004405D = CDR_CODE=NEXT  ;DTP=STACK_GROUP     ;POINTER=0004405D)
e3MacroOpCodeEngine::setLastArrayElementAccessed(CA000000 = CDR_CODE=NEXT  ;DTP=FIX             ;POINTER=00000000)
e3LispM::disassembleMemory -- disassembling 0x00000001 words starting at 0x0066C000000000010066C000: jbHeap::allocate 0011B040 for size 00000008
memFEFHeader::dump -- NOP00000001          header_q                      3400000A = CDR_CODE=NORMAL;DTP=FEF_HEADER      ;POINTER=0000000A00000001              cc = 0000000000000001              dtp = 0000001A00000001              special_form = 0000000000000001              if_defsubst = 0000000000000001              get_self_mapping_table = 0000000000000001              call_type = 0000000000000001              number_of_optional_arguments = 0000000000000001              number_of_required_arguments = 0000000000000001              number_of_locals = 0000000000000001              entry_pc_offset_in_words = 0000000A00000001          storage_length_q              CA000012 = CDR_CODE=NEXT  ;DTP=FIX             ;POINTER=0000001200000001              is_generic_function = 0000000100000001          pointer_to_debugging_info_q   886BAEAC = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006BAEAC00000001memFEFHeader::number_of_macro_instruction_words
  sizeOfInWords         = 0000001200000001  locationCounterOffset = 0000000A00000001  number_of_halfwords   = 0000001000000001 pc=0000000100000000   SET_NIL PDL|#o0000003F00000001 pc=0000000100000001 c CALL_1_DEST_INDS FEF|#o0000000500000001 pc=0000000100000002   PUSH FEF|#o0000000400000001 pc=0000000100000003 b BR_NOT_NIL_ELSE_POP disp=#o0000000100000001 pc=0000000100000004   PUSH FEF|#o0000000300000001 pc=0000000100000005 c CALL_1_DEST_INDS FEF|#o0000000600000001 pc=0000000100000006   PUSH FEF|#o0000000700000001 pc=0000000100000007 m miscop=#o0000009F00000001 pc=0000000100000008 b BR_NIL disp=#o0000000200000001 pc=0000000100000009 c CALL_0_DEST_INDS FEF|#o0000000800000001 pc=000000010000000A b BR_ALWAYS_NIL disp=#o000001FB00000001 pc=000000010000000B   PUSH FEF|#o0000000400000001 pc=000000010000000C b BR_NOT_NIL_ELSE_POP disp=#o0000000100000001 pc=000000010000000D   PUSH FEF|#o0000000300000001 pc=000000010000000E c CALL_1_DEST_INDS FEF|#o0000000900000001 pc=000000010000000!
F b BR_ALWAYS_NIL disp=#o000001F600000001e3LispM::dumpMemory -- dumping 0x0000000C words starting at 0x0066C000: 3400000A = CDR_CODE=NORMAL;DTP=FEF_HEADER      ;POINTER=0000000A000000010066C001: CA000012 = CDR_CODE=NEXT  ;DTP=FIX             ;POINTER=00000012000000010066C002: 886BAEAC = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=006BAEAC000000010066C003: E4674E75 = CDR_CODE=NEXT  ;DTP=EVCP            ;POINTER=00674E75000000010066C004: A46756AE = CDR_CODE=NIL   ;DTP=EVCP            ;POINTER=006756AE000000010066C005: E48889D5 = CDR_CODE=NEXT  ;DTP=EVCP            ;POINTER=008889D5000000010066C006: E46FD326 = CDR_CODE=NEXT  ;DTP=EVCP            ;POINTER=006FD326000000010066C007: C6674D52 = CDR_CODE=NEXT  ;DTP=SYMBOL          ;POINTER=00674D52000000010066C008: E4674D54 = CDR_CODE=NEXT  ;DTP=EVCP            ;POINTER=00674D54000000010066C009: A4A0E9F6 = CDR_CODE=NIL   ;DTP=EVCP            ;POINTER=00A0E9F6000000010066C00A: 8805DBFF = CDR_CODE=NIL   ;DTP=ARRAY           ;POINTER=!
0005DBFF000000010066C00B: E2015004 = CDR_CODE=NEXT  ;DTP=GC_F!
ORWARD      ;POINTER=0001500400000001FIVE00000001e3LispM::disassembleMemory -- disassembling 0x00000001 words starting at 0x008889D500000001008889D5: jbHeap::allocate 0011B048 for size 00000008
D83C2EC8 = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=003C2EC800000001SIX00000001e3LispM::disassembleMemory -- disassembling 0x00000001 words starting at 0x006FD32600000001006FD326: jbHeap::allocate 0011B050 for size 00000008
D8721F7C = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=00721F7C00000001myDTPFunction = 00000002D866C000 = CDR_CODE=NEXT  ;DTP=FUNCTION        ;POINTER=0066C00000000001memFEFHeader::number_of_macro_instruction_words
  sizeOfInWords         = 0000001200000001  locationCounterOffset =
0000000A00000001  number_of_halfwords   = 0000001000000001full