Stanislav Shwartsman
574b69c81e
fixed MSDEV warnings
2012-11-27 15:40:45 +00:00
Stanislav Shwartsman
64f9c12bbc
name new CPUID bits from AMD
2012-11-10 11:00:09 +00:00
Stanislav Shwartsman
edf4ea4c74
fixed SF bug #1318 dbg: several issues with 'set' command
2012-11-06 20:01:02 +00:00
Stanislav Shwartsman
7bace61c12
fixed compilation issue
2012-11-05 06:41:10 +00:00
Stanislav Shwartsman
8a01ee1661
implemented SVM decode assists. some is still missing - coming soon
2012-11-02 07:46:50 +00:00
Stanislav Shwartsman
8d32f2e305
fixed another compilaton err in vapic
2012-10-28 18:32:58 +00:00
Stanislav Shwartsman
7e663e785e
fix compilation err
2012-10-28 16:34:25 +00:00
Stanislav Shwartsman
744001e35e
Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery emulation
...
Bugfix: VMX: VmEntry should do TPR Virtualization (TPR Shadow + APIC Access Virtualization case is affected) and even could possibly cause TPR Threshold VMEXIT
2012-10-26 18:43:53 +00:00
Stanislav Shwartsman
9b65cae026
make WRMSR end-of-trace instruction
2012-10-25 16:49:22 +00:00
Stanislav Shwartsman
4273b41d00
fixed write to apicbase when in x2apic mode
2012-10-25 16:09:34 +00:00
Stanislav Shwartsman
7e1b67f91e
fixed bugs in vmx code
2012-10-25 16:08:28 +00:00
Stanislav Shwartsman
e4d659c54d
fix compilation err
2012-10-25 16:07:11 +00:00
Stanislav Shwartsman
45d5d690d7
initialize random generator for RDRAND/RDSEED
2012-10-09 20:53:50 +00:00
Stanislav Shwartsman
2638c1136a
Add RDRAND/RDSEED instructions support (+ disasm)
...
Of course no true random numbers will be generated - use standard "C" rand() function as stub.
In future it will be possible to improve (using another random generator) or even use real rdrand/rdseed intrinsics
2012-10-09 15:16:48 +00:00
Stanislav Shwartsman
e7a2c9892c
re-implement VTPF write using event handling interface as trap event (in preparation to more apic virtualization features)
2012-10-07 09:16:13 +00:00
Stanislav Shwartsman
b0edc32f4c
fixed compilation with VMX
2012-10-06 09:13:41 +00:00
Stanislav Shwartsman
c48e516386
implemented injection of MTF event. The MTF VMexec control is still not implemented yet
2012-10-05 20:48:22 +00:00
Stanislav Shwartsman
3cd11b02ee
optimization and bugfix for prev commit
2012-10-04 21:30:50 +00:00
Stanislav Shwartsman
1b228aec32
Fixed double and triple fault detection in exception.cc. Remove errorno variable from CPU (redundant now)
2012-10-04 20:52:27 +00:00
Stanislav Shwartsman
f69bc016d2
vmx: nmi blocking after NMI event injection. better dbg print for VMEXIT
2012-10-04 16:15:58 +00:00
Stanislav Shwartsman
be1642e02e
fixed compile with debugger enabled
2012-10-03 20:32:02 +00:00
Stanislav Shwartsman
2ca0c6c677
Move INTR, Local APIC INTR and SVN VINTR into new event interface (hardest part)
...
Minor speedup (of 1-2%) was observed due to new implementation
Remove obsolete dbg_take_irq function and dbg_force_interrupt function from CPU code, the functions were not working properly anyway
2012-10-03 20:24:29 +00:00
Stanislav Shwartsman
49bb3ba8f5
some cleanups and optimizations with new event interface
2012-10-03 15:49:45 +00:00
Stanislav Shwartsman
ae06a0825b
svm virq - move to new event interface
2012-10-02 20:49:16 +00:00
Stanislav Shwartsman
9132c29280
optimization and code duplication cleanup in event handling code
2012-10-02 20:07:26 +00:00
Stanislav Shwartsman
dbb23aed43
close another SMC hole
2012-10-01 18:19:09 +00:00
Stanislav Shwartsman
3a6f649b18
fixed comment
2012-10-01 12:08:23 +00:00
Stanislav Shwartsman
e397a86ce0
fixed code duplication related to EXT field
2012-09-29 09:31:34 +00:00
Stanislav Shwartsman
dc369d831f
small cleanup
2012-09-27 07:03:25 +00:00
Stanislav Shwartsman
8189a5ed20
fixed compilation with SMP
2012-09-26 16:00:49 +00:00
Stanislav Shwartsman
b2afa834c5
fixed compilation with intrumentation w/o x86-64
2012-09-25 20:48:46 +00:00
Stanislav Shwartsman
66a9a769fc
fixed nmi window exiting
2012-09-25 20:00:33 +00:00
Stanislav Shwartsman
08d0ef6dbf
fixes for new event handling code
2012-09-25 13:53:26 +00:00
Stanislav Shwartsman
d5f858d100
transfer VMX NMI window exiting into event vector infrastructure
2012-09-25 10:21:29 +00:00
Stanislav Shwartsman
40ba9c8d7b
introducing new interface for handling CPU events based on vector of events and not on many not related variables. this is very initial implementation which takes into new interface only few events, more will code soon
2012-09-25 09:35:38 +00:00
Stanislav Shwartsman
f0c153e550
fixed warning
2012-09-24 19:53:49 +00:00
Stanislav Shwartsman
da150bc163
small optimization in icache
2012-09-23 19:35:46 +00:00
Stanislav Shwartsman
eb348992c2
optimize POPCNT implementation
2012-09-21 14:56:56 +00:00
Stanislav Shwartsman
74f5bb1934
WBINVD not necessary havw to flush ICACHE
2012-09-21 08:55:10 +00:00
Stanislav Shwartsman
f419798ca5
fixed reset value for mtrr
2012-09-15 19:52:11 +00:00
Stanislav Shwartsman
4f6557697b
small comments updates in vmx code
2012-09-13 05:33:05 +00:00
Volker Ruppert
c2560a8d44
- fpu directory is now a subdirectory in 'cpu'
2012-09-12 21:08:40 +00:00
Stanislav Shwartsman
2c5165bc06
fix check of error_code feild on event injection
2012-09-12 04:12:58 +00:00
Stanislav Shwartsman
2f3c7ff8e4
implemented SMAP (Supervisor Mode Access Protection) from [Intel Architecture Instruction Set Extensions Programming Reference] rev14
...
fixed enabling of ADX extensions in generic CPUID when enabled through .bochsrc
Small code cleanups on the way to implementation of APIC Registers Virtualization features disclosed in recent Intel SDM rev043
2012-09-10 15:22:26 +00:00
Stanislav Shwartsman
0386f49e03
fixed comments for SHLD/SHRD instructrions and make code a little more clear
2012-09-09 17:44:42 +00:00
Stanislav Shwartsman
7e48b30b5d
fixed random freeze issues caused by commit rev11402
2012-09-06 19:51:33 +00:00
Stanislav Shwartsman
bff3ba1535
small optimization in lazy flags code
2012-09-06 19:49:14 +00:00
Stanislav Shwartsman
f1fd44b2cf
preparations for apic regs virtualization feature described in SDM rev044
2012-09-06 15:21:08 +00:00
Stanislav Shwartsman
8044a2bda6
rename i->execute field in the instruction
...
move victim cache lookup into cache lookup so traces could be linked with victim cache hits directly
2012-09-04 15:45:05 +00:00
Stanislav Shwartsman
295e3ab8db
fixed compilation warning
2012-09-02 18:38:04 +00:00