es40-developers Mailing List for AlphaServer ES40 Emulator (Page 2)
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
|
From: Fausto S. <fa...@un...> - 2008-06-13 12:22:17
|
Hello, i did other test... it seems IDE cdrom doesn't work very well under Tru64. My best configuration right now is IDE disk, and SCSI cdrom, but even in such case I have some timeout error, like that one I described in my previous email. If I try with a full IDE configuration I'm not able to start the installation With a full SCSI configuration the emulator crash when Tru64 try to format the disk. regards, fausto Fausto Saporito ha scritto: > Hello all, > > I'm trying again the Tru64 installation with the latest CVS. > I remembered that floppy code now was ok, but I got some errors during > the boot of "installation cd". > I'm using a real cdrom, not the ISO image. > > Here they are: > > (During boot of Tru64 5.1 - on the es40 console) > > DMA-I-RESET: DMA 0 reset.DMA-I-RESET: DMA 1 reset.dma: command register > 0 writte > n with 10 > dma: command register 1 written with 10 > dma: mode register 1 for channel 7 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 13 written: 03 > dma: mode register 1 for channel 7 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 13 written: 03 > dma: mode register 1 for channel 7 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 13 written: 03 > dma: mode register 1 for channel 7 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 13 written: 03 > dma: mode register 0 for channel 3 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 12 written: 03 > dma: mode register 0 for channel 2 written with 0 > Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify > dma: extended mode register 12 written: 02 > > at floppy probe, instead these are the errors on alpha console: > > <FDI: FATAL ERROR #114 sra:00000000 dor:00000000 msr:00000000> > <FDI: FATAL ERROR #125 sra:00000000 dor:00000000 msr:00000000> > fd internal driver error: FDI PROBE FAIL (A,11). > > fdi0 not probed > > then I have some errors (timeout) on hard-disks (on alpha console): > > ata0 at pci0 slot 15 > ata0: ACER M1543C > scsi0 at ata0 slot 0 rad 0 > cam_logger: SCSI event packet > cam_logger: bus 1 target 0 lun 0 > ss_perform_timeout > timeout on request on the bus, scheduled bus reset > Active CCB at time of error > cam_logger: SCSI event packet > cam_logger: bus 1 target 0 lun 0 > ss_perform_timeout > timeout on request on the bus, scheduled bus reset > Active CCB at time of error > > (while on es40 console I have): > > ide1.0 aborting on command 0xec > ide1.0 aborting on command 0xc6 > ide1.0 aborting on command 0xc6 > ide1.0 aborting on command 0xc6 > > regards, > Fausto > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > > > |
From: Camiel V. <iam...@gm...> - 2008-06-12 18:02:25
|
Hi Brian, Apparently it means that some C++ compilers don't like it ;-) I think it tries to treat the CScopedLock<CMutex> as CMutex::CScopedLock<CMutex>. Visual C++, as well as the particular version of gcc that I tried treat this the way I intended it. Caolán McNamara fixed this by replacing CScopedLock<CMutex> with ::CScopedLock<CMutex>. That patch is in the CVS repository. Camiel. On Tue, Jun 3, 2008 at 6:55 PM, Brian Wheeler <bdw...@in...> wrote: > Only being a newbie with C++, what does this error mean? > > g++ -DHAVE_CONFIG_H -I. -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP -DHAVE_X11 -MT AliM1543C.o -MD -MP -MF .deps/AliM1543C.Tpo -c -o AliM1543C.o AliM1543C.cpp > In file included from StdAfx.h:307, > from AliM1543C.cpp:269: > base/Mutex.h:114: error: declaration of 'typedef class CScopedLock<CMutex> CMutex::CScopedLock' > base/ScopedLock.h:88: error: changes meaning of 'CScopedLock' from 'class CScopedLock<CMutex>' > base/Mutex.h:175: error: declaration of 'typedef class CScopedLock<CFastMutex> CFastMutex::CScopedLock' > base/ScopedLock.h:88: error: changes meaning of 'CScopedLock' from 'class CScopedLock<CFastMutex>' > make[2]: *** [AliM1543C.o] Error 1 > make[2]: Leaving directory `/home/bdwheele/Emulation/es40/src' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/bdwheele/Emulation/es40/src' > make: *** [all-recursive] Error 1 > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > -- Bill Watterson - "There is not enough time to do all the nothing we want to do." |
From: Fausto S. <fa...@un...> - 2008-06-06 21:24:31
|
Hello, just a missing "\n" in printf (file: DMA.c - line 287). regards, fausto |
From: Fausto S. <fa...@un...> - 2008-06-06 21:16:59
|
Hello all, I'm trying again the Tru64 installation with the latest CVS. I remembered that floppy code now was ok, but I got some errors during the boot of "installation cd". I'm using a real cdrom, not the ISO image. Here they are: (During boot of Tru64 5.1 - on the es40 console) DMA-I-RESET: DMA 0 reset.DMA-I-RESET: DMA 1 reset.dma: command register 0 writte n with 10 dma: command register 1 written with 10 dma: mode register 1 for channel 7 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 13 written: 03 dma: mode register 1 for channel 7 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 13 written: 03 dma: mode register 1 for channel 7 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 13 written: 03 dma: mode register 1 for channel 7 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 13 written: 03 dma: mode register 0 for channel 3 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 12 written: 03 dma: mode register 0 for channel 2 written with 0 Mode: Demand, Address Decrement, Autoinit Disable, Command: Verify dma: extended mode register 12 written: 02 at floppy probe, instead these are the errors on alpha console: <FDI: FATAL ERROR #114 sra:00000000 dor:00000000 msr:00000000> <FDI: FATAL ERROR #125 sra:00000000 dor:00000000 msr:00000000> fd internal driver error: FDI PROBE FAIL (A,11). fdi0 not probed then I have some errors (timeout) on hard-disks (on alpha console): ata0 at pci0 slot 15 ata0: ACER M1543C scsi0 at ata0 slot 0 rad 0 cam_logger: SCSI event packet cam_logger: bus 1 target 0 lun 0 ss_perform_timeout timeout on request on the bus, scheduled bus reset Active CCB at time of error cam_logger: SCSI event packet cam_logger: bus 1 target 0 lun 0 ss_perform_timeout timeout on request on the bus, scheduled bus reset Active CCB at time of error (while on es40 console I have): ide1.0 aborting on command 0xec ide1.0 aborting on command 0xc6 ide1.0 aborting on command 0xc6 ide1.0 aborting on command 0xc6 regards, Fausto |
From: Brian W. <bdw...@in...> - 2008-06-03 16:55:25
|
Only being a newbie with C++, what does this error mean? g++ -DHAVE_CONFIG_H -I. -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_SDL -I/usr/include -DHAVE_PCAP -DHAVE_X11 -MT AliM1543C.o -MD -MP -MF .deps/AliM1543C.Tpo -c -o AliM1543C.o AliM1543C.cpp In file included from StdAfx.h:307, from AliM1543C.cpp:269: base/Mutex.h:114: error: declaration of ‘typedef class CScopedLock<CMutex> CMutex::CScopedLock’ base/ScopedLock.h:88: error: changes meaning of ‘CScopedLock’ from ‘class CScopedLock<CMutex>’ base/Mutex.h:175: error: declaration of ‘typedef class CScopedLock<CFastMutex> CFastMutex::CScopedLock’ base/ScopedLock.h:88: error: changes meaning of ‘CScopedLock’ from ‘class CScopedLock<CFastMutex>’ make[2]: *** [AliM1543C.o] Error 1 make[2]: Leaving directory `/home/bdwheele/Emulation/es40/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/bdwheele/Emulation/es40/src' make: *** [all-recursive] Error 1 |
From: Fausto S. <fa...@un...> - 2008-06-03 15:08:17
|
Hello Camiel, this error come up each time I start the es40. I suppose it's related to the missing rom files I wrote below (rom and flash). Maybe you could try to delete those files (or renaming) and start es40 again, and you should get that error. The strange thing is the emulator doesn't create them, when I quit it. regards, fausto Quoting Camiel Vanderhoeven <iam...@gm...>: > Hi Fausto, > > I haven't seen that before (well, I have, but that was a long time > ago...). Do you know how to reproduce it? > > Camiel. > > On Tue, Jun 3, 2008 at 4:55 PM, Fausto Saporito <fa...@un...> wrote: >> Hello Camiel, >> >> now it's ok, but at startup I have this error: >> >> *** Error - CPU 0 failed powerup diagnostics *** >> >> EV6 BIST = 0 >> STR status = 0 >> CSC status = 0 >> PChip0 status = 0 >> PChip1 status = 0 >> DIMx status = 0 >> TIG Bus status = 0 >> DPR status = 0 >> CPU speed status = 0 >> CPU speed = 0 >> Powerup time = 00-00-00 00:00:00 >> CPU SROM sync = 0 >> >> Is it normal? I delete the dpr.rom and flash.rom, but I never got that >> error before. >> >> regards, >> fausto >> >> Quoting Camiel Vanderhoeven <iam...@gm...>: >> >>> Hi Fausto, >>> >>> The problem in Serial.cpp was not the cause of the crash you saw. I >>> found a hard reference to CPU 1 in the decompression routine in >>> System.cpp. That was probably a remnant of some testing I did. I've >>> removed it, and it seems to fix the problem. I'm sorry I didn't spot >>> it earlier myself. >>> >>> Camiel. >>> >>> On Tue, Jun 3, 2008 at 11:09 AM, Camiel Vanderhoeven >>> <iam...@gm...> wrote: >>>> Hi Fausto, >>>> >>>> I just fixed a semicolon I misplaced in Serial.cpp. I'm not sure it's >>>> related to your crash, but I think it might be. >>>> >>>> Camiel. >>>> >>>> On Tue, Jun 3, 2008 at 10:39 AM, Fausto Saporito <fa...@un...> wrote: >>>>> Hello all, >>>>> >>>>> after a while I started again with my tests with Tru64, and with the >>>>> latest cvs version I have this totally new crash during the rom image >>>>> decompression. >>>>> The progress indicator prints 0% then I have the crash, and there's no >>>>> file (decompressed.rom) created in the directory. >>>>> >>>>> Has anyone encountered this bug before? >>>>> >>>>> thanks, >>>>> Fausto >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------- >>>>> This SF.net email is sponsored by: Microsoft >>>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>>> _______________________________________________ >>>>> Es40-developers mailing list >>>>> Es4...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/es40-developers >>>>> >>>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Es40-developers mailing list >>> Es4...@li... >>> https://lists.sourceforge.net/lists/listinfo/es40-developers >>> >> >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Es40-developers mailing list >> Es4...@li... >> https://lists.sourceforge.net/lists/listinfo/es40-developers >> > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Camiel V. <iam...@gm...> - 2008-06-03 15:01:28
|
Hi Fausto, I haven't seen that before (well, I have, but that was a long time ago...). Do you know how to reproduce it? Camiel. On Tue, Jun 3, 2008 at 4:55 PM, Fausto Saporito <fa...@un...> wrote: > Hello Camiel, > > now it's ok, but at startup I have this error: > > *** Error - CPU 0 failed powerup diagnostics *** > > EV6 BIST = 0 > STR status = 0 > CSC status = 0 > PChip0 status = 0 > PChip1 status = 0 > DIMx status = 0 > TIG Bus status = 0 > DPR status = 0 > CPU speed status = 0 > CPU speed = 0 > Powerup time = 00-00-00 00:00:00 > CPU SROM sync = 0 > > Is it normal? I delete the dpr.rom and flash.rom, but I never got that > error before. > > regards, > fausto > > Quoting Camiel Vanderhoeven <iam...@gm...>: > >> Hi Fausto, >> >> The problem in Serial.cpp was not the cause of the crash you saw. I >> found a hard reference to CPU 1 in the decompression routine in >> System.cpp. That was probably a remnant of some testing I did. I've >> removed it, and it seems to fix the problem. I'm sorry I didn't spot >> it earlier myself. >> >> Camiel. >> >> On Tue, Jun 3, 2008 at 11:09 AM, Camiel Vanderhoeven >> <iam...@gm...> wrote: >>> Hi Fausto, >>> >>> I just fixed a semicolon I misplaced in Serial.cpp. I'm not sure it's >>> related to your crash, but I think it might be. >>> >>> Camiel. >>> >>> On Tue, Jun 3, 2008 at 10:39 AM, Fausto Saporito <fa...@un...> wrote: >>>> Hello all, >>>> >>>> after a while I started again with my tests with Tru64, and with the >>>> latest cvs version I have this totally new crash during the rom image >>>> decompression. >>>> The progress indicator prints 0% then I have the crash, and there's no >>>> file (decompressed.rom) created in the directory. >>>> >>>> Has anyone encountered this bug before? >>>> >>>> thanks, >>>> Fausto >>>> >>>> >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.net email is sponsored by: Microsoft >>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>> _______________________________________________ >>>> Es40-developers mailing list >>>> Es4...@li... >>>> https://lists.sourceforge.net/lists/listinfo/es40-developers >>>> >>> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Es40-developers mailing list >> Es4...@li... >> https://lists.sourceforge.net/lists/listinfo/es40-developers >> > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Fausto S. <fa...@un...> - 2008-06-03 14:55:15
|
Hello Camiel, now it's ok, but at startup I have this error: *** Error - CPU 0 failed powerup diagnostics *** EV6 BIST = 0 STR status = 0 CSC status = 0 PChip0 status = 0 PChip1 status = 0 DIMx status = 0 TIG Bus status = 0 DPR status = 0 CPU speed status = 0 CPU speed = 0 Powerup time = 00-00-00 00:00:00 CPU SROM sync = 0 Is it normal? I delete the dpr.rom and flash.rom, but I never got that error before. regards, fausto Quoting Camiel Vanderhoeven <iam...@gm...>: > Hi Fausto, > > The problem in Serial.cpp was not the cause of the crash you saw. I > found a hard reference to CPU 1 in the decompression routine in > System.cpp. That was probably a remnant of some testing I did. I've > removed it, and it seems to fix the problem. I'm sorry I didn't spot > it earlier myself. > > Camiel. > > On Tue, Jun 3, 2008 at 11:09 AM, Camiel Vanderhoeven > <iam...@gm...> wrote: >> Hi Fausto, >> >> I just fixed a semicolon I misplaced in Serial.cpp. I'm not sure it's >> related to your crash, but I think it might be. >> >> Camiel. >> >> On Tue, Jun 3, 2008 at 10:39 AM, Fausto Saporito <fa...@un...> wrote: >>> Hello all, >>> >>> after a while I started again with my tests with Tru64, and with the >>> latest cvs version I have this totally new crash during the rom image >>> decompression. >>> The progress indicator prints 0% then I have the crash, and there's no >>> file (decompressed.rom) created in the directory. >>> >>> Has anyone encountered this bug before? >>> >>> thanks, >>> Fausto >>> >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Es40-developers mailing list >>> Es4...@li... >>> https://lists.sourceforge.net/lists/listinfo/es40-developers >>> >> > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Brian W. <bdw...@in...> - 2008-06-03 14:22:50
|
Can we add 'sh' for each of the configure_*.sh scripts? #! /bin/sh sh ./configure_1.sh sh ./configure_2.sh $@ This fixes a permissions problem I have when the .sh files aren't marked as executable. Brian |
From: Camiel V. <iam...@gm...> - 2008-06-03 09:31:28
|
Hi Fausto, The problem in Serial.cpp was not the cause of the crash you saw. I found a hard reference to CPU 1 in the decompression routine in System.cpp. That was probably a remnant of some testing I did. I've removed it, and it seems to fix the problem. I'm sorry I didn't spot it earlier myself. Camiel. On Tue, Jun 3, 2008 at 11:09 AM, Camiel Vanderhoeven <iam...@gm...> wrote: > Hi Fausto, > > I just fixed a semicolon I misplaced in Serial.cpp. I'm not sure it's > related to your crash, but I think it might be. > > Camiel. > > On Tue, Jun 3, 2008 at 10:39 AM, Fausto Saporito <fa...@un...> wrote: >> Hello all, >> >> after a while I started again with my tests with Tru64, and with the >> latest cvs version I have this totally new crash during the rom image >> decompression. >> The progress indicator prints 0% then I have the crash, and there's no >> file (decompressed.rom) created in the directory. >> >> Has anyone encountered this bug before? >> >> thanks, >> Fausto >> >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Es40-developers mailing list >> Es4...@li... >> https://lists.sourceforge.net/lists/listinfo/es40-developers >> > |
From: Camiel V. <iam...@gm...> - 2008-06-03 09:09:06
|
Hi Fausto, I just fixed a semicolon I misplaced in Serial.cpp. I'm not sure it's related to your crash, but I think it might be. Camiel. On Tue, Jun 3, 2008 at 10:39 AM, Fausto Saporito <fa...@un...> wrote: > Hello all, > > after a while I started again with my tests with Tru64, and with the > latest cvs version I have this totally new crash during the rom image > decompression. > The progress indicator prints 0% then I have the crash, and there's no > file (decompressed.rom) created in the directory. > > Has anyone encountered this bug before? > > thanks, > Fausto > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Es40-developers mailing list > Es4...@li... > https://lists.sourceforge.net/lists/listinfo/es40-developers > |
From: Fausto S. <fa...@un...> - 2008-06-03 08:39:45
|
Hello all, after a while I started again with my tests with Tru64, and with the latest cvs version I have this totally new crash during the rom image decompression. The progress indicator prints 0% then I have the crash, and there's no file (decompressed.rom) created in the directory. Has anyone encountered this bug before? thanks, Fausto |
From: Camiel V. <iam...@gm...> - 2008-06-03 07:50:31
|
Hello everyone, Over the past few weeks, I have received numerous reports from people who encountered difficulties compiling the new multi-threading code for the emulator that is currently in the CVS repository. Most of these difficulties were caused by the Poco C++ Libraries. It appears that some Linux distibutions come with a version of the Poco libraries that is too old for our purposes. Also, current Poco versions have dropped support for OpenVMS. To solve these problems, I've decided to take those parts of the Poco C++ Libraries that we're actually using (which is only a small subset of the entire Poco package), and add those parts to our own codebase. I've completed this last week, and have committed the results to the repository. As a result, you will now find a directory /src/base, that contains the Poco code, and the Poco libraries themselves are no longer required to build or run the emulator. I'll create a new snapshot shortly. Also, there are some reports of various problems building the emulator on OpenVMS. I'll dedicate some time this week to setting up an OpenVMS installation from scratch, install the necessities to compile the emulator, and document all those steps properly. Best regards, Camiel Vanderhoeven http://www.es40.org |
From: Camiel V. <iam...@gm...> - 2008-05-04 08:50:41
|
Hello everyone, CVS Snapshot 20080503_1030 has just become available for download. This snapshot was created yesterday, but due to technical difficulties at sourceforge, has only now become available for download. Changes since the last release (0.18) are: - Floppy controller implementation. (29-apr-2008, Brian Wheeler) - CDiskController is no longer a CPCIDevice. This alows for non-PCI diskcontrollers (like the floppy controller. (29-apr-2008, Camiel Vanderhoeven) - Added memory map dumping and memory range checking. (29-apr-2008, Brian Wheeler) - Rewrote DMA code to make it ready for floppy support. (18-apr-2008, Brian Wheeler) - More questions in debug confuration script. (03-apr-2008, Camiel Vanderhoeven) - Compile on OpenVMS; new OpenVMS build scripts generated from the UNIX build scripts; Include selected parts of Poco (Poco has dropped support for OpenVMS). (02-apr-2008, Camiel Vanderhoeven) - Created configuration file utility. (28-mar-2008, Camiel Vanderhoeven) - Support OpenVMS file paths. (26-mar-2008, Camiel Vanderhoeven) - Use the config.h data created by the configure script. (26-mar-2008, Camiel Vanderhoeven) - Improved IDE locking by a) Removing all of the general register locking; b) Busmaster locking is still in place, but it might not be needed, this locking is pretty fine grained so nothing should time out waiting for it; c) Creating an alt_status variable which gets updated when the real status becomes stable (i.e. at the end of the execute() run, after the drq status is changed, etc), access to this variable is locked; d) Everything else is a free for all. (20-mar-2008, Brian Wheeler) - Implement an optional delayed IDE interrupt. The OSes still lose interrupts sometimes. (20-mar-2008, Brian Wheeler) - Create configuration files to use GNU's Autotools. (20-mar-2008, Camiel Vanderhoeven) - Support disk image files >2GB on linux. (19-mar-2008, Camiel Vanderhoeven) - Fixed some IDE CD-ROM issues that were introduced with the multi-threading patch. (17-mar-2008, Brian Wheeler) - Restored SDL functionality. (16-mar-2008, Camiel Vanderhoeven) - Better exception handling, restored Serial port menu functionality (14-mar-2008, Camiel Vanderhoeven) - Ability to stop and restart threads, restored save/restore state functionality. (13-mar-2008, Camiel Vanderhoeven) - Use separate threads for devices rather than crowding everything into one thread. Use Poco libraries for platform independent threading. NOTE: This patch breaks some functionality that we will need to regain in the future. (05-mar-2008, Camiel Vanderhoeven) Have fun! Camiel Vanderhoeven http://www.es40.org/ |
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 = {...} > ... > } > |