Stanislav Shwartsman
|
d01725b1e9
|
Fixed compilation error on MAC
|
2009-02-20 08:12:51 +00:00 |
|
Stanislav Shwartsman
|
31a367283a
|
small optimizations for apic code
|
2009-02-19 23:19:11 +00:00 |
|
Stanislav Shwartsman
|
7be90a7426
|
forgot to enable local_apic in init()
|
2009-02-18 22:38:58 +00:00 |
|
Stanislav Shwartsman
|
3564ef3162
|
small fixes
|
2009-02-18 22:33:06 +00:00 |
|
Stanislav Shwartsman
|
1b72e66bb3
|
support for apic global disable
separate between I/O apic and local apic
|
2009-02-18 22:25:04 +00:00 |
|
Stanislav Shwartsman
|
87b705d036
|
Changes in lapicbase msr
|
2009-02-17 19:44:02 +00:00 |
|
Stanislav Shwartsman
|
3a1852ea23
|
take local APIC read/write access into CPU class from BX_MEM (needed for APIC virtualization later)
|
2009-02-17 19:20:47 +00:00 |
|
Stanislav Shwartsman
|
6fb60de2b2
|
cpu to see up to 40 bit physical addr space
|
2009-02-15 18:51:13 +00:00 |
|
Stanislav Shwartsman
|
e8e699245f
|
fix code duplication in cpu.h for eflags accessors
|
2009-02-13 20:09:56 +00:00 |
|
Stanislav Shwartsman
|
f1eb1d00fd
|
do not produce fpu2mmx transition if mem write faults
|
2009-02-13 10:15:16 +00:00 |
|
Stanislav Shwartsman
|
714dc45589
|
Fixed typo
|
2009-02-13 10:10:39 +00:00 |
|
Stanislav Shwartsman
|
a5badd3b83
|
- bugfixes
|
2009-02-13 09:51:57 +00:00 |
|
Stanislav Shwartsman
|
6003f52704
|
Fixed compilation error + x86-64 correctness fix
|
2009-02-09 19:46:34 +00:00 |
|
Stanislav Shwartsman
|
25b7227ef2
|
convert some BX_DEBUG prints to BX_ERROR
fixed boundary fetch fault bug in some stupid corner cases
|
2009-02-08 17:37:19 +00:00 |
|
Stanislav Shwartsman
|
aeaf51d33a
|
FIxed #DB exception in 64-bit mode
|
2009-02-06 15:25:57 +00:00 |
|
Stanislav Shwartsman
|
21e2692997
|
Fixed bug in trace cache mode
|
2009-02-06 15:03:47 +00:00 |
|
Stanislav Shwartsman
|
7c0582e4ea
|
Some fixes for X86-64 OFF mode
|
2009-02-04 16:05:47 +00:00 |
|
Stanislav Shwartsman
|
26fda0626d
|
Added missed CR0 reserved bits #GP in long mode
|
2009-02-03 21:11:31 +00:00 |
|
Stanislav Shwartsman
|
7d5e058dfe
|
write to apic must be 16-byte aligned
|
2009-02-03 20:42:15 +00:00 |
|
Stanislav Shwartsman
|
fdf4f25230
|
revert incorret merge
|
2009-02-03 19:28:22 +00:00 |
|
Stanislav Shwartsman
|
fbc6f04d8a
|
correctly deliver INIT
|
2009-02-03 19:26:09 +00:00 |
|
Stanislav Shwartsman
|
4499ae8d02
|
more info abourt SIPI
|
2009-02-03 19:25:37 +00:00 |
|
Stanislav Shwartsman
|
592484408f
|
Initial NMI virtualization for VMX, clean out CPU pins set/clear code
|
2009-02-03 19:17:15 +00:00 |
|
Stanislav Shwartsman
|
f6cb9e529f
|
Fixes for VMX emulation
|
2009-02-02 18:59:44 +00:00 |
|
Stanislav Shwartsman
|
3a918d21f7
|
VMENTER with pending dbg exceptions
|
2009-02-01 22:23:33 +00:00 |
|
Stanislav Shwartsman
|
2378d31998
|
Fixes for DR6 handling
|
2009-02-01 20:47:06 +00:00 |
|
Stanislav Shwartsman
|
de5814a22d
|
Fixed compilation err
|
2009-01-31 15:01:29 +00:00 |
|
Stanislav Shwartsman
|
9430c5cf95
|
INIT pin is blocked when CPU is waiting for SIPI
|
2009-01-31 11:53:57 +00:00 |
|
Stanislav Shwartsman
|
82969504d8
|
updated CPU TODO
|
2009-01-31 11:34:51 +00:00 |
|
Stanislav Shwartsman
|
f8185a6bc6
|
Added Intel VMX emulation to Bochs CPU
|
2009-01-31 10:43:24 +00:00 |
|
Stanislav Shwartsman
|
a1c11c788b
|
sepatate activity state from debug trap
|
2009-01-29 20:27:57 +00:00 |
|
Stanislav Shwartsman
|
aa982c27d8
|
move startup_SIPI code to CPU
|
2009-01-27 21:13:38 +00:00 |
|
Stanislav Shwartsman
|
0325c120b2
|
Separate PAUSE instruction from regular NOP
|
2009-01-27 20:29:05 +00:00 |
|
Stanislav Shwartsman
|
8c8ef5b869
|
Mask bit 11:8 of segment AR field
|
2009-01-23 21:28:01 +00:00 |
|
Stanislav Shwartsman
|
950db498c9
|
Fixed #DF error code
|
2009-01-23 18:19:57 +00:00 |
|
Stanislav Shwartsman
|
cd90782293
|
No need to save/restore EXT field
|
2009-01-23 17:48:38 +00:00 |
|
Stanislav Shwartsman
|
503cc4c836
|
merge fix
|
2009-01-23 09:33:11 +00:00 |
|
Stanislav Shwartsman
|
62005d4fd9
|
Minimize diff with VMX support branch
|
2009-01-23 09:26:24 +00:00 |
|
Stanislav Shwartsman
|
29a252b26e
|
final version of exceptions cleanups/interface changes
|
2009-01-21 22:09:59 +00:00 |
|
Stanislav Shwartsman
|
0b3c7262d4
|
Wrongly committed line
|
2009-01-20 21:34:59 +00:00 |
|
Stanislav Shwartsman
|
e7ac62ac82
|
extensions for exception type for future
|
2009-01-20 21:28:43 +00:00 |
|
Stanislav Shwartsman
|
74b885d74b
|
Updated instrumentation
Simplified exception code
|
2009-01-20 19:34:16 +00:00 |
|
Stanislav Shwartsman
|
c93d13d37b
|
small cleanups
|
2009-01-20 18:15:25 +00:00 |
|
Stanislav Shwartsman
|
db098a1205
|
Fix dependencies of CPU code from disasm library
Regent Makefile.in for CPU
|
2009-01-19 19:01:03 +00:00 |
|
Stanislav Shwartsman
|
ef5df7c4a8
|
make functions from rdmsr and wrmsr - they will be reused in VMX
|
2009-01-19 18:08:38 +00:00 |
|
Stanislav Shwartsman
|
cc60240dc1
|
cleanup RDMSR
|
2009-01-19 17:43:54 +00:00 |
|
Stanislav Shwartsman
|
637630435e
|
Fixed typo
|
2009-01-19 16:45:54 +00:00 |
|
Stanislav Shwartsman
|
a396c8a1ce
|
Rework SMM mess
|
2009-01-17 22:35:45 +00:00 |
|
Stanislav Shwartsman
|
cd367becd7
|
remove duplicate function
|
2009-01-17 18:56:25 +00:00 |
|
Stanislav Shwartsman
|
eaa00237c1
|
Notify debugger about MWAIT executed
|
2009-01-17 16:55:13 +00:00 |
|
Stanislav Shwartsman
|
9929e6ed78
|
- updated FSF address
|
2009-01-16 18:18:59 +00:00 |
|
Stanislav Shwartsman
|
e540ee75ca
|
cleared external debugger configure stuff from configure script and makefile
|
2009-01-15 21:52:52 +00:00 |
|
Stanislav Shwartsman
|
8af7eff93f
|
Oops, remove future stuff
|
2009-01-15 17:12:18 +00:00 |
|
Stanislav Shwartsman
|
0836545037
|
Merge io.cc and io_pro.cc (required for future VMX use)
|
2009-01-15 16:53:08 +00:00 |
|
Stanislav Shwartsman
|
aee488ea3a
|
Fixed dbg print
|
2009-01-13 22:54:49 +00:00 |
|
Stanislav Shwartsman
|
d4611072f4
|
Some small updates
|
2009-01-13 19:00:30 +00:00 |
|
Stanislav Shwartsman
|
da511513b3
|
make displ field of instruction signed
|
2009-01-12 20:14:37 +00:00 |
|
Stanislav Shwartsman
|
0ff68a2aa2
|
Fixed XSAVE decode in x86-64 mode
|
2009-01-10 16:01:55 +00:00 |
|
Volker Ruppert
|
501952efdd
|
- removed unused logfunctions member 'type' and related method 'settype()'
- updated FSF address in copyright
|
2009-01-10 11:30:20 +00:00 |
|
Stanislav Shwartsman
|
6451356d2b
|
make function to calculate allowed bits in cr4
|
2009-01-10 10:37:23 +00:00 |
|
Stanislav Shwartsman
|
836e9649d8
|
modify set cr0 functionality
|
2009-01-10 10:07:57 +00:00 |
|
Stanislav Shwartsman
|
4369152c70
|
- Make CS segment always writeable in real mode
|
2009-01-10 09:36:44 +00:00 |
|
Stanislav Shwartsman
|
6ea14b747c
|
Fixed SEGFAULT with configurable MSRS
fixed osdep issue in win32 enhanced debugger module
|
2009-01-08 18:07:44 +00:00 |
|
Stanislav Shwartsman
|
69153fc532
|
added enum for memory types
|
2009-01-03 20:04:03 +00:00 |
|
Volker Ruppert
|
e12b21e647
|
- update all dependencies
|
2009-01-03 09:54:10 +00:00 |
|
Stanislav Shwartsman
|
87396f051a
|
msr phy addr check use new function
|
2009-01-02 13:23:06 +00:00 |
|
Stanislav Shwartsman
|
3cd5ab1041
|
added phy addr check
|
2009-01-02 13:21:48 +00:00 |
|
Stanislav Shwartsman
|
16275b5298
|
Fixed msrs.def parsing
|
2008-12-30 18:16:30 +00:00 |
|
Stanislav Shwartsman
|
d56c3a18aa
|
reduce include dependencies in iodev.h
Makefile.in in iodev folder have to be regerated !
|
2008-12-29 20:16:08 +00:00 |
|
Stanislav Shwartsman
|
aff71784fc
|
Fixed possible mmory bug
|
2008-12-29 19:18:21 +00:00 |
|
Stanislav Shwartsman
|
6134ece1a2
|
hardware reset on triple fault
|
2008-12-29 17:46:42 +00:00 |
|
Stanislav Shwartsman
|
b7839dfcbe
|
Optimize repeat I/O calls
|
2008-12-29 17:35:35 +00:00 |
|
Stanislav Shwartsman
|
e182e74a4d
|
Added ability to define user MSRs spec for emulated CPU
|
2008-12-28 20:30:48 +00:00 |
|
Stanislav Shwartsman
|
a794bef607
|
optimize invlpg for split large pages
|
2008-12-19 16:03:25 +00:00 |
|
Stanislav Shwartsman
|
7f65e6b9ed
|
change PANIC to ERROR
|
2008-12-13 18:40:39 +00:00 |
|
Stanislav Shwartsman
|
2682738968
|
added ifdefs around 1G paging implementation
|
2008-12-11 21:30:37 +00:00 |
|
Stanislav Shwartsman
|
a2e07ff971
|
- Removed --enable-guest2hos-tlb configure option. The option will be
always enabled for any Bochs configuration.
|
2008-12-11 21:19:38 +00:00 |
|
Stanislav Shwartsman
|
69bd21bf1d
|
1G pages support for CPU
|
2008-12-11 21:00:01 +00:00 |
|
Stanislav Shwartsman
|
5174f9fe82
|
Fixed debian i386 image freeze
|
2008-12-08 20:01:26 +00:00 |
|
Stanislav Shwartsman
|
1231f64d79
|
move function to cpu.cc
|
2008-12-07 19:47:34 +00:00 |
|
Stanislav Shwartsman
|
24f9a22550
|
Fixed compilation when not in x86-64
|
2008-12-07 06:15:26 +00:00 |
|
Stanislav Shwartsman
|
35487c3ebd
|
get/set_segment_ar_data prepared for future reuse in other than SMM mode
|
2008-12-06 18:52:02 +00:00 |
|
Stanislav Shwartsman
|
15fa42963f
|
get/set_segment_ar_data prepared for future reuse in other than SMM mode
|
2008-12-06 18:01:00 +00:00 |
|
Stanislav Shwartsman
|
f9ce1171fe
|
rename crreg accessors
|
2008-12-06 10:21:55 +00:00 |
|
Stanislav Shwartsman
|
25e05d9a60
|
forgot to mark code access as code
|
2008-12-06 07:14:40 +00:00 |
|
Stanislav Shwartsman
|
d7fa44d270
|
optimize code access detection
|
2008-12-05 22:34:42 +00:00 |
|
Stanislav Shwartsman
|
b3bbf8ded2
|
define generic MSR
|
2008-12-05 13:10:51 +00:00 |
|
Stanislav Shwartsman
|
70e9f4c161
|
preparing to different way of handling MSR registers
|
2008-12-05 12:48:36 +00:00 |
|
Stanislav Shwartsman
|
ae4e5cea65
|
Fixed param tree overflow
|
2008-12-04 20:26:06 +00:00 |
|
Stanislav Shwartsman
|
ef36cec716
|
moving definition to config.h
|
2008-12-01 19:35:25 +00:00 |
|
Stanislav Shwartsman
|
098308dd9f
|
some variable renames + comp warn fix
|
2008-12-01 19:06:14 +00:00 |
|
Stanislav Shwartsman
|
f69ac41e59
|
added infrastructure for init disable
|
2008-12-01 18:54:24 +00:00 |
|
Stanislav Shwartsman
|
e402062499
|
-Fixes for INVLPG
|
2008-11-29 19:28:10 +00:00 |
|
Stanislav Shwartsman
|
cde9595e86
|
implement cluster addressing model in local apic
deliver INIT IPI through local apic
|
2008-11-20 18:44:15 +00:00 |
|
Stanislav Shwartsman
|
fbd078cb70
|
updates for instrumentation
|
2008-11-18 20:58:09 +00:00 |
|
Stanislav Shwartsman
|
3d60e1e20d
|
Fixed CPU state after software reset (INIT).
Update instrumentation.
Clean extra space from plugin.h biosdev device name
|
2008-11-18 20:55:59 +00:00 |
|
Stanislav Shwartsman
|
d12e1fc290
|
Fixed CPU runway after pressing reset button
|
2008-11-13 22:58:54 +00:00 |
|
Stanislav Shwartsman
|
dbca1fb130
|
Fix another corner case in prefetch()
|
2008-11-11 17:44:19 +00:00 |
|
Stanislav Shwartsman
|
5f9afb550a
|
Fix in cpu.cc
|
2008-11-09 22:33:44 +00:00 |
|
Stanislav Shwartsman
|
857392583a
|
- Fixed exceptions handling in v8086 mode
|
2008-11-09 22:08:21 +00:00 |
|
Stanislav Shwartsman
|
0f5f075e4d
|
- Fixed theoretically possible pageWriteStamp overflow
|
2008-10-21 19:50:05 +00:00 |
|
Stanislav Shwartsman
|
82815c4bef
|
Put back simple hash function for icache and trace cache - more cache misses but still ~3% speedup
|
2008-10-14 17:23:53 +00:00 |
|
Stanislav Shwartsman
|
c11ad9405d
|
one more
|
2008-10-10 21:09:25 +00:00 |
|
Stanislav Shwartsman
|
5261e6f73a
|
Optimize prefetch() method
|
2008-10-10 20:49:16 +00:00 |
|
Stanislav Shwartsman
|
577c8c7969
|
another way to do the same optimization
|
2008-10-08 20:40:26 +00:00 |
|
Stanislav Shwartsman
|
17040303f7
|
Optimization of repeat string
|
2008-10-08 20:15:37 +00:00 |
|
Stanislav Shwartsman
|
ab716f62aa
|
inline prepareMMX method
|
2008-10-08 11:14:35 +00:00 |
|
Stanislav Shwartsman
|
489447ae57
|
Fixed FPU2MMX state transition - should be done only fater all memory faults already checked
|
2008-10-08 10:51:38 +00:00 |
|
Alexander Krisak
|
e108fe0d58
|
Yet another win32 build fix. cpu/resolve.cc renamed to cpu/resolver.cc
because it conflicts with disasm/resolve.cc.
|
2008-10-07 07:47:56 +00:00 |
|
Stanislav Shwartsman
|
52a0eb2143
|
- Avoid 32-bit EIP wrap in prefetch()
|
2008-10-06 22:19:22 +00:00 |
|
Stanislav Shwartsman
|
3b0e84d9e3
|
The same again
|
2008-10-06 20:41:28 +00:00 |
|
Stanislav Shwartsman
|
367116ee3d
|
Do not access 64-bit vars when guaranteed to be in 32-bit mode with upper part of ther RIP/RSP cleared
|
2008-10-06 20:26:14 +00:00 |
|
Stanislav Shwartsman
|
67fae3ab41
|
Fixed compilation
|
2008-10-06 20:06:30 +00:00 |
|
Stanislav Shwartsman
|
4cf63f4804
|
Delete unused file
|
2008-10-06 20:05:23 +00:00 |
|
Stanislav Shwartsman
|
2066d8b594
|
Fixed compilation issues
|
2008-10-06 17:50:06 +00:00 |
|
Stanislav Shwartsman
|
fe0456d519
|
Remove extra ;;
|
2008-10-03 17:00:46 +00:00 |
|
Stanislav Shwartsman
|
fb71c07b15
|
Fixes for MONITOR/MWAIT - the feature is still EXPERIMENTAL ONLY !
|
2008-10-03 16:53:08 +00:00 |
|
Stanislav Shwartsman
|
5d0a807f0e
|
CR1 is not exists
|
2008-10-02 18:14:52 +00:00 |
|
Stanislav Shwartsman
|
c009e87a81
|
Remove external debugger interface:
- it is closed source (!!!)
- we have very nice replacement now
|
2008-10-01 09:44:40 +00:00 |
|
Stanislav Shwartsman
|
dee5b0a7a6
|
Correctly set DR6 when instr BP detected
|
2008-09-26 20:41:41 +00:00 |
|
Stanislav Shwartsman
|
8adcf06f27
|
Fixed bug
|
2008-09-25 19:19:40 +00:00 |
|
Stanislav Shwartsman
|
3d97374ce8
|
Some fixes for functionality
|
2008-09-24 10:39:35 +00:00 |
|
Stanislav Shwartsman
|
cbadccb63c
|
Fixed DR6 handling
|
2008-09-23 19:33:37 +00:00 |
|
Stanislav Shwartsman
|
0966fe8621
|
Fix corruption when executing WBINVD in SMP
|
2008-09-23 17:33:18 +00:00 |
|
Alexander Krisak
|
a6cce95418
|
fixed compillation
|
2008-09-23 13:25:32 +00:00 |
|
Stanislav Shwartsman
|
5aaeb331fe
|
Fixed typo
|
2008-09-22 21:41:22 +00:00 |
|
Stanislav Shwartsman
|
3b276bc9fe
|
Implement modern BIOS mode for limiting max reported CPUID function to 3.
This mode is required in order to correctly boot and install WinNT guest
|
2008-09-22 21:38:15 +00:00 |
|
Stanislav Shwartsman
|
b0abb5d6a6
|
task switch fixes
|
2008-09-22 19:53:47 +00:00 |
|
Stanislav Shwartsman
|
bc381e51da
|
very small cleanups
|
2008-09-19 19:18:57 +00:00 |
|
Stanislav Shwartsman
|
39d4db5564
|
- No alignment check required for 16-byte 'unaligned' access
|
2008-09-18 17:37:28 +00:00 |
|
Stanislav Shwartsman
|
db664c4012
|
more optimizations after fetchdecode
|
2008-09-16 20:57:16 +00:00 |
|
Stanislav Shwartsman
|
d7fdaaad5b
|
remove not needed index set
|
2008-09-16 19:22:13 +00:00 |
|
Stanislav Shwartsman
|
a9c77eb75d
|
Try to optimize individual instructions after fetchdecode
|
2008-09-16 19:20:03 +00:00 |
|
Stanislav Shwartsman
|
7566faf948
|
A bit simplify FPU decoding
|
2008-09-16 18:28:53 +00:00 |
|
Stanislav Shwartsman
|
7657ae626e
|
Change error message level
|
2008-09-14 20:58:20 +00:00 |
|
Stanislav Shwartsman
|
d57a211df9
|
Fixed handling of prefixes for EMMS
Small FPU optimization
|
2008-09-12 20:59:31 +00:00 |
|
Stanislav Shwartsman
|
2b2fd6e810
|
Fixed SMM valid bit save/restore for sregs
|
2008-09-11 21:54:57 +00:00 |
|
Stanislav Shwartsman
|
23933d731c
|
Remove 4G limit optimization that didn't work quite well
|
2008-09-08 20:47:33 +00:00 |
|
Stanislav Shwartsman
|
b03f940807
|
optimize seg_override decoding
|
2008-09-08 16:15:59 +00:00 |
|
Stanislav Shwartsman
|
f5ba90da55
|
Misaligned check small optimization
|
2008-09-08 15:45:57 +00:00 |
|
Stanislav Shwartsman
|
a95c24b019
|
Some functions could be called only from 32 bit
|
2008-09-06 21:18:08 +00:00 |
|
Stanislav Shwartsman
|
c1306f7d75
|
small non-significant speedups
|
2008-09-06 21:10:40 +00:00 |
|
Stanislav Shwartsman
|
b3b2f77675
|
Reduce size of Bochs static tables by changing from bx_bool (which is 32bit) to Bit8u
|
2008-09-06 18:21:29 +00:00 |
|
Stanislav Shwartsman
|
0cd11fd385
|
Updated instrumentation callbacks - removed fetchdecode_completed callback
|
2008-09-06 17:49:32 +00:00 |
|
Stanislav Shwartsman
|
7145d240f4
|
Optimize system read using Guest2Host TLB
|
2008-09-06 17:44:02 +00:00 |
|
Stanislav Shwartsman
|
f6531f6df9
|
-Fixed alignment chek to be on laddr instead of eaddr for CMPXCHG16B
|
2008-09-05 21:43:12 +00:00 |
|
Stanislav Shwartsman
|
7a57ccd435
|
- Partially fixed x87 Underflow/Overflow (#P) unmasked responce
|
2008-09-02 19:46:55 +00:00 |
|
Stanislav Shwartsman
|
bdf25fa3ca
|
Inexact Result (#P) unmasked responce
CVS ----------------------------------------------------------------------
|
2008-09-02 05:38:36 +00:00 |
|
Stanislav Shwartsman
|
398f80a214
|
- Fixed CALL FAR between legacy and 64-bit modes
|
2008-08-31 06:04:14 +00:00 |
|
Stanislav Shwartsman
|
bf9eea4fa5
|
- Fixed segment limit violations with 4G segment limit
|
2008-08-30 15:00:38 +00:00 |
|