es40-developers Mailing List for AlphaServer ES40 Emulator
Status: Alpha
Brought to you by:
iamcamiel
You can subscribe to this list here.
2008 |
Jan
|
Feb
(132) |
Mar
(117) |
Apr
(27) |
May
(1) |
Jun
(16) |
Jul
|
Aug
|
Sep
(4) |
Oct
(5) |
Nov
(2) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
(3) |
5
|
6
|
7
|
8
|
9
(3) |
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
(1) |
18
(1) |
19
|
20
|
21
|
22
(1) |
23
(5) |
24
|
25
|
26
|
27
|
28
|
29
(7) |
30
(6) |
|
|
|
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 |
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: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 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: 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: 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-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-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 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: 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: Hittner, D. T. <dav...@ng...> - 2008-04-29 11:56:52
|
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 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: 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: Brian W. <bdw...@in...> - 2008-04-23 15:57:45
|
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: 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: 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: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: 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-22 13:58:15
|
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: Camiel V. <iam...@gm...> - 2008-04-18 09:25:51
|
Hi Brian, I saw you had a question (in the code) as to the documentation for the IO port 480 range; Well, there is a bit of info in the datasheet (there's a link on http://www.es40.org/Ali_M1543C) on page 173: Channel Low-page register High-page register 0 0x87 0x487 1 0x83 0x483 2 0x81 0x481 3 0x82 0x482 5 0x8B 0x48B 6 0x89 0x489 7 0x8A 0x48A On Thu, Apr 17, 2008 at 10:27 PM, Brian Wheeler <bdw...@in...> wrote: > I rewrote the dma controller in preparation for screwing around with the > floppy controller. It contains everything except the actual meat: the > transfer itself...I need to see how the floppy disk is going to work > before I can fill that in. > > 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-17 20:27:13
|
I rewrote the dma controller in preparation for screwing around with the floppy controller. It contains everything except the actual meat: the transfer itself...I need to see how the floppy disk is going to work before I can fill that in. Brian |
From: Camiel V. <iam...@gm...> - 2008-04-09 13:27:57
|
Thanks Brian, I just applied it. On Wed, Apr 9, 2008 at 2:45 PM, Brian Wheeler <bdw...@in...> wrote: > Just a little patch which makes the RMC versions come out right: > > Firmware > SRM Console: V7.2-1 > ARC Console: > PALcode: OpenVMS PALcode V1.98-104, Tru64 UNIX PALcode V1.92-105 > Serial ROM: V2.22G > RMC ROM: V1.0 > RMC Flash ROM: V1.0 > > > > Index: DPR.cpp > =================================================================== > RCS file: /cvsroot/es40/es40/src/DPR.cpp,v > retrieving revision 1.21 > diff -u -r1.21 DPR.cpp > --- DPR.cpp 17 Mar 2008 20:20:39 -0000 1.21 > +++ DPR.cpp 9 Apr 2008 12:44:23 -0000 > @@ -340,14 +340,14 @@ > // 3009:300B RMC Rev Level of RMC first byte is letter Rev [x/t/v] second 2 bytes are major/minor. > // This is the rev level of the RMC on-chip code. > state.ram[0x3009] = 'V'; > - state.ram[0x300a] = 0x01; > - state.ram[0x300b] = 0x00; > + state.ram[0x300a] = 0x31; > + state.ram[0x300b] = 0x30; > > // 300C:300E RMC Rev Level of RMC first byte is letter Rev [x/t/v] second 2 bytes are major/minor. > // This is the rev level of the RMC flash code. > state.ram[0x300c] = 'V'; > - state.ram[0x300d] = 0x01; > - state.ram[0x300e] = 0x00; > + state.ram[0x300d] = 0x31; > + state.ram[0x300e] = 0x30; > > // 300F:3010 300F RMC Revision Field of the DPR Structure > // 3400 SROM Size of Bcache in MB > > > > ------------------------------------------------------------------------- > 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-09 12:45:27
|
Just a little patch which makes the RMC versions come out right: Firmware SRM Console: V7.2-1 ARC Console: PALcode: OpenVMS PALcode V1.98-104, Tru64 UNIX PALcode V1.92-105 Serial ROM: V2.22G RMC ROM: V1.0 RMC Flash ROM: V1.0 Index: DPR.cpp =================================================================== RCS file: /cvsroot/es40/es40/src/DPR.cpp,v retrieving revision 1.21 diff -u -r1.21 DPR.cpp --- DPR.cpp 17 Mar 2008 20:20:39 -0000 1.21 +++ DPR.cpp 9 Apr 2008 12:44:23 -0000 @@ -340,14 +340,14 @@ // 3009:300B RMC Rev Level of RMC first byte is letter Rev [x/t/v] second 2 bytes are major/minor. // This is the rev level of the RMC on-chip code. state.ram[0x3009] = 'V'; - state.ram[0x300a] = 0x01; - state.ram[0x300b] = 0x00; + state.ram[0x300a] = 0x31; + state.ram[0x300b] = 0x30; // 300C:300E RMC Rev Level of RMC first byte is letter Rev [x/t/v] second 2 bytes are major/minor. // This is the rev level of the RMC flash code. state.ram[0x300c] = 'V'; - state.ram[0x300d] = 0x01; - state.ram[0x300e] = 0x00; + state.ram[0x300d] = 0x31; + state.ram[0x300e] = 0x30; // 300F:3010 300F RMC Revision Field of the DPR Structure // 3400 SROM Size of Bcache in MB |
From: Camiel V. <iam...@gm...> - 2008-04-09 08:36:10
|
Hello Everyone, Some people hinted that it might be a good idea to set up a new website for the ES40 Emulator, with a URL that is easier to remember. I am proud to present to you that URL: http://es40.org. I am aware that the content is fairly limited at this point, and mainly consists of a couple of links to the other sites, but I'm sure that will improve over time. I've also setup a Wiki containing some information about the emulator. Feel free to expand upon the information, and to create new subjects there. If you have hints, tips, or any other information you'd like to share, please add them where you think they would be appropriate. Have a great day! Camiel. |
From: Brian W. <bdw...@in...> - 2008-04-04 15:13:29
|
On Fri, 2008-04-04 at 16:01 +0100, Camiel Vanderhoeven wrote: > Hello everyone, > > I'm going to give a presentation about the ES40 Emulator at HP's > OpenVMS bootcamp in May. I'm putting the material together, and I'm > hoping you may have a few ideas what to speak on. I've got an hour, > and the session will be at a basic level. So far, I'm thinking of > talking about the following: > > * Emulation in general: when, why > * How to create an emulator (study the documentation, study the > hardware, filter out the logic, implement it in software, test and > analyze it, then re-iterate for fine-tuning) > * How the architecture of the ES40 was mapped into software-objects > * How we started with a "bare-bones" system until we got OpenVMS > running, then started adding things > * How the ES40 emulator is kept portable (portable libraries, new build system) > * Useful open-source resources > * Need for an active community, and how to build one > * SourceForge.net features > > If you have any additional suggestions, or suggestions for one of > these points, please let me know. I will certainly make my > presentation public after the bootcamp. > Sounds really cool. You may mention how much brain-bleach is needed to filter through all of the 'legacy' devices' behavior! Brian > Thanks! > > Camiel. > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers |