Bochs/bochs/iodev
Kevin Lawton 414e97bc32 Enhanced the repeat IO accelerations (enabled by --enable-repeat-speedups)
to request bulk IO operations to IO devices which are bulk IO aware.
Currently, I modified only harddrv.cc to be aware.  I added some
fields to the bx_devices_c class for the IO instructions to
place requests and receive responses from the IO device emulation.
Devices except the hard drive, don't monitor these fields so they
respond as normal.  The hard drive now monitors these fields for
bulk requests, and if enabled, it memcpy()'s data straight from
the disk buffer to memory.  This eliminates numerous inp/outp calling
sequences per disk sector.

I used the fields in bx_devices_c so that I would not have to
disrupt most IO device modules.  Enhancements can be made to
other devices if they use high-bandwidth IO via in/out instructions.
2002-09-09 16:56:56 +00:00
..
aspi-win32.h - only define PACKED if it's not already defined, since in Cygwin it's 2001-06-25 12:52:37 +00:00
biosdev.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
biosdev.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
cdrom_amigaos.cc - fixed the function argument of insert_cdrom() for Amiga OS and MacOSX 2002-05-28 15:39:05 +00:00
cdrom_beos.cc - add BeOS specific code from Bernd Korz 2001-12-07 18:58:24 +00:00
cdrom_beos.h - add BeOS specific code from Bernd Korz 2001-12-07 18:58:24 +00:00
cdrom_osx.cc - fixed the function argument of insert_cdrom() for Amiga OS and MacOSX 2002-05-28 15:39:05 +00:00
cdrom.cc - revert previous revision to take out reset() method. The cdrom_interface 2002-08-28 16:45:18 +00:00
cdrom.h - revert previous revision to take out reset() method. The cdrom_interface 2002-08-28 16:45:18 +00:00
cmos.cc - first part of fix for bug [ 601166 ] CMOS Problem @ "0x0F Index 0x05 data" 2002-08-31 21:31:11 +00:00
cmos.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
crc32.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
crc32.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
devices.cc Enhanced the repeat IO accelerations (enabled by --enable-repeat-speedups) 2002-09-09 16:56:56 +00:00
dma.cc - implementation of the DMA controller reset 2002-08-28 19:39:00 +00:00
dma.h - implementation of the DMA controller reset 2002-08-28 19:39:00 +00:00
eth_arpback.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
eth_fbsd.cc - make all packet mover classes report their log messages using the NE2K 2002-09-02 16:56:24 +00:00
eth_linux.cc - make all packet mover classes report their log messages using the NE2K 2002-09-02 16:56:24 +00:00
eth_null.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
eth_packetmaker.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
eth_packetmaker.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
eth_tap.cc - clarify an err msg 2002-03-11 13:59:38 +00:00
eth_tuntap.cc - added a script directive in ne2k options of .bochsrc 2002-05-02 07:54:22 +00:00
eth_win32.cc - apply Peter Tattam's patch that makes win32 pad packets up to 60 bytes 2002-04-18 00:33:58 +00:00
eth.cc - add tuntap interface 2002-04-18 00:59:58 +00:00
eth.h - make all packet mover classes report their log messages using the NE2K 2002-09-02 16:56:24 +00:00
floppy.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
floppy.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
guest2host.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
guest2host.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
harddrv.cc Enhanced the repeat IO accelerations (enabled by --enable-repeat-speedups) 2002-09-09 16:56:56 +00:00
harddrv.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
ioapic.cc - reset should have one arg, unsigned int type 2002-08-29 16:52:47 +00:00
ioapic.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
iodebug.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
iodebug.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
iodev.h Enhanced the repeat IO accelerations (enabled by --enable-repeat-speedups) 2002-09-09 16:56:56 +00:00
keyboard.cc - apply a patch I've been working on 2002-09-06 16:43:26 +00:00
keyboard.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
Makefile.in - update dependencies by running gcc -MM again 2002-08-27 19:50:27 +00:00
ne2k.cc - when the device is reset via control register, it is BX_RESET_SOFTWARE 2002-08-28 16:55:16 +00:00
ne2k.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
parallel.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
parallel.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pci.cc - meaning of the memory type values changed (0 = ROM, 1 = Shadow RAM) 2002-08-31 15:35:51 +00:00
pci.h - meaning of the memory type values changed (0 = ROM, 1 = Shadow RAM) 2002-08-31 15:35:51 +00:00
pic.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pic.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pit82c54.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pit82c54.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pit_wrap.cc - add BX_SCHEDULED_DIE_TIME which causes Bochs to exit automatically after a 2002-09-01 15:38:29 +00:00
pit_wrap.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pit.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
pit.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
sb16.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
sb16.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
scancodes.cc - changed copyright strings 2002-04-01 22:43:01 +00:00
scancodes.h - changed copyright strings 2002-04-01 22:43:01 +00:00
scsi_commands.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
scsidefs.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
scsipt.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
serial_raw.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
serial_raw.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
serial.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
serial.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
slowdown_timer.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
slowdown_timer.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
soundlnx.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
soundlnx.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
soundwin.cc - add "return BX_SOUND_OUTPUT_OK;" to avoid compile error in VC++5 2002-03-05 17:22:59 +00:00
soundwin.h - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
unmapped.cc - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
unmapped.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00
vga.cc - new function set_text_charmap() stores the vga charmap data in the array 2002-09-08 07:56:10 +00:00
vga.h - add "void reset(unsigned type)" method to every I/O device. 2002-08-27 19:54:46 +00:00