Commit Graph

9286 Commits

Author SHA1 Message Date
Stanislav Shwartsman
269d5e3443 more SVM fixes 2012-01-01 20:26:23 +00:00
Stanislav Shwartsman
810aa1b67c fixes for SVN. also turion64_tyler supports RDTSCP - include it in CPUID 2012-01-01 17:54:41 +00:00
Volker Ruppert
ca09763e89 - documentation.dbk: added some hints for using docbook / jade
- updated compilation and installation transcripts
- updated / fixed docs for bxcommit and bximage
2012-01-01 17:32:36 +00:00
Stanislav Shwartsman
30d90c1dc1 more SVM fixes 2011-12-31 20:10:11 +00:00
Volker Ruppert
759f9cb0f0 - don't update the queue head if a short packet is detected (fixes UHCI on XP) 2011-12-31 17:37:30 +00:00
Stanislav Shwartsman
b97a108d93 SVM: allow entering vm8086 and also paged real mode 2011-12-31 16:33:36 +00:00
Stanislav Shwartsman
a0b5ff48ec more SVM fixes 2011-12-31 14:22:51 +00:00
Stanislav Shwartsman
3c0d712146 SVM fixes 2011-12-31 13:58:55 +00:00
Stanislav Shwartsman
fe6741d84d fixed SVM bug 2011-12-31 13:26:55 +00:00
Stanislav Shwartsman
fe6328d18c correctly enable SVM support in internal CPU features list 2011-12-31 12:58:20 +00:00
Volker Ruppert
afef1e621e - update redolog image position with lseek() if the read/write access is not
handled by the volatile redolog (fixes tests with Windows XP)
- allow volatile write to boot sector
2011-12-31 12:51:07 +00:00
Stanislav Shwartsman
46d8a5894e removed bad RDMSR/WRMSR check which disabled access to AMD extended MSRs 2011-12-31 12:37:35 +00:00
Volker Ruppert
185490c158 - fixed possible segfault when setting up file attributes
- some more hidden / system directory fixes
- parse_directory() / write_file(): continue only if next cluster is valid
- TODO: fix VVFAT with Windows XP guest (unmodified FAT ?)
2011-12-30 23:23:34 +00:00
Stanislav Shwartsman
560e3ca254 compilation fix for smp=0 2011-12-30 18:55:19 +00:00
Stanislav Shwartsman
cee8a3b9ef AMD's core has special 0x80000008.ecx value 2011-12-30 18:53:41 +00:00
Stanislav Shwartsman
088ab4832f turion64 tyler supports cmpxchg16b 2011-12-30 18:46:46 +00:00
Volker Ruppert
5f0ec6c805 - fixed behaviour of "enable changed" port status bit
- improved error message
- TODO: fix UHCI with Windows XP guest (device not recognized)
2011-12-30 17:29:43 +00:00
Stanislav Shwartsman
2a0d989755 fixed compilation err with SVm w/o VMX 2011-12-30 12:24:22 +00:00
Volker Ruppert
223fe998b3 - code for setting up log actions by device rewritten
- unknown module names now cause a panic
- added log function names to some more devices
- TODO: find a way to configure log actions by device in the config interface
  start menu (most of the devices do not exist at this point)
2011-12-30 11:13:37 +00:00
Stanislav Shwartsman
93523a657d remove patch that always kept IF set after HLT - not needed anymore 2011-12-30 08:50:01 +00:00
Stanislav Shwartsman
3501eeceaf updated cpudb list in .bochsrc sample 2011-12-29 22:01:51 +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
32f53b5151 - performance fix for the new status LED code: only call the gui specific code
to update the status text if there is really a change
- changed the counter resolution to 5 (auto-off still happens after 0.5 seconds)
- the element value -1 is only used to reset the LEDs, so we have to ignore the
  status flags
2011-12-29 16:28:58 +00:00
Volker Ruppert
13506f74ee - fixed handling of directories with the attributes 'hidden' and 'system' 2011-12-29 15:39:04 +00:00
Stanislav Shwartsman
abda3a967c added two AMD CPUs to CPUDB 2011-12-29 14:23:22 +00:00
Volker Ruppert
09391fc21a - prepared "set log action by device" feature in the parameter tree and the
bochsrc parser. When read it will be possible to define exceptions from the
  default setting like this:

  debug: action=ignore, pci=report

- TODO (almost everything)
  - add a 'name' member to the logfunctions class, since the prefix might be
    too short
  - apply special log actions the log modules and panic on unknown modules
  - support saving special log action to bochsrc
2011-12-29 12:44:38 +00:00
Stanislav Shwartsman
644c7c6289 undo bxswap change - it breaks build with bx_debugger enabled. error - multiple definition of bx_swap16 in parser.o and lexer.o 2011-12-28 22:43:18 +00:00
Stanislav Shwartsman
7cd72d6f79 remove old garbage from makefile 2011-12-28 22:35:21 +00:00
Stanislav Shwartsman
c62426145a moved bx_bswap definition into osdep.h so bximage tool can also include them 2011-12-28 22:17:12 +00:00
Stanislav Shwartsman
5da69a6fb4 fixed typo - invalid CPUID leaf should go to max std leaf 2011-12-28 21:59:39 +00:00
Stanislav Shwartsman
2b854cb101 added basic (very basic) SVM CPUID into generic_cpuid module 2011-12-28 21:54:51 +00:00
Stanislav Shwartsman
0a14f08f16 completing SVM coding, missed - CPUID, extended APIC 2011-12-28 16:12:28 +00:00
Volker Ruppert
ea80df55e6 - implemented "auto-off" status LED feature and removed old "iolight" code 2011-12-28 14:53:05 +00:00
Stanislav Shwartsman
864ea23b5b take events handling logic from cpu.cc to new file event.cc 2011-12-28 12:26:45 +00:00
Stanislav Shwartsman
dcfa57087f fixed typo in configure script 2011-12-28 12:20:49 +00:00
Volker Ruppert
0b2bec6752 - implemented "auto-off" timer for the status bar LEDs that replaces the
existing "iolight timer" code in the hard drive code. If an LED is registered
  with the "auto-off" flag, the device only needs to turn on the LED to indicate
  data transfer. The LED timer in the gui code turns it off after 0.5 seconds if
  it is not actived by another transfer. Added this feature to all network
  devices.
- TODO #1: implement this feature in the USB host controllers
- TODO #2: the unused timer in the hard drive code could be used for the
  emulation of seek functions
2011-12-28 11:51:42 +00:00
Stanislav Shwartsman
2b8371f2b6 implemented SVM_GIF handling 2011-12-27 20:46:15 +00:00
Stanislav Shwartsman
7f5f917a34 more SVM implementation 2011-12-27 19:42:11 +00:00
Volker Ruppert
3e65692e40 - some progress for making the E1000 work with Windows XP
- allow to set the PCI busmaster bit
  - implement byte read access for the status register
2011-12-27 16:39:31 +00:00
Volker Ruppert
8ef4c8abaa - removed plugins 'acpi' and 'ioapic' from the optional plugin control to avoid
trouble. In the future they may depend on the selected PCI chipset.
2011-12-27 13:02:35 +00:00
Stanislav Shwartsman
c32eaa5d05 added more svm intercepts 2011-12-26 20:51:57 +00:00
Volker Ruppert
0de2516d05 - fixes to avoid crash after unloading plugins before simulation
- small cleanups
2011-12-26 20:32:56 +00:00
Stanislav Shwartsman
6ae86a059b firt cleanup in SVM code. added intercept check for MSR and IO 2011-12-26 19:57:39 +00:00
Volker Ruppert
046b74d94c - devices 'e1000' and 'es1370': moved config parameter creation and bochsrc
option parsing to the plugin device code
- TODO: some more optional device plugins could be modified this way
2011-12-26 17:32:57 +00:00
Stanislav Shwartsman
8b4a2c2034 implemented some more intercepts.
fixed compilation without SVM
2011-12-26 16:33:13 +00:00
Volker Ruppert
add7af8c13 - added support for converting growing to flat mode images
- added command line arguments and non-interactive (quiet) mode
2011-12-26 12:49:36 +00:00
Stanislav Shwartsman
bfcbb81602 SVM:
- IO intercept is not implemented yet
 - MSR intercept is not implemented yet

VMX:
 Fixed Bochs PANIC crash when doing I/O access crossing VMX I/O permission bitmaps.
 This can happen because access_physical_read and access_physical_write cannot access memory cross 4K boundary.
2011-12-25 22:09:31 +00:00
Stanislav Shwartsman
ea6dfe3dc0 added svm files 2011-12-25 20:01:48 +00:00
Stanislav Shwartsman
01080243d4 complation fix 2011-12-25 19:58:21 +00:00
Stanislav Shwartsman
a44c1b8e1e SVM and VMX share tsc offset code 2011-12-25 19:53:23 +00:00