Commit Graph

64 Commits

Author SHA1 Message Date
Volker Ruppert
a2dd985aef - remove registered device state in destructor (fixes crash on Bochs exit with
MSVC plugins)
2012-08-19 08:16:20 +00:00
Stanislav Shwartsman
88cc825040 allow 1-byte and 2-byte writes to I/O APIC index register 2012-05-22 14:48:48 +00:00
Stanislav Shwartsman
4a22693deb enable back the timer IRQ fix. TODO: ACPI MADT support is still required 2012-05-12 11:55:38 +00:00
Stanislav Shwartsman
03162d86f5 LAPIC: fixed timer interrupts after reloading of LAPIC Timer Divide Configuration register 2012-05-12 11:52:29 +00:00
Volker Ruppert
f65c4e66b8 - debugger command 'info device': implemented support for additional arguments
- ne2k: replaced debugger command 'info ne2k' completely by a new version based
  on 'info device' with additional arguments and removed all of the now obsolete
  stuff (ne2k device stub, macro for print_info())
- pci: added option 'dump=full' for the debugger command 'info device' to show
  the whole PCI config space
- TODO: some other devices could have support for additional options in
  debug_dump()
2012-04-23 17:06:19 +00:00
Volker Ruppert
a3f7a30422 - ioapic: added debug_dump() (prints redirection table) 2012-04-01 18:53:16 +00:00
Volker Ruppert
de94b08a1a - class bx_list_c now contains a chained list of parameters. Removed the now
obsolete maxsize parameter from all lists.
2012-02-12 18:43:20 +00:00
Volker Ruppert
b130bf671b - initial "log action by device" implementation added (TODO: check for
invalid module names, save log actions to bochsrc)
- added new member 'name' to the logfunctions class for the case the prefix
  is too short. Added to some devices with longer names.
2011-12-29 19:51:54 +00:00
Volker Ruppert
0de2516d05 - fixes to avoid crash after unloading plugins before simulation
- small cleanups
2011-12-26 20:32:56 +00:00
Volker Ruppert
11e9b12fbf - PIT must be connected to IOAPIC pin INTIN2
- converted tabs to spaces
2011-05-04 18:37:50 +00:00
Stanislav Shwartsman
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Volker Ruppert
3ef57e9f7e - fixed some format warnings in the devices code 2011-01-02 16:51:08 +00:00
Volker Ruppert
cdb7e0eb96 - fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target 2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
35f8e91cad APIC ID mask cleanup 2010-05-14 12:10:00 +00:00
Stanislav Shwartsman
e3a13a7a55 Make XAPIC runtime option as well 2010-02-28 14:52:17 +00:00
Stanislav Shwartsman
153d43520d change copyright to bochs project 2009-12-04 19:50:29 +00:00
Stanislav Shwartsman
30c63c773c apic.h is not needed for ioapic.cc 2009-02-22 17:37:09 +00:00
Volker Ruppert
790eec83ca - converted I/O APIC to a device plugin
- updated dependencies
2009-02-22 10:44:50 +00:00
Stanislav Shwartsman
31a367283a small optimizations for apic code 2009-02-19 23:19:11 +00:00
Stanislav Shwartsman
1b72e66bb3 support for apic global disable
separate between I/O apic and local apic
2009-02-18 22:25:04 +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
Stanislav Shwartsman
7d5e058dfe write to apic must be 16-byte aligned 2009-02-03 20:42:15 +00:00
Stanislav Shwartsman
30fec77004 faster i/o apic write access 2009-02-03 19:12:00 +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
Volker Ruppert
00d404809b - reduce some more dependencies
- iodev.h already includes bochs.h
2009-01-03 08:55:00 +00:00
Volker Ruppert
fd79c68d72 - fixed some warnings in iodev 2008-12-21 08:56:26 +00:00
Stanislav Shwartsman
83918212a6 Implemented HW reset for I/O APIC 2008-11-17 20:06:16 +00:00
Stanislav Shwartsman
297087fea9 fixed memory handler params - use bx_phy_address data type 2008-04-29 22:14:23 +00:00
Stanislav Shwartsman
ae35b0276e white space cleanups and coding style changes 2008-01-26 22:24:03 +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
8dfd8eefa7 - ExtINT implemented (some progress with FreeBSD 5.3 boot cd)
- fixed a warning
2006-10-02 15:08:21 +00:00
Stanislav Shwartsman
1aaf19cd09 Support for partial read/write in APIC space 2006-06-05 05:39:21 +00:00
Stanislav Shwartsman
fee48d74e0 Avoid doing strdup for param name field - most of the strdups elliminated ! 2006-05-29 22:33:38 +00:00
Stanislav Shwartsman
286b89d763 Several x86-64 MSRs were not-initilized !
Fixed small save-restore bug in dma.cc
First step to make save-restore code look better (only several files processed for example)
2006-05-28 17:07:57 +00:00
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
7b6c2587a9 Now devices could be compiled separatelly from CPU
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
dfeaf141f0 Register I/O APIC as memory handler, optimize memory handlers array 2006-02-27 19:04:01 +00:00
Stanislav Shwartsman
2755fb02dd Different was to implement bx_io_redirect_entry_t.
Should be fastr (elliminate redundant parse_entry calls) and more correct (aware of R/O fields)
2006-02-24 09:46:10 +00:00
Stanislav Shwartsman
2c8f6f7720 Merged patch: determine number of processors to emulate through .bochsrc 2006-01-18 18:35:38 +00:00
Stanislav Shwartsman
5899932f0c Merge APIC patch to the CVS.
- Fix lowest priority interrupt delivery from I/O APIC
 - XAPIC support
 - Implemented APIC bus functionality
 - cleanup APIC code
2006-01-10 06:13:26 +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
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
Stanislav Shwartsman
90059c8faa Non-functional changes, little bit optimize ioapic code 2005-12-13 20:27:23 +00:00
Volker Ruppert
e98c100f74 - a bunch of warnings in MSVC fixed
- name of source file in wxworkspace.zip fixed
2005-06-04 17:44:59 +00:00
Stanislav Shwartsman
19750b0324 Fixed highest_priority_int calculation function
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Stanislav Shwartsman
8191e3f577 Rolled back mistakely committed I/O APIC experiment 2005-04-11 16:51:09 +00:00
Stanislav Shwartsman
1755589376 Separate pageWriteStamp from ICACHE. The pageWriteStamp has totally independant structure and could be used in future with icache structure. Also it could be significantly speeded up using BX_SMF analog constructions. 2005-04-10 19:42:48 +00:00