Volker Ruppert
f9dca3c76b
some keyboard bochsrc option changes
...
- moved 'user_shortcut' option to the keyboard option
- added new bx_param_c option value BOCHSRC_HIDDEN for parameters that should
only be available in the config interface. The new bochsrc option save and
parser function skip parameters with this flag set. This is useful for
parameters that will be set from the parser in a different way.
- save keyboard bochsrc line using the parameter list directly
- parse keyboard bochsrc options (except 'keymap') using the parameter list
- user shortcut: old-style syntax has already been removed
- increased minimum value for the keyboard's 'serial_delay'
2013-01-27 19:09:24 +00:00
Volker Ruppert
a86b91d7a1
parse cpu bochsrc options (except 'count') using the parameter list
...
- fixed small bugs in the new parser code
2013-01-27 12:11:19 +00:00
Volker Ruppert
2daadfcd85
parse serial, parallel and sound bochsrc options using the parameter list
...
- fixed small bug in the ne2k parser code
- added warnings to the new parser code
2013-01-26 18:17:23 +00:00
Volker Ruppert
b1cc217ea8
parse mouse and ata resource bochsrc options using the parameter list
...
- fixed possible segfaults in the new parser code
- use the new parser code partly for the ata device and nic options
2013-01-26 13:32:28 +00:00
Volker Ruppert
1365e2fbe0
parse cpuid bochsrc options using the parameter list
...
- TODO: use this feature for some other bochsrc options
2013-01-26 07:52:14 +00:00
Volker Ruppert
0ae6a3f6f0
save the optional plugin control bochsrc line using the parameter tree
2013-01-25 18:37:03 +00:00
Volker Ruppert
8e4e08cad7
changed USB cdrom media status parameter type to bx_param_enum_c
...
- moved media status names to the siminterface code
- textconfig: fixed possible segfault in runtime options prompt
2013-01-25 17:56:40 +00:00
Volker Ruppert
42cd945c35
i430FX: set up DRB address registers depending on memory size
...
- TODO #1 : do the same for the i440FX chipset
- TODO #2 : implement DRAM module detection mode in the memory code
2013-01-25 15:52:39 +00:00
Stanislav Shwartsman
016e112ac2
fixed compilation err with vmx=1
2013-01-23 19:04:53 +00:00
Volker Ruppert
b5dd859da8
changed floppy media status parameter type to bx_param_enum_c
2013-01-23 17:56:57 +00:00
Stanislav Shwartsman
a0c9522fef
fix compilation with no vmx enabled
2013-01-22 19:06:20 +00:00
Volker Ruppert
c2b57c5a56
save the ata device options using the parameter tree
...
- removed parameter "present" and use the new drive type "none" instead
- re-implemented cdrom media status parameter as a bx_param_enum_c
- TODO: change floppy media status parameter type to be consistent
2013-01-22 18:26:49 +00:00
Stanislav Shwartsman
8865df606a
fixed typo bug in VMX code
2013-01-22 08:39:41 +00:00
Stanislav Shwartsman
608775cd5a
vmread/vmwrite should always check for CPL, also when in vmx guest
2013-01-21 20:20:14 +00:00
Stanislav Shwartsman
3ab0331307
implemented VMCS shadowing (Intel SDM rev045)
2013-01-21 19:55:00 +00:00
Stanislav Shwartsman
9e896ce0bf
SFENCE instruction doesn't require SSE2
2013-01-20 17:56:08 +00:00
Volker Ruppert
34dbbe1c74
save the mouse, serial, parallel and ata resource options using the parameter tree
2013-01-19 22:37:15 +00:00
Stanislav Shwartsman
4bed791ccb
Added year 2013 to Copyright in all files already modified in new year
2013-01-19 20:45:03 +00:00
Stanislav Shwartsman
05d36f0acc
fixed performance bug in smap/smep fix - tlb never had user executable page permission
2013-01-19 20:14:44 +00:00
Volker Ruppert
a54f50e4f2
save the sound configuration using the parameter tree
2013-01-19 15:18:07 +00:00
Volker Ruppert
a5e5ac69b0
save the network configuration lines using the parameter tree
...
- fixed bochsrc line after a "raw byte" string parameter
- changed parameter name "macaddr" to "mac" (same as bochsrc option parameter)
- skip disabled parameters when building the bochsrc line
- added "multiline" switch to select the output format (one or multiple lines)
- renamed siminterface method and use it in the network devices code
2013-01-19 12:25:53 +00:00
Volker Ruppert
daf92361fe
save cpuid bochsrc line using the parameter list directly
...
TODO #1 : use bx_write_param_list() for other Bochs feature settings
TODO #2 : use the parameter list in the bochsrc parser
2013-01-18 17:11:23 +00:00
Stanislav Shwartsman
168bfc6ab1
fixed typo caused compilation err
2013-01-18 08:12:36 +00:00
Stanislav Shwartsman
eda28b95f4
unfortunately this change is rquired to make SMAP and SMEP features to work.
...
I observed ~5% emulation slowdown ... thinking about possible mitigations
this fixes TLB issue with SMAP and SMEP features.
these features introduce a new behavior when page can be inaccessible by System (CPL=0).
Current behavior is accessBits was not supporting it but legacy (from Bochs 2.3.6) was.
The wrong behavior can be observed if user access a user page and system access the same page later.
user access is fine and pass SMEP/SMA checks and stores the translation in TLB.
the system access will hit the TLB and nobody could detect that system cannot access that page.
2013-01-16 17:28:20 +00:00
Stanislav Shwartsman
c337b7babb
Intel Software Developers Manual rev45 was released
...
Added CPUID bits and preparations for newly documented VMX features
2013-01-16 16:57:48 +00:00
Stanislav Shwartsman
c96f5e27a9
flush tlb also when cr4.smap changes
2013-01-14 17:02:51 +00:00
Stanislav Shwartsman
a8068812df
add 'tlb' command to debugger to do TLB lookup
2013-01-14 17:02:07 +00:00
Stanislav Shwartsman
d93607cfe6
implemented pause threshold count in SVN + bugfix in SMAP
2013-01-08 21:03:22 +00:00
Stanislav Shwartsman
77cd8f862d
Move BIOS_COPYRIGHT_STRING to gain space at 0xfef3. Sebastian
2013-01-08 18:12:14 +00:00
Stanislav Shwartsman
93d6c2e1fc
added AMD Bulldozer architecture CPU (Zambezi) to CPUDB
2013-01-07 19:33:04 +00:00
Stanislav Shwartsman
df7ba90704
Set INT vector 77h and below to dummy iret handler.
...
Change based on sf patch #507 .
Sebastian
2012-12-31 06:33:01 +00:00
Stanislav Shwartsman
c6b1f6c22b
fixed IsValidPageAlignedPhyAddr check for VMX/SVM
2012-12-30 19:49:20 +00:00
Stanislav Shwartsman
685e0091b4
fixed decoding of RDRAND/RDSEED with 0x66 prefix
2012-12-27 19:31:21 +00:00
Stanislav Shwartsman
48d7fa3786
fixed code duplication, mainly in vmx/svm code
2012-12-26 21:59:16 +00:00
Stanislav Shwartsman
6e5a934eea
XSAVE: Fixed XCR0 reserved combination checking in XSETBV instruction
2012-12-23 16:54:18 +00:00
Stanislav Shwartsman
ce2751a13c
move misaligned_sse from compile time to .bochsrc option
2012-12-20 19:43:11 +00:00
Stanislav Shwartsman
979aa0c877
added svm into .bochsrc example
2012-12-19 19:17:14 +00:00
Volker Ruppert
56a7dfea8a
always load and enable USB UHCI if the i440FX chipset (PIIX3) is selected
2012-12-14 16:10:25 +00:00
Stanislav Shwartsman
db4d75317a
fixed small avx issues
2012-12-11 21:01:05 +00:00
Stanislav Shwartsman
318ad5e26d
optimize avx stores
2012-12-10 14:43:21 +00:00
Stanislav Shwartsman
182ad65ea3
changes in avx emulation code
2012-12-09 16:42:48 +00:00
Volker Ruppert
2ea45c0e4d
implemented volatile BIOS memory write support (controlled by PIIX/PIIX3 XBCS register)
2012-12-02 19:59:23 +00:00
Stanislav Shwartsman
574b69c81e
fixed MSDEV warnings
2012-11-27 15:40:45 +00:00
Stanislav Shwartsman
68c5312ee1
fixed gcc warning - array index out of bounds
2012-11-26 18:43:19 +00:00
Volker Ruppert
2f036fe5ca
added IOAPIC control from the PIIX3 (enable /disable and address relocation)
2012-11-25 19:06:03 +00:00
Stanislav Shwartsman
7efd6866ce
Set int vector 1Fh to zero; Character Font for upper 128 characters is not available. Sebastian
2012-11-23 20:16:19 +00:00
Volker Ruppert
033af3734c
PCI register behaviour fixes (PIIX/PIIX3)
2012-11-16 16:59:58 +00:00
Volker Ruppert
9c5e2565ca
fixed most of the MSVC warnings
2012-11-13 20:28:36 +00:00
Volker Ruppert
38addf037f
PCI register behaviour fixes, updated messages and comments
2012-11-12 18:56:07 +00:00
Volker Ruppert
6787d3b629
some PCI register behaviour fixes
2012-11-11 16:55:59 +00:00