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
Volker Ruppert
f0a3679e34
moved function is_pci_device() to the siminterface class
2012-11-11 12:21:09 +00:00
Volker Ruppert
e415cb9db8
recompiled after PCI changes
2012-11-11 09:10:28 +00:00
Volker Ruppert
cc56245407
started implementing the i430FX chipset
...
- renamed config parameter "i440fx_support" to "enabled"
- new config parameter "chipset" added (current choices "i430FX" and "i440FX")
- don't load ACPI support if the i430FX chipset is selected
- select register values for the core PCI devices depending on the chipset
- USB UHCI must be connected to a PCI slot if the i430FX chipset is used
- rombios changes to make the i430FX chipset work
- TODO #1 : implement limitation to 1 cpu and 128 MB RAM for the i430FX chipset
- TODO #2 : verify register behaviour of both chipsets
2012-11-11 08:11:17 +00:00