Commit Graph

8823 Commits

Author SHA1 Message Date
Volker Ruppert
4ce12047a9 - added PCI ROM support to the Bochs BIOS (works with both pcivga and cirrus)
- scan for VGABIOS ROM after rombios32 init
  - copy PCI ROM to shadow RAM at 0xc0000 and enable it
  - NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
    default BIOS for PCI display adapters
  - TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
2011-07-03 08:10:16 +00:00
Stanislav Shwartsman
f57b14d338 Extended the interface of the fetch handler to general direct memory access handler.
Now the handler receives 'rw' (BX_READ, BX_WRTE, BX_EXECUTE) access type as parameter.
If returning a pointer to <addr> - itr is assumed that whole 4K page containing the <addr> could be accessed using the same pointer with offset.
You can return a pointer for READ/WRITE only and disallow execute, this is handled properly in the CPU code.
2011-06-30 18:07:14 +00:00
Stanislav Shwartsman
84214f7119 added comment 2011-06-29 19:53:45 +00:00
Stanislav Shwartsman
03879cf90d added infrastructure for prefetch support in the memory handlers 2011-06-29 19:48:46 +00:00
Stanislav Shwartsman
2c168b2855 bugfix 2011-06-28 18:53:20 +00:00
Stanislav Shwartsman
90c4a74362 typo fix 2011-06-28 16:29:11 +00:00
Stanislav Shwartsman
08ba847ce4 fix bug inserted with prev commit + cleanup 2011-06-28 16:04:40 +00:00
Stanislav Shwartsman
f765b9fc58 cleanup 2011-06-27 19:48:13 +00:00
Volker Ruppert
9c1b043abb - use a dynamicly allocated buffer for the PCI ROM instead of a static one
- set maximum PCI ROM size to 128k
2011-06-27 19:46:13 +00:00
Stanislav Shwartsman
f7c6bd1134 clean code dupication 2011-06-27 19:27:49 +00:00
Volker Ruppert
0eb8f11b45 - updated LGPL'd VGABIOS to current CVS (added PCI ROM support for the VBE-specific images) 2011-06-27 19:11:23 +00:00
Stanislav Shwartsman
a1a140682c cleanup 2011-06-26 20:22:04 +00:00
Stanislav Shwartsman
68f96846fe no need to define 3b opcodes on < 80x686 2011-06-26 19:39:48 +00:00
Volker Ruppert
1bcac13fcb - PCI ROM support added to the cirrus device (SeaBIOS now usable in Bochs with cirrus setup) 2011-06-26 19:32:16 +00:00
Stanislav Shwartsman
87953711b1 cleanup in mmx code 2011-06-26 19:31:42 +00:00
Stanislav Shwartsman
2f582db722 compile less stuff for cpu-level=5 2011-06-26 19:15:30 +00:00
Volker Ruppert
deef94eb12 - added PCI ROM support to bx_pci_device_stub_c and use it in the pcivga device (based on a patch by
Sebastian Herbszt). TODO list:
  - modify LGPL'd VGABIOS to make it work with SeaBIOS
  - modify Bochs BIOS to set up the legacy address 0xc0000
  - implement PCI ROM support in the cirrus device
  - move load_ROM calls to the display adapter code to handle the ISA case
2011-06-26 17:42:07 +00:00
Stanislav Shwartsman
5ef9f8acf8 cleanup 2011-06-26 17:25:25 +00:00
Volker Ruppert
16bd4c6401 - added pci_base_address array to bx_pci_device_stub_c and use it in most of the PCI devices instead
of several base address variables (ne2k still uses base_address for both ISA and PCI)
2011-06-25 12:43:27 +00:00
Stanislav Shwartsman
beafa7c88b improved x86 hw code bp handling 2011-06-24 13:38:34 +00:00
Stanislav Shwartsman
7e57d95364 Fix wrong address translation in debugger 2011-06-24 13:05:36 +00:00
Volker Ruppert
598b15f080 - the pcivga device can now be used even if Boche VBE support is disabled (VBE framebuffer BAR is
not available in that case)
2011-06-23 21:03:39 +00:00
Volker Ruppert
fce2386f99 - set log prefix depending on the selected vga extension (new prefix "BXVGA" for Bochs VBE support) 2011-06-23 17:02:48 +00:00
Volker Ruppert
2137c8bd81 - moved pci_conf array as a protected member to the PCI device stub class (exists in all PCI devices) 2011-06-23 15:56:02 +00:00
Volker Ruppert
e8e0f4a11e - added workspace package for MSVC plugin support. It required to configure
with --enable-plugins in addition to the default MSVC setup.
2011-06-23 06:32:15 +00:00
Volker Ruppert
f2dbd07569 - define variable MSVC_TARGET that can be used to skip useless tests of the
environment. As a first step use it to skip some networking module tests.
- link BOCHS.EXE with MSVCRT if MSVC plugin support is enabled (building DLL
  plugins with nmake still not possible - VS2008Ex workspace package coming soon)
- updated some messages for NE2000, PCI and USB
2011-06-22 21:53:16 +00:00
Volker Ruppert
64cb427843 - define variable MSVC_TARGET that can be used to skip useless tests of the
environment. As a first step use it to skip some networking module tests.
- link BOCHS.EXE with MSVCRT if MSVC plugin support is enabled (building DLL
  plugins with nmake still not possible - VS2008Ex workspace package coming soon)
- updated some messages for NE2000, PCI and USB
2011-06-22 21:52:35 +00:00
Stanislav Shwartsman
c45720f31a update CHANGES 2011-06-22 16:16:12 +00:00
Volker Ruppert
e88cda9fc0 - fixed compilation error if PCI is enabled without lowlevel cdrom support
(SF bug #3294671)
- related fixes in the USB MSD / SCSI device code
2011-06-21 19:54:37 +00:00
Stanislav Shwartsman
94958f39de BUILTIN BSWAP is not supported for MSVC 2011-06-21 17:12:57 +00:00
Stanislav Shwartsman
070a803a99 Ctrl-Break support for the Win32 gui 2011-06-21 17:10:40 +00:00
Stanislav Shwartsman
9fd1f187bb update ips guide in .bochsrc 2011-06-19 19:59:12 +00:00
Stanislav Shwartsman
93360601f8 Print debug value before modifying it 2011-06-19 15:31:51 +00:00
Volker Ruppert
48e8df25ff - fixed some MSVC warnings 2011-06-19 05:37:30 +00:00
Volker Ruppert
9f216cb912 - added es1370.* files to 'iodev' project
- specify one build logfile per project to avoid overwriting
2011-06-18 13:23:23 +00:00
Stanislav Shwartsman
84647d127b Fixed incorrect typecast in acpi.cc
This bug prevented boot of WinXP and Win7 64 images!
2011-06-18 09:54:43 +00:00
Volker Ruppert
e4fe7f0c8f - add some symbols required by MSVC for device plugins 2011-06-15 21:55:48 +00:00
Volker Ruppert
4bc70c8f4d - first step for DLL plugin support with MSVC. Now the BOCHS.EXE with plugin
support compiles and links fine and the main object files for the plugin DLLs
  are created. Since the gui and iodev makefiles are not ready yet, the link
  stage must be done manually. Support for the search path defined in
  LTDL_LIBRARY_PATH should be added when the DLL plugins compile and work.
2011-06-15 17:25:19 +00:00
Volker Ruppert
6a42228075 - first step for DLL plugin support with MSVC. Now the BOCHS.EXE with plugin
support compiles and links fine and the main object files for the plugin DLLs
  are created. Since the gui and iodev makefiles are not ready yet, the link
  stage must be done manually. Support for the search path defined in
  LTDL_LIBRARY_PATH should be added when the DLL plugins compile and work.
2011-06-15 17:24:32 +00:00
Stanislav Shwartsman
48f5c3b794 merged patch: Ctrl-Break support for the X11 gui by Nikolay Nikolov 2011-06-15 15:35:22 +00:00
Stanislav Shwartsman
a6b1bc6f89 Update development docbook.
Sebastian
2011-06-15 15:29:24 +00:00
Stanislav Shwartsman
31be835056 bugfix + rename function 2011-06-14 19:56:28 +00:00
Volker Ruppert
d03db7f940 - several changes related to cdrom runtime configuration
* moved runtime handlers for cdrom from config.cc to the device object
  * cd media status variable is now always of type bx_bool
  * changed obsolete gui names like "cdromD" to "cdrom1"
  * TODO: implement new runtime config mechanism similar to USB
2011-06-13 09:32:39 +00:00
Stanislav Shwartsman
6549afaf76 improve .conf.everything 2011-06-12 20:35:07 +00:00
Stanislav Shwartsman
1414e0bd6e Report memory above 4GB to BIOS (patch by Sebastian Herbszt) 2011-06-12 20:27:36 +00:00
Stanislav Shwartsman
31914e4a26 fixed compilation with avx off 2011-06-11 20:12:15 +00:00
Volker Ruppert
cb8faeee52 - implemented new mechanism to update device config parameters that depend on
each other. Devices can register a handler to update it's state after runtime
  configuration. The new method update_runtime_options() executes all registered
  device handlers before the simulation continues.
- USB host controllers now using the new mechanism to handle the runtime device
  change (replaces the previous timer-based implementation). TODO: floppy and
  cdrom could use this feature, too)
- improved USB device change messages
2011-06-11 19:38:52 +00:00
Stanislav Shwartsman
778154b3b2 one more fix 2011-06-11 18:27:37 +00:00
Stanislav Shwartsman
ef38c9e235 fix decode for VCVTPH2PS 2011-06-11 18:26:05 +00:00
Stanislav Shwartsman
61bd4023f6 Add Id and Rev to AVX new files 2011-06-11 18:15:45 +00:00