Stanislav Shwartsman
153d43520d
change copyright to bochs project
2009-12-04 19:50:29 +00:00
Stanislav Shwartsman
23326d86b6
fixed warning
...
unify names of debugger dump methods
2009-04-21 20:27:35 +00:00
Volker Ruppert
790eec83ca
- converted I/O APIC to a device plugin
...
- updated dependencies
2009-02-22 10:44:50 +00:00
Volker Ruppert
e5eac65b59
- removed wrong character from FSF address (converted invisible and useless
...
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
dd03e043a3
Updated FSF address
2009-02-07 21:05:31 +00:00
Volker Ruppert
501952efdd
- removed unused logfunctions member 'type' and related method 'settype()'
...
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Stanislav Shwartsman
d56c3a18aa
reduce include dependencies in iodev.h
...
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
a459a64f3e
whispace, tab2space, indent, dos2unix and other cleanups
2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
ae35b0276e
white space cleanups and coding style changes
2008-01-26 22:24:03 +00:00
Stanislav Shwartsman
0aaa1629aa
PIC IRQ handling bug fix by Russ Cox
2007-11-30 08:56:34 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Stanislav Shwartsman
9d907b5f65
Try to specify everywhere the list size in bx_list_c constructor
2007-04-03 22:38:49 +00:00
Volker Ruppert
190b9391cf
- delete the device object in the plugin_fini() function of each plugin device
...
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
2006-09-10 17:18:44 +00:00
Stanislav Shwartsman
8b0df8e99b
Merge SAVE_RESTORE branch to CVS
2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
dfeaf141f0
Register I/O APIC as memory handler, optimize memory handlers array
2006-02-27 19:04:01 +00:00
Volker Ruppert
a7df662814
- only a change of the INTIN level should be handled by the I/O APIC
...
- removed I/O APIC IRQ0 hack from the PIC code
2006-01-08 12:01:25 +00:00
Volker Ruppert
886522349d
- spurious interrupt detection added
2006-01-07 18:02:16 +00:00
Volker Ruppert
682fd2ffdb
- fixed PIC IRQ signal handling
2006-01-05 21:57:58 +00:00
Volker Ruppert
97e1f39d8f
- I/O APIC signal handling rewritten ("backported" from qemu)
...
- don't flood the logfile if APIC EOI has no effect
- fixed a warning in the APIC code
- TODO: fix IRQ 0 handling, implement ExtINT
2006-01-01 11:33:06 +00:00
Volker Ruppert
ff7f41541f
- first attempt to fix the I/O APIC code
...
* IRQ 0, 2 and 13 are usually not connected to the I/O APIC INTIN pins
* if the IRQ line is set to inactive, clear IRR bit (same as PIC, but that
needs to be checked)
* added symbols for I/O APIC input types according to the specs
* TODO: PIC INTR is connected to INTIN0, edge/level handling in I/O APIC and
APIC code, ...
2005-12-31 14:46:21 +00:00
Volker Ruppert
4623108de3
- level sensitive irq mode implemented (update IRR after EOI)
2004-07-08 18:45:03 +00:00
Volker Ruppert
242b9a2c3a
- level sensitive irq mode prepared
...
- pci reset mechanism implemented
- obsolete ResetSignal stuff removed
- ioapic: irq handling functions renamed to raise_irq/lower_irq
- pic: fixed two warnings
2004-07-06 19:59:10 +00:00
Stanislav Shwartsman
5873b26a82
Speed up compilation process.
...
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Alexander Krisak
d03e9381a0
Fixed broken build, reported by Jeroen Janssen
2003-08-05 09:19:36 +00:00
Alexander Krisak
45df735c30
Apply Vitaly's Vorobyov debugger patch
2003-08-04 16:03:09 +00:00
Volker Ruppert
df2d388fa4
- io_len mask fixed and unnecessary io_len checks removed from the remaining
...
devices except pciusb
2003-07-31 19:51:42 +00:00
Bryce Denney
5e520261db
Add plugin support to Bochs by merging all the changes from the
...
BRANCH_PLUGINS branch!
Authors:
Bryce Denney
Christophe Bothamy
Kevin Lawton (we grabbed a lot of plugin code from plex86)
Testing help from:
Volker Ruppert
Don Becker (Psyon)
Jeremy Parsons (Br'fin)
The change log is too long to paste in here. To read the change log, do
cvs log patches/patch.final-from-BRANCH_PLUGINS.gz
All the changes and a detailed description are contained in a patch
called patch.final-from-BRANCH_PLUGINS.gz. To look at the complete
patch, do
cvs upd -r1.1 patches/patch.final-from-BRANCH_PLUGINS.gz
Then you will have a local copy of the patch, which you can gunzip and
play with however you want.
Modified Files:
.bochsrc Makefile.in aclocal.m4 bochs.h config.h.in configure
configure.in gdbstub.cc logio.cc main.cc pc_system.cc
pc_system.h state_file.h bios/Makefile.in bios/rombios.c
cpu/Makefile.in cpu/access.cc cpu/apic.cc cpu/arith16.cc
cpu/arith32.cc cpu/arith8.cc cpu/cpu.cc cpu/cpu.h
cpu/ctrl_xfer32.cc cpu/exception.cc cpu/fetchdecode.cc
cpu/fetchdecode64.cc cpu/flag_ctrl.cc cpu/flag_ctrl_pro.cc
cpu/init.cc cpu/io.cc cpu/logical16.cc cpu/logical32.cc
cpu/logical8.cc cpu/paging.cc cpu/proc_ctrl.cc
cpu/protect_ctrl.cc cpu/segment_ctrl_pro.cc cpu/shift16.cc
cpu/shift32.cc cpu/stack64.cc cpu/string.cc cpu/tasking.cc
debug/Makefile.in debug/dbg_main.cc disasm/Makefile.in
doc/docbook/user/user.dbk dynamic/Makefile.in fpu/Makefile.in
gui/Makefile.in gui/amigaos.cc gui/beos.cc gui/carbon.cc
gui/control.cc gui/control.h gui/gui.cc gui/gui.h
gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
gui/rfb.cc gui/sdl.cc gui/sdlkeys.h gui/siminterface.cc
gui/siminterface.h gui/term.cc gui/win32.cc gui/wx.cc
gui/wxdialog.cc gui/wxdialog.h gui/wxmain.cc gui/wxmain.h
gui/x.cc gui/keymaps/sdl-pc-de.map gui/keymaps/sdl-pc-us.map
gui/keymaps/x11-pc-de.map instrument/example0/instrument.h
instrument/example1/instrument.h
instrument/stubs/instrument.cc instrument/stubs/instrument.h
iodev/Makefile.in iodev/biosdev.cc iodev/biosdev.h
iodev/cdrom.cc iodev/cmos.cc iodev/cmos.h iodev/devices.cc
iodev/dma.cc iodev/dma.h iodev/eth_fbsd.cc iodev/eth_linux.cc
iodev/eth_null.cc iodev/eth_tap.cc iodev/floppy.cc
iodev/floppy.h iodev/guest2host.cc iodev/guest2host.h
iodev/harddrv.cc iodev/harddrv.h iodev/iodebug.cc
iodev/iodebug.h iodev/iodev.h iodev/keyboard.cc
iodev/keyboard.h iodev/ne2k.cc iodev/ne2k.h iodev/parallel.cc
iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pci2isa.cc
iodev/pci2isa.h iodev/pic.cc iodev/pic.h iodev/pit.cc
iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h iodev/sb16.cc
iodev/sb16.h iodev/scancodes.cc iodev/scancodes.h
iodev/serial.cc iodev/serial.h iodev/slowdown_timer.cc
iodev/slowdown_timer.h iodev/unmapped.cc iodev/unmapped.h
iodev/vga.cc iodev/vga.h memory/Makefile.in memory/memory.cc
memory/memory.h memory/misc_mem.cc misc/bximage.c
misc/niclist.c
Added Files:
README-plugins extplugin.h ltdl.c ltdl.h ltdlconf.h.in
ltmain.sh plugin.cc plugin.h
2002-10-24 21:07:56 +00:00
Bryce Denney
7fdc7303c2
- add "void reset(unsigned type)" method to every I/O device.
...
Some devices already had one. Some I had to add an empty one.
I did a little cleaning of init() methods to make them more uniform
but generally I left them alone.
- I also put these exact diffs into a patch "patch.iodev-add-reset"
in case I want to revert these changes for some reason, for example
if they break an old patch. It should be deleted after a while.
2002-08-27 19:54:46 +00:00
Christophe Bothamy
1a454f196e
- fixed lockup during mouse movements during win98 install. (patch from Wilfried Weissmann in sf forum)
2002-08-06 14:11:03 +00:00
instinc
9520492a7c
fixed the comment associated with the master IMR initialization
2002-04-20 16:21:51 +00:00
instinc
976ea3f67f
as per the 82c59a datasheet from intel, the irq mask is now cleared on initialization
2002-04-20 16:19:42 +00:00
Volker Ruppert
d47cdb919a
- fixed detection of single mode and level senistive mode in ICW1
...
- fixed handling of rotate_on_autoeoi for master PIC in in IAC()
- removed old IRQ handling functions (trigger_irq / untrigger_irq)
- replaced BX_INFO in case of bx_dbg.pic by BX_DEBUG calls
2002-03-29 09:13:02 +00:00
Bryce Denney
18833a885b
- commit patch.pic-priorities. William Irwin needs this patch to get
...
SMP Linux 2.4.x to boot, since it requires polled mode. I can't
say I understand all the pieces of it, but it looks good so far.
2002-03-25 01:31:59 +00:00
Bryce Denney
4a976dcb0a
- add null check on devices->ioapic->untrigger_irq, suggested by
...
William Lee Irwin III <wli@holomorphy.com>
2002-03-06 21:52:16 +00:00
Volker Ruppert
e321b7bc9b
- old IRQ handling functions are disabled now
2002-02-11 08:50:28 +00:00
Volker Ruppert
0b6ab60780
- IOAPIC calls added in functions raise_irq() and lower_irq() (untested)
2002-01-30 18:33:41 +00:00
Volker Ruppert
ad072e2bc6
- implementation of the edge triggered IRQ mode
...
- new functions raise_irq() and lower_irq()
- all trigger_irq() / untrigger_irq() calls are replaced by the new functions
- REMARK: timer IRQ handling is not correct but it works
- TODO: IOAPIC IRQ handling needs to be changed
2002-01-29 17:20:12 +00:00
Volker Ruppert
4d4be62283
- specific EOI doesn't clear the IRR bit
...
- service_master_pic() / service_slave_pic() do clear the IRR bit
- new IRQ signal handling prepared
2002-01-26 12:03:55 +00:00
Volker Ruppert
aa4b1dd80f
- service_slave_pic() checks the special mask of slave not master
2002-01-15 20:42:51 +00:00
Volker Ruppert
df10d56fe4
- recognize edge/level bit in ICW1, messages updated
2001-12-31 08:38:08 +00:00
Bryce Denney
6a03773831
- I've had several reports of how to reproduce the 'slave OCW3 not implemented'
...
condition, so I've removed it now.
2001-11-27 18:15:39 +00:00
Bryce Denney
e5a992a796
- master PIC ignores commands 0xc0-0xc7. This change just makes the slave
...
PIC ignore these same commands. It does not implement the commands.
2001-11-19 14:41:03 +00:00
Bryce Denney
94ba0f4ca4
- remove some "#if BX_DEBUG" lines. What are these anyway? They've
...
probably been treated as ifdef instead, but a sun compiler doesn't like
them. Anyway, they were being used around a check for irq_num > 15.
This bounds check seems ok to do all the time, so I just removed the
#if BX_DEBUG lines and corresponding #endifs.
2001-11-12 03:29:18 +00:00
Bryce Denney
88893a868d
- Committed patch.pic-slave-special-mask to fix bug
...
[ #468340 ] pic:slave: OCW3 not implemented
The service_master_pic() method supported special mask mode but
service_slave_pic() did not. I added the code to service_slave_pic(). I
have no clear way to test that this is actually working right. If I can put
a gdb breakpoint in the pic.cc code and then step through and watch it work,
I'll be more confident.
2001-11-11 00:45:42 +00:00
Bryce Denney
daf2a9fb55
- add RCS Id to header of every file. This makes it easier to know what's
...
going on when someone sends in a modified file.
2001-10-03 13:10:38 +00:00
Todd T.Fries
a06b031dcf
setprefix -> put
2001-06-27 19:16:01 +00:00
instinc
6af3f5bd9f
- Added irq IRR removal when specific EOI is received
2001-06-26 21:55:25 +00:00
Todd T.Fries
12985edb26
setprefix now uses a variable length name as a string for an argument
2001-06-19 21:36:09 +00:00
Bryce Denney
f822257511
- there were cases where BX_APIC_SUPPORT were used and others where
...
BX_SUPPORT_APIC were used. To follow the pattern used by other
names like this, I changed them all to BX_SUPPORT_APIC.
Thanks to Tom Lindström for chasing this down!
2001-06-12 13:07:43 +00:00
Todd T.Fries
2bbb1ef8eb
strip '\n' from BX_{INFO,DEBUG,ERROR,PANIC}
...
don't need it, moved the output of it into the general io functions.
saves space, as well as removes the confusing output if a '\n' is left off
2001-05-30 18:56:02 +00:00