[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