Stanislav Shwartsman
5955549a8d
Fixed bug report [ #879050 ]
...
Bochs reports enabled APIC without support
2004-12-14 20:41:55 +00:00
Stanislav Shwartsman
da24883199
Extend page directory entries to 8 byte in PAE mode when X86_64 is enabled
...
(prepartions to NX feature implementation)
2004-12-13 22:26:36 +00:00
Volker Ruppert
02ae558db8
- removed old unused code designed for a save/restore feature
...
- fixed pcidev targets in iodev/Makefile.in
- updated all Makefile dependencies using a default setup (.conf.linux).
TODO: dependencies should be generated at compile time since they depend on
the config settings
2004-12-13 19:10:38 +00:00
Stanislav Shwartsman
f375203fdb
preparations for x86-64 support in disasm
2004-12-12 22:12:43 +00:00
Stanislav Shwartsman
46bb3d8853
remove duplicated data arrays from CPU
2004-12-11 20:51:13 +00:00
Stanislav Shwartsman
ce80380b29
fixed ENTER instruction, this implemntation looks correct but it still need to be confirmed by testing ...
2004-11-27 20:36:53 +00:00
Stanislav Shwartsman
5213e903bd
mov duplicate opcode groups from fectchdecode*.cc to .h
...
use common register accessor macroses instead of direct register file structure access
2004-11-26 20:21:28 +00:00
Stanislav Shwartsman
0d09a8c8a8
fix code duplication
2004-11-26 19:53:04 +00:00
Stanislav Shwartsman
69c0b06955
fixes in disassembler
...
split REPEAT instructions according to opsize to speedup execution
now each REPEATABLE instruction splitted to 3 different instructions, one for 16-bit operand size, one for 32-bit and one for 64-bit. Choosing of correct instruction occure in fetchdecode step.
2004-11-20 23:26:32 +00:00
Stanislav Shwartsman
bf0fc24cd5
Fixed icache uncompetability with physical addresses > mem.len
2004-11-19 09:39:30 +00:00
Stanislav Shwartsman
645e04860e
For now : disable fetching from physical address 0xFFFFFFF0 after #RESET
...
because ICACHE do not support physical address > mem.len.
This is the first part of the fix, the rest coming soon
2004-11-18 23:16:36 +00:00
Stanislav Shwartsman
02fc33a86b
Fix CS.base register after #RESET
...
update changes
2004-11-16 19:19:13 +00:00
Stanislav Shwartsman
c482fbed43
Add additional debug info
2004-11-15 19:38:42 +00:00
Stanislav Shwartsman
a75280d757
Fix CS.BASE wrong value on reset
2004-11-14 21:47:58 +00:00
Stanislav Shwartsman
730b8c0243
Fix this pointers in the code
2004-11-14 21:25:42 +00:00
Stanislav Shwartsman
71c1275b21
dos2unix
2004-11-14 19:39:01 +00:00
Stanislav Shwartsman
7b62a6e206
Fix reset registers in CPU for #RESET signal
...
Extract ICACHE from cpu.h to separate icache.h
2004-11-14 19:29:34 +00:00
Stanislav Shwartsman
08810d54c4
Fix fetchdecode for FPU instructions when FPU is not present
2004-11-12 16:47:35 +00:00
Volker Ruppert
3cad938b05
- gdbstub support turned into a runtime option (SF patch #1021740 by Charles Duffy)
...
- gdb_* options moved to the new gdbstub option
2004-11-06 10:50:03 +00:00
Stanislav Shwartsman
41daacdf80
fixed BX_CPU_THIS pointers
2004-11-05 10:13:15 +00:00
Stanislav Shwartsman
1a6656ce91
Fixed compilation warnings (g++, -Wall)
...
Improve speed and precision of FPATAN FPU instruction
2004-11-04 22:41:24 +00:00
Stanislav Shwartsman
2ce5495d38
Fixed compilation errors
2004-11-03 06:35:48 +00:00
Stanislav Shwartsman
8191201e17
If exception occured register should not be modified.
...
Fix for x86-64
2004-11-02 20:39:45 +00:00
Stanislav Shwartsman
4e3bc367b6
Fixed all JUMP near, CALL near and RET near cases
...
for problem EIP>CS.limit was not checked in real mode
2004-11-02 18:05:19 +00:00
Stanislav Shwartsman
2ed7e4eed5
EIP > CS.limit should be checked in real mode too.
...
Enable for now for JUMP instructions, still todo - CALL and RET
2004-11-02 17:31:14 +00:00
Stanislav Shwartsman
f06c8b6b95
EIP > CS.limit should not be a problem
...
Manual says that GP(0) shouldd be generated in this case ALWAYS
Fixed instructions PANIC messages to ERROR for this case
And ... do not leave PANIC messages w/o taking care that user could push CONTINUE button and program should know to continue after the PANIC code line. Mainly in rerurn instructions were several problems ...
2004-11-02 16:10:02 +00:00
Stanislav Shwartsman
79bd13c46c
iret32_real implemented right for 386+, not only for Pentium CPU.
...
Removed ifdef's
2004-10-30 16:04:58 +00:00
Stanislav Shwartsman
a9022ac5cb
Fixed compilation prroblem reported in bug
...
[ bochs-Bugs-913418 ] compiler errors with --enable-external-debugger option
Remove code duplication
2004-10-29 21:15:48 +00:00
Stanislav Shwartsman
5e23909c7c
prepations for NX bit implementation
2004-10-21 18:20:40 +00:00
Stanislav Shwartsman
95c894d403
Removed unused code
2004-10-19 20:05:07 +00:00
Stanislav Shwartsman
75e0c5b421
Little speed optimizations in cpu_loop function
...
change apic classes to more c++ friendly
2004-10-16 19:34:17 +00:00
Stanislav Shwartsman
4a9bd714d8
Fix init values for system registers
2004-10-16 10:18:01 +00:00
Stanislav Shwartsman
80ee150d83
Imlemented CR8 register for X86-64 mode
2004-10-13 20:58:16 +00:00
Stanislav Shwartsman
4f1f070c37
Fix comments for code
2004-10-08 19:29:04 +00:00
Stanislav Shwartsman
3adc5c8659
Fix lock prefix for XOR instruction in 64-bit mode
2004-10-08 19:07:18 +00:00
Stanislav Shwartsman
d1af05cbe2
Fix typo in stack64
2004-10-06 20:10:01 +00:00
Stanislav Shwartsman
6a9e8e6011
Drop unnecessary warning
2004-10-05 20:25:06 +00:00
Stanislav Shwartsman
4988a098f5
Small optimizations
2004-10-03 21:52:10 +00:00
Stanislav Shwartsman
a28a2c6ce1
Added comments
2004-10-03 20:25:19 +00:00
Stanislav Shwartsman
a21018e1db
Fixed bug
...
[ 766020 ] info registers / dump_cpu get old eflags
2004-09-30 16:50:03 +00:00
Stanislav Shwartsman
c9bc4eaf02
1. add comments to CPUID instruction
...
2. small cleanup
2004-09-26 20:29:04 +00:00
Stanislav Shwartsman
3f096fdb9f
Fix FISTTP instruction opcode table
2004-09-21 21:19:59 +00:00
Stanislav Shwartsman
040be015d8
1. Added required GP(0) exception when setting conficting flags in CR0
...
2. APIC disabled compilation error fixed
2004-09-21 20:19:19 +00:00
Stanislav Shwartsman
b6657b1322
NX feature still not implemented in Bochs.
...
The change forces CPUID do not report bit 20 (NX bit support)
May be some OS that really checks it will boot better now
2004-09-17 21:01:50 +00:00
Stanislav Shwartsman
760a195c9d
* Fix LOCK prefix handling for x86-64
...
* Split BT*_EvGv functions to 3 different function according to exec mode
2004-09-17 20:47:19 +00:00
Stanislav Shwartsman
c780a15e6f
dos2unix for apic.h
2004-09-15 22:02:19 +00:00
Stanislav Shwartsman
bbd55fe16f
Merge and commit patch.apic-zwane from CVS patches directory.
...
the patch release notes by Zwane:
o Define symbols for constants like
o APIC arbitration
o Processor priority
o Various interrupt delivery fixes
o Focus processor checking
o ExtINT delivery
I need to release this now so that i don't fall too far behind CVS, when
it was part of the bochs-smp patch it could boot 2.4.18 4way. Apologies
for the whitespace changes.
Also remove patch.apic-ppr-zwane patch because it already included in
patch.apic-zwane.
I hope it will help to boot x86-64 or cmp systems required missed APIC
features !
2004-09-15 21:48:57 +00:00
Stanislav Shwartsman
283f9ae5d2
Simplify cpu.h
...
Speedup FYL2X and FYL2XP1 instructions
2004-09-14 20:19:54 +00:00
Stanislav Shwartsman
6cdb42d909
Little bit optimize memory access functions. Now values are calculated only if they actually needed.
2004-09-13 20:48:11 +00:00
Stanislav Shwartsman
fc631037ff
remove obsolete comments from fetchdecode
2004-09-06 20:22:39 +00:00