Thread: [ES40-developers] Misc Patches
Status: Alpha
Brought to you by:
iamcamiel
From: Brian W. <bdw...@in...> - 2008-04-22 13:58:15
Attachments:
system.diff
floppy.diff
|
Here's a few patches for things I've been working on: 1) system.diff * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order that it is searched: ES40 Memory Map Physical Address Size Device/Index ---------------- -------- ------------------------- 0000080110000000 100000 sys0(tsunami)/0 0000080100000000 8000000 sys0(tsunami)/0 00000801fc000080 1 pci0.7(ali)/0 00000801fc000000 8 pci0.7(ali)/4100 00000801fc000008 8 pci0.7(ali)/4096 00000801fc000081 b pci0.7(ali)/4098 00000801fc0000c0 10 pci0.7(ali)/4101 00000801fc0000d0 10 pci0.7(ali)/4097 00000801fc000481 b pci0.7(ali)/4099 00000801fc00040b 1 pci0.7(ali)/4102 00000801fc0004d6 1 pci0.7(ali)/4103 00000801fc0003f0 6 pci0.7(ali)/0 00000801fc0003f7 1 pci0.7(ali)/1 00000801fe009800 100 pci0.19(ali_usb)/2055 00000801fc000061 1 pci0.7(ali)/1 00000801fc000070 4 pci0.7(ali)/2 00000801fe003800 100 pci0.7(ali)/2055 00000801fc000040 4 pci0.7(ali)/6 00000801fc000020 2 pci0.7(ali)/7 00000801fc0000a0 2 pci0.7(ali)/8 00000801fc0004d0 2 pci0.7(ali)/30 00000801f8000000 1 pci0.7(ali)/20 00000801fc0003bc 4 pci0.7(ali)/27 00000801fc000060 1 pci0.7(ali)/0 00000801fc000064 1 pci0.7(ali)/1 00000801fc0001f0 8 pci0.15(ali_ide)/1 00000801fc0003f6 1 pci0.15(ali_ide)/2 00000801fc000170 8 pci0.15(ali_ide)/3 00000801fc000376 2 pci0.15(ali_ide)/4 00000801fc00f000 8 pci0.15(ali_ide)/5 00000801fc00f008 8 pci0.15(ali_ide)/6 00000801fe007800 100 pci0.15(ali_ide)/2055 00000801fc0001f0 8 pci0.15(ali_ide)/2048 00000801fc0003f4 4 pci0.15(ali_ide)/2049 00000801fc000170 8 pci0.15(ali_ide)/2050 00000801fc000374 4 pci0.15(ali_ide)/2051 00000801fc00f000 10 pci0.15(ali_ide)/2052 00000801fc0003f8 8 serial0(serial)/0 * When changing/defining memory regions, a simple bounds check is performed, which prints out warnings if there appears to be an overlap: WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). 2) floppy.diff This covers DMA.* FloppyController.* and PCIDevice.h changes to make the floppy sort of work. It won't boot from it and I can't figure out why. It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but it is a start. P00>>>boot dva0 (boot dva0.0.0.1000.0 -flags A) Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid boot block bootstrap failure P00>>> Brian |
From: Vanderhoeven, C. (Camiel) <c.v...@mi...> - 2008-04-23 09:02:30
|
Hi Brian, This looks promising. I'll start applying your patches when I get home. There is one thing though, I think that the floppy-controller should use CDisk class devices for its drives. That requires a modification to the CDiskController class and its dependant classes (CDiskController should no longer have PCIDevice as a base class (because the Floppy Controller is not a PCI device), and the Symbios and IDE controllers should inherit from PCIDevice directly). This is something I meant to do a while ago, so I'll start implementing that as well. Thanks Brian! Camiel. -----Oorspronkelijk bericht----- Van: es4...@li... [mailto:es4...@li...] Namens Brian Wheeler Verzonden: dinsdag 22 april 2008 15:58 Aan: ES40 Developer Discussions Onderwerp: [ES40-developers] Misc Patches Here's a few patches for things I've been working on: 1) system.diff * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order that it is searched: ES40 Memory Map Physical Address Size Device/Index ---------------- -------- ------------------------- 0000080110000000 100000 sys0(tsunami)/0 0000080100000000 8000000 sys0(tsunami)/0 00000801fc000080 1 pci0.7(ali)/0 00000801fc000000 8 pci0.7(ali)/4100 00000801fc000008 8 pci0.7(ali)/4096 00000801fc000081 b pci0.7(ali)/4098 00000801fc0000c0 10 pci0.7(ali)/4101 00000801fc0000d0 10 pci0.7(ali)/4097 00000801fc000481 b pci0.7(ali)/4099 00000801fc00040b 1 pci0.7(ali)/4102 00000801fc0004d6 1 pci0.7(ali)/4103 00000801fc0003f0 6 pci0.7(ali)/0 00000801fc0003f7 1 pci0.7(ali)/1 00000801fe009800 100 pci0.19(ali_usb)/2055 00000801fc000061 1 pci0.7(ali)/1 00000801fc000070 4 pci0.7(ali)/2 00000801fe003800 100 pci0.7(ali)/2055 00000801fc000040 4 pci0.7(ali)/6 00000801fc000020 2 pci0.7(ali)/7 00000801fc0000a0 2 pci0.7(ali)/8 00000801fc0004d0 2 pci0.7(ali)/30 00000801f8000000 1 pci0.7(ali)/20 00000801fc0003bc 4 pci0.7(ali)/27 00000801fc000060 1 pci0.7(ali)/0 00000801fc000064 1 pci0.7(ali)/1 00000801fc0001f0 8 pci0.15(ali_ide)/1 00000801fc0003f6 1 pci0.15(ali_ide)/2 00000801fc000170 8 pci0.15(ali_ide)/3 00000801fc000376 2 pci0.15(ali_ide)/4 00000801fc00f000 8 pci0.15(ali_ide)/5 00000801fc00f008 8 pci0.15(ali_ide)/6 00000801fe007800 100 pci0.15(ali_ide)/2055 00000801fc0001f0 8 pci0.15(ali_ide)/2048 00000801fc0003f4 4 pci0.15(ali_ide)/2049 00000801fc000170 8 pci0.15(ali_ide)/2050 00000801fc000374 4 pci0.15(ali_ide)/2051 00000801fc00f000 10 pci0.15(ali_ide)/2052 00000801fc0003f8 8 serial0(serial)/0 * When changing/defining memory regions, a simple bounds check is performed, which prints out warnings if there appears to be an overlap: WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). 2) floppy.diff This covers DMA.* FloppyController.* and PCIDevice.h changes to make the floppy sort of work. It won't boot from it and I can't figure out why. It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but it is a start. P00>>>boot dva0 (boot dva0.0.0.1000.0 -flags A) Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid boot block bootstrap failure P00>>> Brian Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is gezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico's verbonden aan het elektronisch verzenden van berichten. This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages. |
From: Brian W. <bdw...@in...> - 2008-04-23 12:31:01
|
On Wed, 2008-04-23 at 11:02 +0200, Vanderhoeven, C. (Camiel) wrote: > Hi Brian, > > This looks promising. I'll start applying your patches when I get home. > > There is one thing though, I think that the floppy-controller should use > CDisk class devices for its drives. That requires a modification to the > CDiskController class and its dependant classes (CDiskController should > no longer have PCIDevice as a base class (because the Floppy Controller > is not a PCI device), and the Symbios and IDE controllers should inherit > from PCIDevice directly). This is something I meant to do a while ago, > so I'll start implementing that as well. > The CDisk thing I just hadn't gotten around to, since I was just trying to get it to not fail utterly :) Any idea what Block 001E2000 is not in any zone, call pc aa524 from SRM means? Brian > Thanks Brian! > > Camiel. > > > -----Oorspronkelijk bericht----- > Van: es4...@li... > [mailto:es4...@li...] Namens Brian > Wheeler > Verzonden: dinsdag 22 april 2008 15:58 > Aan: ES40 Developer Discussions > Onderwerp: [ES40-developers] Misc Patches > > Here's a few patches for things I've been working on: > > > 1) system.diff > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > that it is searched: > > ES40 Memory Map > Physical Address Size Device/Index > ---------------- -------- ------------------------- > 0000080110000000 100000 sys0(tsunami)/0 > 0000080100000000 8000000 sys0(tsunami)/0 > 00000801fc000080 1 pci0.7(ali)/0 > 00000801fc000000 8 pci0.7(ali)/4100 > 00000801fc000008 8 pci0.7(ali)/4096 > 00000801fc000081 b pci0.7(ali)/4098 > 00000801fc0000c0 10 pci0.7(ali)/4101 > 00000801fc0000d0 10 pci0.7(ali)/4097 > 00000801fc000481 b pci0.7(ali)/4099 > 00000801fc00040b 1 pci0.7(ali)/4102 > 00000801fc0004d6 1 pci0.7(ali)/4103 > 00000801fc0003f0 6 pci0.7(ali)/0 > 00000801fc0003f7 1 pci0.7(ali)/1 > 00000801fe009800 100 pci0.19(ali_usb)/2055 > 00000801fc000061 1 pci0.7(ali)/1 > 00000801fc000070 4 pci0.7(ali)/2 > 00000801fe003800 100 pci0.7(ali)/2055 > 00000801fc000040 4 pci0.7(ali)/6 > 00000801fc000020 2 pci0.7(ali)/7 > 00000801fc0000a0 2 pci0.7(ali)/8 > 00000801fc0004d0 2 pci0.7(ali)/30 > 00000801f8000000 1 pci0.7(ali)/20 > 00000801fc0003bc 4 pci0.7(ali)/27 > 00000801fc000060 1 pci0.7(ali)/0 > 00000801fc000064 1 pci0.7(ali)/1 > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > 00000801fc000170 8 pci0.15(ali_ide)/3 > 00000801fc000376 2 pci0.15(ali_ide)/4 > 00000801fc00f000 8 pci0.15(ali_ide)/5 > 00000801fc00f008 8 pci0.15(ali_ide)/6 > 00000801fe007800 100 pci0.15(ali_ide)/2055 > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > 00000801fc000170 8 pci0.15(ali_ide)/2050 > 00000801fc000374 4 pci0.15(ali_ide)/2051 > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > 00000801fc0003f8 8 serial0(serial)/0 > > * When changing/defining memory regions, a simple bounds check is > performed, which prints out warnings if there appears to be an overlap: > > WARNING: Start address for pci0.15(ali_ide)/2049 > (00000801fc0003f4-00000801fc0003f7) > is within memory range of pci0.7(ali)/0 > (00000801fc0003f0-00000801fc0003f5). > WARNING: End address for pci0.15(ali_ide)/2049 > (00000801fc0003f4-00000801fc0003f7) > is within memory range of pci0.7(ali)/1 > (00000801fc0003f7-00000801fc0003f7). > > > 2) floppy.diff > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > floppy sort of work. It won't boot from it and I can't figure out why. > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > it is a start. > > P00>>>boot dva0 > (boot dva0.0.0.1000.0 -flags A) > Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not > in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid > boot block bootstrap failure > P00>>> > > Brian > > Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is gezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico's verbonden aan het elektronisch verzenden van berichten. > > This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Camiel V. <iam...@gm...> - 2008-04-23 12:38:37
|
Hi Brian, I've seen a message very similar during my early attempts (pre-2007) to get the emulator working: This is serial port #0 on AlphaSim *** keyboard not plugged in... 64 Meg of system memory Block FFF56020 is not in any zone, call pc 53a78 free: call pc 5a118 probing hose 1, PCI But I was never able to determine the cause of it. I was then still trying to emulate a DS10; I switched to an ES40 because I could find more information about it, and never saw the error message since. It seems to be related to the SRM's IO system. Camiel. On Wed, Apr 23, 2008 at 2:30 PM, Brian Wheeler <bdw...@in...> wrote: > > On Wed, 2008-04-23 at 11:02 +0200, Vanderhoeven, C. (Camiel) wrote: > > Hi Brian, > > > > This looks promising. I'll start applying your patches when I get home. > > > > There is one thing though, I think that the floppy-controller should use > > CDisk class devices for its drives. That requires a modification to the > > CDiskController class and its dependant classes (CDiskController should > > no longer have PCIDevice as a base class (because the Floppy Controller > > is not a PCI device), and the Symbios and IDE controllers should inherit > > from PCIDevice directly). This is something I meant to do a while ago, > > so I'll start implementing that as well. > > > > The CDisk thing I just hadn't gotten around to, since I was just trying > to get it to not fail utterly :) > > Any idea what > > > Block 001E2000 is not in any zone, call pc aa524 > > from SRM means? > > Brian > > > > > Thanks Brian! > > > > Camiel. > > > > > > -----Oorspronkelijk bericht----- > > Van: es4...@li... > > [mailto:es4...@li...] Namens Brian > > Wheeler > > Verzonden: dinsdag 22 april 2008 15:58 > > Aan: ES40 Developer Discussions > > Onderwerp: [ES40-developers] Misc Patches > > > > Here's a few patches for things I've been working on: > > > > > > 1) system.diff > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > that it is searched: > > > > ES40 Memory Map > > Physical Address Size Device/Index > > ---------------- -------- ------------------------- > > 0000080110000000 100000 sys0(tsunami)/0 > > 0000080100000000 8000000 sys0(tsunami)/0 > > 00000801fc000080 1 pci0.7(ali)/0 > > 00000801fc000000 8 pci0.7(ali)/4100 > > 00000801fc000008 8 pci0.7(ali)/4096 > > 00000801fc000081 b pci0.7(ali)/4098 > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > 00000801fc000481 b pci0.7(ali)/4099 > > 00000801fc00040b 1 pci0.7(ali)/4102 > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > 00000801fc0003f0 6 pci0.7(ali)/0 > > 00000801fc0003f7 1 pci0.7(ali)/1 > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > 00000801fc000061 1 pci0.7(ali)/1 > > 00000801fc000070 4 pci0.7(ali)/2 > > 00000801fe003800 100 pci0.7(ali)/2055 > > 00000801fc000040 4 pci0.7(ali)/6 > > 00000801fc000020 2 pci0.7(ali)/7 > > 00000801fc0000a0 2 pci0.7(ali)/8 > > 00000801fc0004d0 2 pci0.7(ali)/30 > > 00000801f8000000 1 pci0.7(ali)/20 > > 00000801fc0003bc 4 pci0.7(ali)/27 > > 00000801fc000060 1 pci0.7(ali)/0 > > 00000801fc000064 1 pci0.7(ali)/1 > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > 00000801fc0003f8 8 serial0(serial)/0 > > > > * When changing/defining memory regions, a simple bounds check is > > performed, which prints out warnings if there appears to be an overlap: > > > > WARNING: Start address for pci0.15(ali_ide)/2049 > > (00000801fc0003f4-00000801fc0003f7) > > is within memory range of pci0.7(ali)/0 > > (00000801fc0003f0-00000801fc0003f5). > > WARNING: End address for pci0.15(ali_ide)/2049 > > (00000801fc0003f4-00000801fc0003f7) > > is within memory range of pci0.7(ali)/1 > > (00000801fc0003f7-00000801fc0003f7). > > > > > > 2) floppy.diff > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > floppy sort of work. It won't boot from it and I can't figure out why. > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > it is a start. > > > > P00>>>boot dva0 > > (boot dva0.0.0.1000.0 -flags A) > > Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not > > in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid > > boot block bootstrap failure > > P00>>> > > > > Brian > > > > Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is gezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico's verbonden aan het elektronisch verzenden van berichten. > > > > This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages. > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Brian W. <bdw...@in...> - 2008-04-23 12:42:56
|
On Wed, 2008-04-23 at 14:38 +0200, Camiel Vanderhoeven wrote: > Hi Brian, > > I've seen a message very similar during my early attempts (pre-2007) > to get the emulator working: > > This is serial port #0 on AlphaSim > *** keyboard not plugged in... > 64 Meg of system memory > Block FFF56020 is not in any zone, call pc 53a78 > free: call pc 5a118 > probing hose 1, PCI > > But I was never able to determine the cause of it. I was then still > trying to emulate a DS10; I switched to an ES40 because I could find > more information about it, and never saw the error message since. > > It seems to be related to the SRM's IO system. > That'd make some sense, since that's part of the address that was requested with the DMA transfer. I'll see if I can get more details. Brian > Camiel. > > > On Wed, Apr 23, 2008 at 2:30 PM, Brian Wheeler <bdw...@in...> wrote: > > > > On Wed, 2008-04-23 at 11:02 +0200, Vanderhoeven, C. (Camiel) wrote: > > > Hi Brian, > > > > > > This looks promising. I'll start applying your patches when I get home. > > > > > > There is one thing though, I think that the floppy-controller should use > > > CDisk class devices for its drives. That requires a modification to the > > > CDiskController class and its dependant classes (CDiskController should > > > no longer have PCIDevice as a base class (because the Floppy Controller > > > is not a PCI device), and the Symbios and IDE controllers should inherit > > > from PCIDevice directly). This is something I meant to do a while ago, > > > so I'll start implementing that as well. > > > > > > > The CDisk thing I just hadn't gotten around to, since I was just trying > > to get it to not fail utterly :) > > > > Any idea what > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > from SRM means? > > > > Brian > > > > > > > > > Thanks Brian! > > > > > > Camiel. > > > > > > > > > -----Oorspronkelijk bericht----- > > > Van: es4...@li... > > > [mailto:es4...@li...] Namens Brian > > > Wheeler > > > Verzonden: dinsdag 22 april 2008 15:58 > > > Aan: ES40 Developer Discussions > > > Onderwerp: [ES40-developers] Misc Patches > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > 1) system.diff > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > that it is searched: > > > > > > ES40 Memory Map > > > Physical Address Size Device/Index > > > ---------------- -------- ------------------------- > > > 0000080110000000 100000 sys0(tsunami)/0 > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > 00000801fc000080 1 pci0.7(ali)/0 > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > 00000801fc000081 b pci0.7(ali)/4098 > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > 00000801fc000481 b pci0.7(ali)/4099 > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > 00000801fc000061 1 pci0.7(ali)/1 > > > 00000801fc000070 4 pci0.7(ali)/2 > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > 00000801fc000040 4 pci0.7(ali)/6 > > > 00000801fc000020 2 pci0.7(ali)/7 > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > 00000801f8000000 1 pci0.7(ali)/20 > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > 00000801fc000060 1 pci0.7(ali)/0 > > > 00000801fc000064 1 pci0.7(ali)/1 > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > * When changing/defining memory regions, a simple bounds check is > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 > > > (00000801fc0003f4-00000801fc0003f7) > > > is within memory range of pci0.7(ali)/0 > > > (00000801fc0003f0-00000801fc0003f5). > > > WARNING: End address for pci0.15(ali_ide)/2049 > > > (00000801fc0003f4-00000801fc0003f7) > > > is within memory range of pci0.7(ali)/1 > > > (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > 2) floppy.diff > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > it is a start. > > > > > > P00>>>boot dva0 > > > (boot dva0.0.0.1000.0 -flags A) > > > Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not > > > in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid > > > boot block bootstrap failure > > > P00>>> > > > > > > Brian > > > > > > Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is gezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico's verbonden aan het elektronisch verzenden van berichten. > > > > > > This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages. > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Brian W. <bdw...@in...> - 2008-04-23 15:57:45
Attachments:
floppy-20080423.diff
|
Not sure what I did, but it went away. The floppy device now sort of works for read-only: P00>>>boot dva0 (boot dva0.0.0.1000.0 -flags A) block 0 of dva0.0.0.1000.0 is a valid boot block reading 81 blocks from dva0.0.0.1000.0 bootstrap code read in base = 200000, image_start = 0, image_bytes = a200(41472) initializing HWRPB at 2000 initializing page table at ff56000 initializing machine state setting affinity to the primary CPU jumping to bootstrap code However, the emulator segfaults at that point. My debugger shows that the crash is in CAlphaCPU::vmspal_ent_dtbm_single(int flags). Could be a threading thing, as well, since the last message on the console is: *** IP interrupt set for CPU 0 from CPU 0(@ 110d5) It doesn't work in any guest OSes at this point...but it doesn't hang them either... I'm going to hold off doing too much more until the CDisk class gets straightened out. Out of curiosity, how are you planning on handling removable media? It seems like we'll need an out-of-band way to notify es40 of a disk change. Brian On Wed, 2008-04-23 at 08:42 -0400, Brian Wheeler wrote: > On Wed, 2008-04-23 at 14:38 +0200, Camiel Vanderhoeven wrote: > > Hi Brian, > > > > I've seen a message very similar during my early attempts (pre-2007) > > to get the emulator working: > > > > This is serial port #0 on AlphaSim > > *** keyboard not plugged in... > > 64 Meg of system memory > > Block FFF56020 is not in any zone, call pc 53a78 > > free: call pc 5a118 > > probing hose 1, PCI > > > > But I was never able to determine the cause of it. I was then still > > trying to emulate a DS10; I switched to an ES40 because I could find > > more information about it, and never saw the error message since. > > > > It seems to be related to the SRM's IO system. > > > > That'd make some sense, since that's part of the address that was > requested with the DMA transfer. I'll see if I can get more details. > > Brian > > > > Camiel. > > > > > > On Wed, Apr 23, 2008 at 2:30 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > On Wed, 2008-04-23 at 11:02 +0200, Vanderhoeven, C. (Camiel) wrote: > > > > Hi Brian, > > > > > > > > This looks promising. I'll start applying your patches when I get home. > > > > > > > > There is one thing though, I think that the floppy-controller should use > > > > CDisk class devices for its drives. That requires a modification to the > > > > CDiskController class and its dependant classes (CDiskController should > > > > no longer have PCIDevice as a base class (because the Floppy Controller > > > > is not a PCI device), and the Symbios and IDE controllers should inherit > > > > from PCIDevice directly). This is something I meant to do a while ago, > > > > so I'll start implementing that as well. > > > > > > > > > > The CDisk thing I just hadn't gotten around to, since I was just trying > > > to get it to not fail utterly :) > > > > > > Any idea what > > > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > from SRM means? > > > > > > Brian > > > > > > > > > > > > > Thanks Brian! > > > > > > > > Camiel. > > > > > > > > > > > > -----Oorspronkelijk bericht----- > > > > Van: es4...@li... > > > > [mailto:es4...@li...] Namens Brian > > > > Wheeler > > > > Verzonden: dinsdag 22 april 2008 15:58 > > > > Aan: ES40 Developer Discussions > > > > Onderwerp: [ES40-developers] Misc Patches > > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > 1) system.diff > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > that it is searched: > > > > > > > > ES40 Memory Map > > > > Physical Address Size Device/Index > > > > ---------------- -------- ------------------------- > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 > > > > (00000801fc0003f4-00000801fc0003f7) > > > > is within memory range of pci0.7(ali)/0 > > > > (00000801fc0003f0-00000801fc0003f5). > > > > WARNING: End address for pci0.15(ali_ide)/2049 > > > > (00000801fc0003f4-00000801fc0003f7) > > > > is within memory range of pci0.7(ali)/1 > > > > (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > 2) floppy.diff > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > it is a start. > > > > > > > > P00>>>boot dva0 > > > > (boot dva0.0.0.1000.0 -flags A) > > > > Block 001E2000 is not in any zone, call pc aa524 Block 001E6000 is not > > > > in any zone, call pc aa524 block 0 of dva0.0.0.1000.0 is not a valid > > > > boot block bootstrap failure > > > > P00>>> > > > > > > > > Brian > > > > > > > > Dit bericht kan informatie bevatten die niet voor u is bestemd. Indien u niet de geadresseerde bent of dit bericht abusievelijk aan u is gezonden, wordt u verzocht dat aan de afzender te melden en het bericht te verwijderen. De Staat aanvaardt geen aansprakelijkheid voor schade, van welke aard ook, die verband houdt met risico's verbonden aan het elektronisch verzenden van berichten. > > > > > > > > This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. The State accepts no liability for damage of any kind resulting from the risks inherent in the electronic transmission of messages. > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Camiel V. <iam...@gm...> - 2008-04-29 08:28:01
|
Hi Brian, I've applied the system patch. I've changed it a little so the range check is only performed when CHECK_MEM_RANGES is defined. I've added both defines to the configure_1.m4 script, with default values of false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. I've also updated CDiskController and all its descendants to eliminate the dependence on CPCIDevice. I'll now start on adapting your floppy changes to use CDisk disk images (or real devices). I'll also make it possible to disable the floppy-device entirely for the people that don't need it (probably the majority of users). As for removable media: this is something we should start addressing sometime soon. I'm proposing to handle this in two possible ways: 1) for physical devices (CDiskDevice) we should check with the OS whether a media change has occurred. 2) for non-phisical devices, I'm proposing the introduction of a new Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. Other disks connect to it, and which disk is active can be selected through the serial port menu. The DiskChanger class itself is a simple wrapper around the selected disk's methods. So you'd have something like this in the config file: disk0.0 = changer { disk 0.0 = {...} disk 0.1 = {...} ... } Camiel. On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > Here's a few patches for things I've been working on: > > > 1) system.diff > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > that it is searched: > > ES40 Memory Map > Physical Address Size Device/Index > ---------------- -------- ------------------------- > 0000080110000000 100000 sys0(tsunami)/0 > 0000080100000000 8000000 sys0(tsunami)/0 > 00000801fc000080 1 pci0.7(ali)/0 > 00000801fc000000 8 pci0.7(ali)/4100 > 00000801fc000008 8 pci0.7(ali)/4096 > 00000801fc000081 b pci0.7(ali)/4098 > 00000801fc0000c0 10 pci0.7(ali)/4101 > 00000801fc0000d0 10 pci0.7(ali)/4097 > 00000801fc000481 b pci0.7(ali)/4099 > 00000801fc00040b 1 pci0.7(ali)/4102 > 00000801fc0004d6 1 pci0.7(ali)/4103 > 00000801fc0003f0 6 pci0.7(ali)/0 > 00000801fc0003f7 1 pci0.7(ali)/1 > 00000801fe009800 100 pci0.19(ali_usb)/2055 > 00000801fc000061 1 pci0.7(ali)/1 > 00000801fc000070 4 pci0.7(ali)/2 > 00000801fe003800 100 pci0.7(ali)/2055 > 00000801fc000040 4 pci0.7(ali)/6 > 00000801fc000020 2 pci0.7(ali)/7 > 00000801fc0000a0 2 pci0.7(ali)/8 > 00000801fc0004d0 2 pci0.7(ali)/30 > 00000801f8000000 1 pci0.7(ali)/20 > 00000801fc0003bc 4 pci0.7(ali)/27 > 00000801fc000060 1 pci0.7(ali)/0 > 00000801fc000064 1 pci0.7(ali)/1 > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > 00000801fc000170 8 pci0.15(ali_ide)/3 > 00000801fc000376 2 pci0.15(ali_ide)/4 > 00000801fc00f000 8 pci0.15(ali_ide)/5 > 00000801fc00f008 8 pci0.15(ali_ide)/6 > 00000801fe007800 100 pci0.15(ali_ide)/2055 > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > 00000801fc000170 8 pci0.15(ali_ide)/2050 > 00000801fc000374 4 pci0.15(ali_ide)/2051 > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > 00000801fc0003f8 8 serial0(serial)/0 > > * When changing/defining memory regions, a simple bounds check is > performed, which prints out warnings if there appears to be an overlap: > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > 2) floppy.diff > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > floppy sort of work. It won't boot from it and I can't figure out why. > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > it is a start. > > P00>>>boot dva0 > (boot dva0.0.0.1000.0 -flags A) > Block 001E2000 is not in any zone, call pc aa524 > Block 001E6000 is not in any zone, call pc aa524 > block 0 of dva0.0.0.1000.0 is not a valid boot block > bootstrap failure > P00>>> > > Brian > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > > |
From: Camiel V. <iam...@gm...> - 2008-04-29 09:57:20
|
Hello again, I've changed the floppy stuff to use the CDisk class. To add a floppy-controller to your emulated system, you should add these lines to your configuration file: fdc0=floppy { disk0.0={...} disk0.1={...} } Brian, could you check this with the floppy images you have? I've tried to do this without taking enough time to fully understand the floppy code, so I might be wrong somewhere... Camiel. On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven <iam...@gm...> wrote: > Hi Brian, > > I've applied the system patch. I've changed it a little so the range > check is only performed when CHECK_MEM_RANGES is defined. I've added > both defines to the configure_1.m4 script, with default values of > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > I've also updated CDiskController and all its descendants to eliminate > the dependence on CPCIDevice. I'll now start on adapting your floppy > changes to use CDisk disk images (or real devices). I'll also make it > possible to disable the floppy-device entirely for the people that > don't need it (probably the majority of users). > > As for removable media: this is something we should start addressing > sometime soon. I'm proposing to handle this in two possible ways: > > 1) for physical devices (CDiskDevice) we should check with the OS > whether a media change has occurred. > > 2) for non-phisical devices, I'm proposing the introduction of a new > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > Other disks connect to it, and which disk is active can be selected > through the serial port menu. The DiskChanger class itself is a simple > wrapper around the selected disk's methods. So you'd have something > like this in the config file: > > disk0.0 = changer { > disk 0.0 = {...} > disk 0.1 = {...} > ... > } > > Camiel. > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > Here's a few patches for things I've been working on: > > > > > > 1) system.diff > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > that it is searched: > > > > ES40 Memory Map > > Physical Address Size Device/Index > > ---------------- -------- ------------------------- > > 0000080110000000 100000 sys0(tsunami)/0 > > 0000080100000000 8000000 sys0(tsunami)/0 > > 00000801fc000080 1 pci0.7(ali)/0 > > 00000801fc000000 8 pci0.7(ali)/4100 > > 00000801fc000008 8 pci0.7(ali)/4096 > > 00000801fc000081 b pci0.7(ali)/4098 > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > 00000801fc000481 b pci0.7(ali)/4099 > > 00000801fc00040b 1 pci0.7(ali)/4102 > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > 00000801fc0003f0 6 pci0.7(ali)/0 > > 00000801fc0003f7 1 pci0.7(ali)/1 > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > 00000801fc000061 1 pci0.7(ali)/1 > > 00000801fc000070 4 pci0.7(ali)/2 > > 00000801fe003800 100 pci0.7(ali)/2055 > > 00000801fc000040 4 pci0.7(ali)/6 > > 00000801fc000020 2 pci0.7(ali)/7 > > 00000801fc0000a0 2 pci0.7(ali)/8 > > 00000801fc0004d0 2 pci0.7(ali)/30 > > 00000801f8000000 1 pci0.7(ali)/20 > > 00000801fc0003bc 4 pci0.7(ali)/27 > > 00000801fc000060 1 pci0.7(ali)/0 > > 00000801fc000064 1 pci0.7(ali)/1 > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > 00000801fc0003f8 8 serial0(serial)/0 > > > > * When changing/defining memory regions, a simple bounds check is > > performed, which prints out warnings if there appears to be an overlap: > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > 2) floppy.diff > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > floppy sort of work. It won't boot from it and I can't figure out why. > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > it is a start. > > > > P00>>>boot dva0 > > (boot dva0.0.0.1000.0 -flags A) > > Block 001E2000 is not in any zone, call pc aa524 > > Block 001E6000 is not in any zone, call pc aa524 > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > bootstrap failure > > P00>>> > > > > Brian > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > |
From: Hittner, D. T. <dav...@ng...> - 2008-04-29 11:56:52
Attachments:
smime.p7s
|
You'll need to provide the removeable media capablility for people to write multiple tapes serially as well. $ BACK/LOG DUA0: MUA0:today.bck/save .... Mount next tape on MUA0: .... $ So you might be thinking more along the lines of CRemovableMedia, rather than CDiskChanger..? Dave > As for removable media: this is something we should start > addressing sometime soon. I'm proposing to handle this in two > possible ways: > > 1) for physical devices (CDiskDevice) we should check with > the OS whether a media change has occurred. > > 2) for non-phisical devices, I'm proposing the introduction > of a new Disk Class (CDiskChanger?) that is both a CDisk and > a CDiskController. > Other disks connect to it, and which disk is active can be > selected through the serial port menu. The DiskChanger class > itself is a simple wrapper around the selected disk's > methods. So you'd have something like this in the config file: > > disk0.0 = changer { > disk 0.0 = {...} > disk 0.1 = {...} > ... > } > |
From: Camiel V. <iam...@gm...> - 2008-04-29 12:03:09
|
Hi David, I'd like to keep the name something that starts with "CDisk", like all the other children of the CDisk class. My first thought was "CDiskMediaChanger", but that seems a bit long. The CDisk class is currently only used for disks (hard disks, floppy disks, compact disks), but might indeed be used for tapes as well in the future. Perhaps we could rename the CDisk classes to CMedia classes when that happens? That would give us CMediaFile (primarily for hard-disks and cd-rom's), CMediaRAM (primarily for temporary hard-disks), CMediaDevice (primarily for Floppy's, CD-ROM's and tape drives) and CMediaChanger (Floppy's, CD-ROM's, tape drives) Camiel. On Tue, Apr 29, 2008 at 1:56 PM, Hittner, David T. <dav...@ng...> wrote: > You'll need to provide the removeable media capablility for people to write > multiple tapes serially as well. > $ BACK/LOG DUA0: MUA0:today.bck/save > .... > Mount next tape on MUA0: > .... > $ > > So you might be thinking more along the lines of CRemovableMedia, rather > than CDiskChanger..? > > Dave > > > > > As for removable media: this is something we should start > > addressing sometime soon. I'm proposing to handle this in two > > possible ways: > > > > 1) for physical devices (CDiskDevice) we should check with > > the OS whether a media change has occurred. > > > > 2) for non-phisical devices, I'm proposing the introduction > > of a new Disk Class (CDiskChanger?) that is both a CDisk and > > a CDiskController. > > Other disks connect to it, and which disk is active can be > > selected through the serial port menu. The DiskChanger class > > itself is a simple wrapper around the selected disk's > > methods. So you'd have something like this in the config file: > > > > disk0.0 = changer { > > disk 0.0 = {...} > > disk 0.1 = {...} > > ... > > } > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > > |
From: Camiel V. <iam...@gm...> - 2008-04-29 13:44:52
|
P.S. I've also updated the configuration-file utility to include floppy support. On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven <iam...@gm...> wrote: > Hello again, > > I've changed the floppy stuff to use the CDisk class. To add a > floppy-controller to your emulated system, you should add these lines > to your configuration file: > > fdc0=floppy > { > disk0.0={...} > disk0.1={...} > } > > Brian, could you check this with the floppy images you have? I've > tried to do this without taking enough time to fully understand the > floppy code, so I might be wrong somewhere... > > Camiel. > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > <iam...@gm...> wrote: > > Hi Brian, > > > > I've applied the system patch. I've changed it a little so the range > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > both defines to the configure_1.m4 script, with default values of > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > I've also updated CDiskController and all its descendants to eliminate > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > changes to use CDisk disk images (or real devices). I'll also make it > > possible to disable the floppy-device entirely for the people that > > don't need it (probably the majority of users). > > > > As for removable media: this is something we should start addressing > > sometime soon. I'm proposing to handle this in two possible ways: > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > whether a media change has occurred. > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > Other disks connect to it, and which disk is active can be selected > > through the serial port menu. The DiskChanger class itself is a simple > > wrapper around the selected disk's methods. So you'd have something > > like this in the config file: > > > > disk0.0 = changer { > > disk 0.0 = {...} > > disk 0.1 = {...} > > ... > > } > > > > Camiel. > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > Here's a few patches for things I've been working on: > > > > > > > > > 1) system.diff > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > that it is searched: > > > > > > ES40 Memory Map > > > Physical Address Size Device/Index > > > ---------------- -------- ------------------------- > > > 0000080110000000 100000 sys0(tsunami)/0 > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > 00000801fc000080 1 pci0.7(ali)/0 > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > 00000801fc000081 b pci0.7(ali)/4098 > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > 00000801fc000481 b pci0.7(ali)/4099 > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > 00000801fc000061 1 pci0.7(ali)/1 > > > 00000801fc000070 4 pci0.7(ali)/2 > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > 00000801fc000040 4 pci0.7(ali)/6 > > > 00000801fc000020 2 pci0.7(ali)/7 > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > 00000801f8000000 1 pci0.7(ali)/20 > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > 00000801fc000060 1 pci0.7(ali)/0 > > > 00000801fc000064 1 pci0.7(ali)/1 > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > * When changing/defining memory regions, a simple bounds check is > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > 2) floppy.diff > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > it is a start. > > > > > > P00>>>boot dva0 > > > (boot dva0.0.0.1000.0 -flags A) > > > Block 001E2000 is not in any zone, call pc aa524 > > > Block 001E6000 is not in any zone, call pc aa524 > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > bootstrap failure > > > P00>>> > > > > > > Brian > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > |
From: Brian W. <bdw...@in...> - 2008-04-29 14:59:20
|
I haven't had a chance to check this against my disk images: I'm getting a segfault on startup. It looks like pParent->get_device() is returning NULL when called by the CDiskFile class when a child of the floppy. Here's the backtrace I'm getting: 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); (myCtrl == NULL) 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) (c == NULL) 2: Configurator::initialize() @ Configurator.cpp:909 -> myDevice = new CDiskFile(this, theSystem, (CDiskController*) pParent->get_device(), idebus, idedev); So it looks like something isn't being initialized properly... Brian On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > P.S. I've also updated the configuration-file utility to include floppy support. > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > <iam...@gm...> wrote: > > Hello again, > > > > I've changed the floppy stuff to use the CDisk class. To add a > > floppy-controller to your emulated system, you should add these lines > > to your configuration file: > > > > fdc0=floppy > > { > > disk0.0={...} > > disk0.1={...} > > } > > > > Brian, could you check this with the floppy images you have? I've > > tried to do this without taking enough time to fully understand the > > floppy code, so I might be wrong somewhere... > > > > Camiel. > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > <iam...@gm...> wrote: > > > Hi Brian, > > > > > > I've applied the system patch. I've changed it a little so the range > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > both defines to the configure_1.m4 script, with default values of > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > changes to use CDisk disk images (or real devices). I'll also make it > > > possible to disable the floppy-device entirely for the people that > > > don't need it (probably the majority of users). > > > > > > As for removable media: this is something we should start addressing > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > whether a media change has occurred. > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > Other disks connect to it, and which disk is active can be selected > > > through the serial port menu. The DiskChanger class itself is a simple > > > wrapper around the selected disk's methods. So you'd have something > > > like this in the config file: > > > > > > disk0.0 = changer { > > > disk 0.0 = {...} > > > disk 0.1 = {...} > > > ... > > > } > > > > > > Camiel. > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > 1) system.diff > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > that it is searched: > > > > > > > > ES40 Memory Map > > > > Physical Address Size Device/Index > > > > ---------------- -------- ------------------------- > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > 2) floppy.diff > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > it is a start. > > > > > > > > P00>>>boot dva0 > > > > (boot dva0.0.0.1000.0 -flags A) > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > bootstrap failure > > > > P00>>> > > > > > > > > Brian > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Camiel V. <iam...@gm...> - 2008-04-29 15:12:35
|
You're right, there was a mistake in Configurator.cpp (myDevice was not being set for the floppy device). I fixed this. Camiel. On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > I haven't had a chance to check this against my disk images: I'm > getting a segfault on startup. It looks like pParent->get_device() is > returning NULL when called by the CDiskFile class when a child of the > floppy. Here's the backtrace I'm getting: > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > (myCtrl == NULL) > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > (c == NULL) > 2: Configurator::initialize() @ Configurator.cpp:909 -> > myDevice = new CDiskFile(this, theSystem, > (CDiskController*) pParent->get_device(), > idebus, > idedev); > > > So it looks like something isn't being initialized properly... > > Brian > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > <iam...@gm...> wrote: > > > Hello again, > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > floppy-controller to your emulated system, you should add these lines > > > to your configuration file: > > > > > > fdc0=floppy > > > { > > > disk0.0={...} > > > disk0.1={...} > > > } > > > > > > Brian, could you check this with the floppy images you have? I've > > > tried to do this without taking enough time to fully understand the > > > floppy code, so I might be wrong somewhere... > > > > > > Camiel. > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > <iam...@gm...> wrote: > > > > Hi Brian, > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > both defines to the configure_1.m4 script, with default values of > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > possible to disable the floppy-device entirely for the people that > > > > don't need it (probably the majority of users). > > > > > > > > As for removable media: this is something we should start addressing > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > whether a media change has occurred. > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > Other disks connect to it, and which disk is active can be selected > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > wrapper around the selected disk's methods. So you'd have something > > > > like this in the config file: > > > > > > > > disk0.0 = changer { > > > > disk 0.0 = {...} > > > > disk 0.1 = {...} > > > > ... > > > > } > > > > > > > > Camiel. > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > that it is searched: > > > > > > > > > > ES40 Memory Map > > > > > Physical Address Size Device/Index > > > > > ---------------- -------- ------------------------- > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > it is a start. > > > > > > > > > > P00>>>boot dva0 > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > bootstrap failure > > > > > P00>>> > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > Use priority code J8TL2D2. > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > _______________________________________________ > > > > > Es40-developers mailing list > > > > > Es4...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Brian W. <bdw...@in...> - 2008-04-30 15:12:51
|
I tried it and it still segfaults, but in a different place. It looks like something isn't quite right: CFloppyController::RestoreState is being called on startup. The stacktrace shows the caller is: myCtrl->register_disk(this,myBus,myDev); The address for the FILE *f in RestoreState is the same as 'this' in the register_disk call, so its jumping to the wrong method in the object. I did a make clean and remade it, but I got the same results. Brian On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > You're right, there was a mistake in Configurator.cpp (myDevice was > not being set for the floppy device). I fixed this. > > Camiel. > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > I haven't had a chance to check this against my disk images: I'm > > getting a segfault on startup. It looks like pParent->get_device() is > > returning NULL when called by the CDiskFile class when a child of the > > floppy. Here's the backtrace I'm getting: > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > (myCtrl == NULL) > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > (c == NULL) > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > myDevice = new CDiskFile(this, theSystem, > > (CDiskController*) pParent->get_device(), > > idebus, > > idedev); > > > > > > So it looks like something isn't being initialized properly... > > > > Brian > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > <iam...@gm...> wrote: > > > > Hello again, > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > floppy-controller to your emulated system, you should add these lines > > > > to your configuration file: > > > > > > > > fdc0=floppy > > > > { > > > > disk0.0={...} > > > > disk0.1={...} > > > > } > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > tried to do this without taking enough time to fully understand the > > > > floppy code, so I might be wrong somewhere... > > > > > > > > Camiel. > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > <iam...@gm...> wrote: > > > > > Hi Brian, > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > both defines to the configure_1.m4 script, with default values of > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > possible to disable the floppy-device entirely for the people that > > > > > don't need it (probably the majority of users). > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > whether a media change has occurred. > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > Other disks connect to it, and which disk is active can be selected > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > like this in the config file: > > > > > > > > > > disk0.0 = changer { > > > > > disk 0.0 = {...} > > > > > disk 0.1 = {...} > > > > > ... > > > > > } > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > that it is searched: > > > > > > > > > > > > ES40 Memory Map > > > > > > Physical Address Size Device/Index > > > > > > ---------------- -------- ------------------------- > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > it is a start. > > > > > > > > > > > > P00>>>boot dva0 > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > bootstrap failure > > > > > > P00>>> > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > Use priority code J8TL2D2. > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > _______________________________________________ > > > > > > Es40-developers mailing list > > > > > > Es4...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Camiel V. <iam...@gm...> - 2008-04-30 15:45:51
|
Hi Brian, This looks like a problem with multiple inheritance; register_disk is the first virtual method inherited from CDiskController, whereas RestoreState is the first virtual method inherited from SystemComponent... This probably goes wrong because we're doing the conversion from a CFloppyController * to a CDiskController * through a void * in the Configurator. If that is the case, I think it should go wrong for all other disk controller classes as well. I'll see if I can fix it, but I'm afraid it might get ugly... I'll dive into it and let you know. I was already afraid that multiple inheritance wasn't as easy as I thought... Camiel. On Wed, Apr 30, 2008 at 5:12 PM, Brian Wheeler <bdw...@in...> wrote: > I tried it and it still segfaults, but in a different place. It looks > like something isn't quite right: CFloppyController::RestoreState is > being called on startup. The stacktrace shows the caller is: > > > myCtrl->register_disk(this,myBus,myDev); > > The address for the FILE *f in RestoreState is the same as 'this' in the > register_disk call, so its jumping to the wrong method in the object. I > did a make clean and remade it, but I got the same results. > > Brian > > > > > > On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > > You're right, there was a mistake in Configurator.cpp (myDevice was > > not being set for the floppy device). I fixed this. > > > > Camiel. > > > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > I haven't had a chance to check this against my disk images: I'm > > > getting a segfault on startup. It looks like pParent->get_device() is > > > returning NULL when called by the CDiskFile class when a child of the > > > floppy. Here's the backtrace I'm getting: > > > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > > (myCtrl == NULL) > > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > > (c == NULL) > > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > > myDevice = new CDiskFile(this, theSystem, > > > (CDiskController*) pParent->get_device(), > > > idebus, > > > idedev); > > > > > > > > > So it looks like something isn't being initialized properly... > > > > > > Brian > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > > <iam...@gm...> wrote: > > > > > Hello again, > > > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > > floppy-controller to your emulated system, you should add these lines > > > > > to your configuration file: > > > > > > > > > > fdc0=floppy > > > > > { > > > > > disk0.0={...} > > > > > disk0.1={...} > > > > > } > > > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > > tried to do this without taking enough time to fully understand the > > > > > floppy code, so I might be wrong somewhere... > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > > <iam...@gm...> wrote: > > > > > > Hi Brian, > > > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > > both defines to the configure_1.m4 script, with default values of > > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > > possible to disable the floppy-device entirely for the people that > > > > > > don't need it (probably the majority of users). > > > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > > whether a media change has occurred. > > > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > > Other disks connect to it, and which disk is active can be selected > > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > > like this in the config file: > > > > > > > > > > > > disk0.0 = changer { > > > > > > disk 0.0 = {...} > > > > > > disk 0.1 = {...} > > > > > > ... > > > > > > } > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > > that it is searched: > > > > > > > > > > > > > > ES40 Memory Map > > > > > > > Physical Address Size Device/Index > > > > > > > ---------------- -------- ------------------------- > > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > > it is a start. > > > > > > > > > > > > > > P00>>>boot dva0 > > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > > bootstrap failure > > > > > > > P00>>> > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > Use priority code J8TL2D2. > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > _______________________________________________ > > > > > > > Es40-developers mailing list > > > > > > > Es4...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Camiel V. <iam...@gm...> - 2008-04-30 16:04:50
|
Hi Brian, That was easier than I thought. The problem was what I described in my last mail. I've changed CConfigurator so myDevice points to the CDiskController part of the class for disk controllers. That makes the pointer valid for registering disks. I think it should work as it was intended now. Camiel. On Wed, Apr 30, 2008 at 5:45 PM, Camiel Vanderhoeven <iam...@gm...> wrote: > Hi Brian, > > This looks like a problem with multiple inheritance; register_disk is > the first virtual method inherited from CDiskController, whereas > RestoreState is the first virtual method inherited from > SystemComponent... This probably goes wrong because we're doing the > conversion from a CFloppyController * to a CDiskController * through a > void * in the Configurator. If that is the case, I think it should go > wrong for all other disk controller classes as well. I'll see if I can > fix it, but I'm afraid it might get ugly... I'll dive into it and let > you know. > > I was already afraid that multiple inheritance wasn't as easy as I thought... > > Camiel. > > > > On Wed, Apr 30, 2008 at 5:12 PM, Brian Wheeler <bdw...@in...> wrote: > > I tried it and it still segfaults, but in a different place. It looks > > like something isn't quite right: CFloppyController::RestoreState is > > being called on startup. The stacktrace shows the caller is: > > > > > > myCtrl->register_disk(this,myBus,myDev); > > > > The address for the FILE *f in RestoreState is the same as 'this' in the > > register_disk call, so its jumping to the wrong method in the object. I > > did a make clean and remade it, but I got the same results. > > > > Brian > > > > > > > > > > > > On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > > > You're right, there was a mistake in Configurator.cpp (myDevice was > > > not being set for the floppy device). I fixed this. > > > > > > Camiel. > > > > > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > I haven't had a chance to check this against my disk images: I'm > > > > getting a segfault on startup. It looks like pParent->get_device() is > > > > returning NULL when called by the CDiskFile class when a child of the > > > > floppy. Here's the backtrace I'm getting: > > > > > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > > > (myCtrl == NULL) > > > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > > > (c == NULL) > > > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > > > myDevice = new CDiskFile(this, theSystem, > > > > (CDiskController*) pParent->get_device(), > > > > idebus, > > > > idedev); > > > > > > > > > > > > So it looks like something isn't being initialized properly... > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > > > <iam...@gm...> wrote: > > > > > > Hello again, > > > > > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > > > floppy-controller to your emulated system, you should add these lines > > > > > > to your configuration file: > > > > > > > > > > > > fdc0=floppy > > > > > > { > > > > > > disk0.0={...} > > > > > > disk0.1={...} > > > > > > } > > > > > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > > > tried to do this without taking enough time to fully understand the > > > > > > floppy code, so I might be wrong somewhere... > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > > > <iam...@gm...> wrote: > > > > > > > Hi Brian, > > > > > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > > > both defines to the configure_1.m4 script, with default values of > > > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > > > possible to disable the floppy-device entirely for the people that > > > > > > > don't need it (probably the majority of users). > > > > > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > > > whether a media change has occurred. > > > > > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > > > Other disks connect to it, and which disk is active can be selected > > > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > > > like this in the config file: > > > > > > > > > > > > > > disk0.0 = changer { > > > > > > > disk 0.0 = {...} > > > > > > > disk 0.1 = {...} > > > > > > > ... > > > > > > > } > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > > > that it is searched: > > > > > > > > > > > > > > > > ES40 Memory Map > > > > > > > > Physical Address Size Device/Index > > > > > > > > ---------------- -------- ------------------------- > > > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > > > it is a start. > > > > > > > > > > > > > > > > P00>>>boot dva0 > > > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > > > bootstrap failure > > > > > > > > P00>>> > > > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > > Use priority code J8TL2D2. > > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > > _______________________________________________ > > > > > > > > Es40-developers mailing list > > > > > > > > Es4...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > Use priority code J8TL2D2. > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > _______________________________________________ > > > > > Es40-developers mailing list > > > > > Es4...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > |
From: Brian W. <bdw...@in...> - 2008-04-30 17:10:31
|
Builds and tests about the same as before :) Brian On Wed, 2008-04-30 at 18:04 +0200, Camiel Vanderhoeven wrote: > Hi Brian, > > That was easier than I thought. The problem was what I described in my > last mail. I've changed CConfigurator so myDevice points to the > CDiskController part of the class for disk controllers. That makes the > pointer valid for registering disks. I think it should work as it was > intended now. > > Camiel. > > On Wed, Apr 30, 2008 at 5:45 PM, Camiel Vanderhoeven > <iam...@gm...> wrote: > > Hi Brian, > > > > This looks like a problem with multiple inheritance; register_disk is > > the first virtual method inherited from CDiskController, whereas > > RestoreState is the first virtual method inherited from > > SystemComponent... This probably goes wrong because we're doing the > > conversion from a CFloppyController * to a CDiskController * through a > > void * in the Configurator. If that is the case, I think it should go > > wrong for all other disk controller classes as well. I'll see if I can > > fix it, but I'm afraid it might get ugly... I'll dive into it and let > > you know. > > > > I was already afraid that multiple inheritance wasn't as easy as I thought... > > > > Camiel. > > > > > > > > On Wed, Apr 30, 2008 at 5:12 PM, Brian Wheeler <bdw...@in...> wrote: > > > I tried it and it still segfaults, but in a different place. It looks > > > like something isn't quite right: CFloppyController::RestoreState is > > > being called on startup. The stacktrace shows the caller is: > > > > > > > > > myCtrl->register_disk(this,myBus,myDev); > > > > > > The address for the FILE *f in RestoreState is the same as 'this' in the > > > register_disk call, so its jumping to the wrong method in the object. I > > > did a make clean and remade it, but I got the same results. > > > > > > Brian > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > > > > You're right, there was a mistake in Configurator.cpp (myDevice was > > > > not being set for the floppy device). I fixed this. > > > > > > > > Camiel. > > > > > > > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > I haven't had a chance to check this against my disk images: I'm > > > > > getting a segfault on startup. It looks like pParent->get_device() is > > > > > returning NULL when called by the CDiskFile class when a child of the > > > > > floppy. Here's the backtrace I'm getting: > > > > > > > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > > > > (myCtrl == NULL) > > > > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > > > > (c == NULL) > > > > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > > > > myDevice = new CDiskFile(this, theSystem, > > > > > (CDiskController*) pParent->get_device(), > > > > > idebus, > > > > > idedev); > > > > > > > > > > > > > > > So it looks like something isn't being initialized properly... > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > > > > <iam...@gm...> wrote: > > > > > > > Hello again, > > > > > > > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > > > > floppy-controller to your emulated system, you should add these lines > > > > > > > to your configuration file: > > > > > > > > > > > > > > fdc0=floppy > > > > > > > { > > > > > > > disk0.0={...} > > > > > > > disk0.1={...} > > > > > > > } > > > > > > > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > > > > tried to do this without taking enough time to fully understand the > > > > > > > floppy code, so I might be wrong somewhere... > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > > > > <iam...@gm...> wrote: > > > > > > > > Hi Brian, > > > > > > > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > > > > both defines to the configure_1.m4 script, with default values of > > > > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > > > > possible to disable the floppy-device entirely for the people that > > > > > > > > don't need it (probably the majority of users). > > > > > > > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > > > > whether a media change has occurred. > > > > > > > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > > > > Other disks connect to it, and which disk is active can be selected > > > > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > > > > like this in the config file: > > > > > > > > > > > > > > > > disk0.0 = changer { > > > > > > > > disk 0.0 = {...} > > > > > > > > disk 0.1 = {...} > > > > > > > > ... > > > > > > > > } > > > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > > > > that it is searched: > > > > > > > > > > > > > > > > > > ES40 Memory Map > > > > > > > > > Physical Address Size Device/Index > > > > > > > > > ---------------- -------- ------------------------- > > > > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > > > > it is a start. > > > > > > > > > > > > > > > > > > P00>>>boot dva0 > > > > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > > > > bootstrap failure > > > > > > > > > P00>>> > > > > > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > > > Use priority code J8TL2D2. > > > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > > > _______________________________________________ > > > > > > > > > Es40-developers mailing list > > > > > > > > > Es4...@li... > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > Use priority code J8TL2D2. > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > _______________________________________________ > > > > > > Es40-developers mailing list > > > > > > Es4...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > Use priority code J8TL2D2. > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > _______________________________________________ > > > > > Es40-developers mailing list > > > > > Es4...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |
From: Camiel V. <iam...@gm...> - 2008-04-30 17:22:23
|
I take it that means everything's allright now? (That before means before any of my clumsy changes)? Camiel On Wed, Apr 30, 2008 at 7:10 PM, Brian Wheeler <bdw...@in...> wrote: > Builds and tests about the same as before :) > > Brian > > > > > On Wed, 2008-04-30 at 18:04 +0200, Camiel Vanderhoeven wrote: > > Hi Brian, > > > > That was easier than I thought. The problem was what I described in my > > last mail. I've changed CConfigurator so myDevice points to the > > CDiskController part of the class for disk controllers. That makes the > > pointer valid for registering disks. I think it should work as it was > > intended now. > > > > Camiel. > > > > On Wed, Apr 30, 2008 at 5:45 PM, Camiel Vanderhoeven > > <iam...@gm...> wrote: > > > Hi Brian, > > > > > > This looks like a problem with multiple inheritance; register_disk is > > > the first virtual method inherited from CDiskController, whereas > > > RestoreState is the first virtual method inherited from > > > SystemComponent... This probably goes wrong because we're doing the > > > conversion from a CFloppyController * to a CDiskController * through a > > > void * in the Configurator. If that is the case, I think it should go > > > wrong for all other disk controller classes as well. I'll see if I can > > > fix it, but I'm afraid it might get ugly... I'll dive into it and let > > > you know. > > > > > > I was already afraid that multiple inheritance wasn't as easy as I thought... > > > > > > Camiel. > > > > > > > > > > > > On Wed, Apr 30, 2008 at 5:12 PM, Brian Wheeler <bdw...@in...> wrote: > > > > I tried it and it still segfaults, but in a different place. It looks > > > > like something isn't quite right: CFloppyController::RestoreState is > > > > being called on startup. The stacktrace shows the caller is: > > > > > > > > > > > > myCtrl->register_disk(this,myBus,myDev); > > > > > > > > The address for the FILE *f in RestoreState is the same as 'this' in the > > > > register_disk call, so its jumping to the wrong method in the object. I > > > > did a make clean and remade it, but I got the same results. > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > > > > > You're right, there was a mistake in Configurator.cpp (myDevice was > > > > > not being set for the floppy device). I fixed this. > > > > > > > > > > Camiel. > > > > > > > > > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > I haven't had a chance to check this against my disk images: I'm > > > > > > getting a segfault on startup. It looks like pParent->get_device() is > > > > > > returning NULL when called by the CDiskFile class when a child of the > > > > > > floppy. Here's the backtrace I'm getting: > > > > > > > > > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > > > > > (myCtrl == NULL) > > > > > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > > > > > (c == NULL) > > > > > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > > > > > myDevice = new CDiskFile(this, theSystem, > > > > > > (CDiskController*) pParent->get_device(), > > > > > > idebus, > > > > > > idedev); > > > > > > > > > > > > > > > > > > So it looks like something isn't being initialized properly... > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > > > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > > > > > <iam...@gm...> wrote: > > > > > > > > Hello again, > > > > > > > > > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > > > > > floppy-controller to your emulated system, you should add these lines > > > > > > > > to your configuration file: > > > > > > > > > > > > > > > > fdc0=floppy > > > > > > > > { > > > > > > > > disk0.0={...} > > > > > > > > disk0.1={...} > > > > > > > > } > > > > > > > > > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > > > > > tried to do this without taking enough time to fully understand the > > > > > > > > floppy code, so I might be wrong somewhere... > > > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > > > > > <iam...@gm...> wrote: > > > > > > > > > Hi Brian, > > > > > > > > > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > > > > > both defines to the configure_1.m4 script, with default values of > > > > > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > > > > > possible to disable the floppy-device entirely for the people that > > > > > > > > > don't need it (probably the majority of users). > > > > > > > > > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > > > > > whether a media change has occurred. > > > > > > > > > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > > > > > Other disks connect to it, and which disk is active can be selected > > > > > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > > > > > like this in the config file: > > > > > > > > > > > > > > > > > > disk0.0 = changer { > > > > > > > > > disk 0.0 = {...} > > > > > > > > > disk 0.1 = {...} > > > > > > > > > ... > > > > > > > > > } > > > > > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > > > > > that it is searched: > > > > > > > > > > > > > > > > > > > > ES40 Memory Map > > > > > > > > > > Physical Address Size Device/Index > > > > > > > > > > ---------------- -------- ------------------------- > > > > > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > > > > > it is a start. > > > > > > > > > > > > > > > > > > > > P00>>>boot dva0 > > > > > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > > > > > bootstrap failure > > > > > > > > > > P00>>> > > > > > > > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > > > > Use priority code J8TL2D2. > > > > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > > > > _______________________________________________ > > > > > > > > > > Es40-developers mailing list > > > > > > > > > > Es4...@li... > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > Use priority code J8TL2D2. > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > _______________________________________________ > > > > > > > Es40-developers mailing list > > > > > > > Es4...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > Use priority code J8TL2D2. > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > _______________________________________________ > > > > > > Es40-developers mailing list > > > > > > Es4...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > Use priority code J8TL2D2. > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > _______________________________________________ > > > > > Es40-developers mailing list > > > > > Es4...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > Use priority code J8TL2D2. > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > _______________________________________________ > > > > Es40-developers mailing list > > > > Es4...@li... > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Brian W. <bdw...@in...> - 2008-04-30 17:45:58
|
On Wed, 2008-04-30 at 19:22 +0200, Camiel Vanderhoeven wrote: > I take it that means everything's allright now? (That before means > before any of my clumsy changes)? > Yes, that's what that means :) sorry I wasn't more clear! > Camiel > > On Wed, Apr 30, 2008 at 7:10 PM, Brian Wheeler <bdw...@in...> wrote: > > Builds and tests about the same as before :) > > > > Brian > > > > > > > > > > On Wed, 2008-04-30 at 18:04 +0200, Camiel Vanderhoeven wrote: > > > Hi Brian, > > > > > > That was easier than I thought. The problem was what I described in my > > > last mail. I've changed CConfigurator so myDevice points to the > > > CDiskController part of the class for disk controllers. That makes the > > > pointer valid for registering disks. I think it should work as it was > > > intended now. > > > > > > Camiel. > > > > > > On Wed, Apr 30, 2008 at 5:45 PM, Camiel Vanderhoeven > > > <iam...@gm...> wrote: > > > > Hi Brian, > > > > > > > > This looks like a problem with multiple inheritance; register_disk is > > > > the first virtual method inherited from CDiskController, whereas > > > > RestoreState is the first virtual method inherited from > > > > SystemComponent... This probably goes wrong because we're doing the > > > > conversion from a CFloppyController * to a CDiskController * through a > > > > void * in the Configurator. If that is the case, I think it should go > > > > wrong for all other disk controller classes as well. I'll see if I can > > > > fix it, but I'm afraid it might get ugly... I'll dive into it and let > > > > you know. > > > > > > > > I was already afraid that multiple inheritance wasn't as easy as I thought... > > > > > > > > Camiel. > > > > > > > > > > > > > > > > On Wed, Apr 30, 2008 at 5:12 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > I tried it and it still segfaults, but in a different place. It looks > > > > > like something isn't quite right: CFloppyController::RestoreState is > > > > > being called on startup. The stacktrace shows the caller is: > > > > > > > > > > > > > > > myCtrl->register_disk(this,myBus,myDev); > > > > > > > > > > The address for the FILE *f in RestoreState is the same as 'this' in the > > > > > register_disk call, so its jumping to the wrong method in the object. I > > > > > did a make clean and remade it, but I got the same results. > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 17:12 +0200, Camiel Vanderhoeven wrote: > > > > > > You're right, there was a mistake in Configurator.cpp (myDevice was > > > > > > not being set for the floppy device). I fixed this. > > > > > > > > > > > > Camiel. > > > > > > > > > > > > On Tue, Apr 29, 2008 at 4:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > I haven't had a chance to check this against my disk images: I'm > > > > > > > getting a segfault on startup. It looks like pParent->get_device() is > > > > > > > returning NULL when called by the CDiskFile class when a child of the > > > > > > > floppy. Here's the backtrace I'm getting: > > > > > > > > > > > > > > 0: CDisk() @ Disk.cpp:162 -> myCtrl->register_disk(this, myBus, myDev); > > > > > > > (myCtrl == NULL) > > > > > > > 1: CDiskFile() @ DiskFile.cpp:104 -> CDisk(cfg, sys, c, idebus, idedev) > > > > > > > (c == NULL) > > > > > > > 2: Configurator::initialize() @ Configurator.cpp:909 -> > > > > > > > myDevice = new CDiskFile(this, theSystem, > > > > > > > (CDiskController*) pParent->get_device(), > > > > > > > idebus, > > > > > > > idedev); > > > > > > > > > > > > > > > > > > > > > So it looks like something isn't being initialized properly... > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, 2008-04-29 at 15:44 +0200, Camiel Vanderhoeven wrote: > > > > > > > > P.S. I've also updated the configuration-file utility to include floppy support. > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 11:57 AM, Camiel Vanderhoeven > > > > > > > > <iam...@gm...> wrote: > > > > > > > > > Hello again, > > > > > > > > > > > > > > > > > > I've changed the floppy stuff to use the CDisk class. To add a > > > > > > > > > floppy-controller to your emulated system, you should add these lines > > > > > > > > > to your configuration file: > > > > > > > > > > > > > > > > > > fdc0=floppy > > > > > > > > > { > > > > > > > > > disk0.0={...} > > > > > > > > > disk0.1={...} > > > > > > > > > } > > > > > > > > > > > > > > > > > > Brian, could you check this with the floppy images you have? I've > > > > > > > > > tried to do this without taking enough time to fully understand the > > > > > > > > > floppy code, so I might be wrong somewhere... > > > > > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 29, 2008 at 10:27 AM, Camiel Vanderhoeven > > > > > > > > > <iam...@gm...> wrote: > > > > > > > > > > Hi Brian, > > > > > > > > > > > > > > > > > > > > I've applied the system patch. I've changed it a little so the range > > > > > > > > > > check is only performed when CHECK_MEM_RANGES is defined. I've added > > > > > > > > > > both defines to the configure_1.m4 script, with default values of > > > > > > > > > > false for DUMP_MEMMAP and true for CHECK_MEM_RANGES. > > > > > > > > > > > > > > > > > > > > I've also updated CDiskController and all its descendants to eliminate > > > > > > > > > > the dependence on CPCIDevice. I'll now start on adapting your floppy > > > > > > > > > > changes to use CDisk disk images (or real devices). I'll also make it > > > > > > > > > > possible to disable the floppy-device entirely for the people that > > > > > > > > > > don't need it (probably the majority of users). > > > > > > > > > > > > > > > > > > > > As for removable media: this is something we should start addressing > > > > > > > > > > sometime soon. I'm proposing to handle this in two possible ways: > > > > > > > > > > > > > > > > > > > > 1) for physical devices (CDiskDevice) we should check with the OS > > > > > > > > > > whether a media change has occurred. > > > > > > > > > > > > > > > > > > > > 2) for non-phisical devices, I'm proposing the introduction of a new > > > > > > > > > > Disk Class (CDiskChanger?) that is both a CDisk and a CDiskController. > > > > > > > > > > Other disks connect to it, and which disk is active can be selected > > > > > > > > > > through the serial port menu. The DiskChanger class itself is a simple > > > > > > > > > > wrapper around the selected disk's methods. So you'd have something > > > > > > > > > > like this in the config file: > > > > > > > > > > > > > > > > > > > > disk0.0 = changer { > > > > > > > > > > disk 0.0 = {...} > > > > > > > > > > disk 0.1 = {...} > > > > > > > > > > ... > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > Camiel. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 22, 2008 at 3:58 PM, Brian Wheeler <bdw...@in...> wrote: > > > > > > > > > > > Here's a few patches for things I've been working on: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) system.diff > > > > > > > > > > > > > > > > > > > > > > * if DUMP_MEMMAP is defined, es40 drops out its memory map in the order > > > > > > > > > > > that it is searched: > > > > > > > > > > > > > > > > > > > > > > ES40 Memory Map > > > > > > > > > > > Physical Address Size Device/Index > > > > > > > > > > > ---------------- -------- ------------------------- > > > > > > > > > > > 0000080110000000 100000 sys0(tsunami)/0 > > > > > > > > > > > 0000080100000000 8000000 sys0(tsunami)/0 > > > > > > > > > > > 00000801fc000080 1 pci0.7(ali)/0 > > > > > > > > > > > 00000801fc000000 8 pci0.7(ali)/4100 > > > > > > > > > > > 00000801fc000008 8 pci0.7(ali)/4096 > > > > > > > > > > > 00000801fc000081 b pci0.7(ali)/4098 > > > > > > > > > > > 00000801fc0000c0 10 pci0.7(ali)/4101 > > > > > > > > > > > 00000801fc0000d0 10 pci0.7(ali)/4097 > > > > > > > > > > > 00000801fc000481 b pci0.7(ali)/4099 > > > > > > > > > > > 00000801fc00040b 1 pci0.7(ali)/4102 > > > > > > > > > > > 00000801fc0004d6 1 pci0.7(ali)/4103 > > > > > > > > > > > 00000801fc0003f0 6 pci0.7(ali)/0 > > > > > > > > > > > 00000801fc0003f7 1 pci0.7(ali)/1 > > > > > > > > > > > 00000801fe009800 100 pci0.19(ali_usb)/2055 > > > > > > > > > > > 00000801fc000061 1 pci0.7(ali)/1 > > > > > > > > > > > 00000801fc000070 4 pci0.7(ali)/2 > > > > > > > > > > > 00000801fe003800 100 pci0.7(ali)/2055 > > > > > > > > > > > 00000801fc000040 4 pci0.7(ali)/6 > > > > > > > > > > > 00000801fc000020 2 pci0.7(ali)/7 > > > > > > > > > > > 00000801fc0000a0 2 pci0.7(ali)/8 > > > > > > > > > > > 00000801fc0004d0 2 pci0.7(ali)/30 > > > > > > > > > > > 00000801f8000000 1 pci0.7(ali)/20 > > > > > > > > > > > 00000801fc0003bc 4 pci0.7(ali)/27 > > > > > > > > > > > 00000801fc000060 1 pci0.7(ali)/0 > > > > > > > > > > > 00000801fc000064 1 pci0.7(ali)/1 > > > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/1 > > > > > > > > > > > 00000801fc0003f6 1 pci0.15(ali_ide)/2 > > > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/3 > > > > > > > > > > > 00000801fc000376 2 pci0.15(ali_ide)/4 > > > > > > > > > > > 00000801fc00f000 8 pci0.15(ali_ide)/5 > > > > > > > > > > > 00000801fc00f008 8 pci0.15(ali_ide)/6 > > > > > > > > > > > 00000801fe007800 100 pci0.15(ali_ide)/2055 > > > > > > > > > > > 00000801fc0001f0 8 pci0.15(ali_ide)/2048 > > > > > > > > > > > 00000801fc0003f4 4 pci0.15(ali_ide)/2049 > > > > > > > > > > > 00000801fc000170 8 pci0.15(ali_ide)/2050 > > > > > > > > > > > 00000801fc000374 4 pci0.15(ali_ide)/2051 > > > > > > > > > > > 00000801fc00f000 10 pci0.15(ali_ide)/2052 > > > > > > > > > > > 00000801fc0003f8 8 serial0(serial)/0 > > > > > > > > > > > > > > > > > > > > > > * When changing/defining memory regions, a simple bounds check is > > > > > > > > > > > performed, which prints out warnings if there appears to be an overlap: > > > > > > > > > > > > > > > > > > > > > > WARNING: Start address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > > > is within memory range of pci0.7(ali)/0 (00000801fc0003f0-00000801fc0003f5). > > > > > > > > > > > WARNING: End address for pci0.15(ali_ide)/2049 (00000801fc0003f4-00000801fc0003f7) > > > > > > > > > > > is within memory range of pci0.7(ali)/1 (00000801fc0003f7-00000801fc0003f7). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) floppy.diff > > > > > > > > > > > > > > > > > > > > > > This covers DMA.* FloppyController.* and PCIDevice.h changes to make the > > > > > > > > > > > floppy sort of work. It won't boot from it and I can't figure out why. > > > > > > > > > > > It is hardcoded to use disk1of3 from NetBSD 4.0 and is really messy, but > > > > > > > > > > > it is a start. > > > > > > > > > > > > > > > > > > > > > > P00>>>boot dva0 > > > > > > > > > > > (boot dva0.0.0.1000.0 -flags A) > > > > > > > > > > > Block 001E2000 is not in any zone, call pc aa524 > > > > > > > > > > > Block 001E6000 is not in any zone, call pc aa524 > > > > > > > > > > > block 0 of dva0.0.0.1000.0 is not a valid boot block > > > > > > > > > > > bootstrap failure > > > > > > > > > > > P00>>> > > > > > > > > > > > > > > > > > > > > > > Brian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > > > > > Use priority code J8TL2D2. > > > > > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > Es40-developers mailing list > > > > > > > > > > > Es4...@li... > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > > Use priority code J8TL2D2. > > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > > _______________________________________________ > > > > > > > > Es40-developers mailing list > > > > > > > > Es4...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > > Use priority code J8TL2D2. > > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > > _______________________________________________ > > > > > > > Es40-developers mailing list > > > > > > > Es4...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > > Use priority code J8TL2D2. > > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > > _______________________________________________ > > > > > > Es40-developers mailing list > > > > > > Es4...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > > > Don't miss this year's exciting event. There's still time to save $100. > > > > > Use priority code J8TL2D2. > > > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > > > _______________________________________________ > > > > > Es40-developers mailing list > > > > > Es4...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > > Don't miss this year's exciting event. There's still time to save $100. > > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > > _______________________________________________ > > > Es40-developers mailing list > > > Es4...@li... > > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > > _______________________________________________ > > Es40-developers mailing list > > Es4...@li... > > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |