Bochs/bochs/cpu/todo
Stanislav Shwartsman 1b72e66bb3 support for apic global disable
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00

58 lines
1.5 KiB
Plaintext
Executable File

TODO (know issues in CPU model):
-------------------------------
[!] The following 3DNow! instructions still not implemented:
PF2IW_PqQq
PFNACC_PqQq
PFPNACC_PqQq
PFCMPGE_PqQq
PFCMPGT_PqQq
PFCMPEQ_PqQq
PFMIN_PqQq
PFMAX_PqQq
PFRCP_PqQq
PFRSQRT_PqQq
PFSUB_PqQq
PFSUBR_PqQq
PFADD_PqQq
PFACC_PqQq,
PFMUL_PqQq
PFRCPIT1_PqQq
PFRSQIT1_PqQq
PFRCPIT2_PqQq
[!] CPUID does not report 3DNow! instruction set
[!] Some of APIC functionality still not implemented, for example
- LVT pins handling
- Filter interrupts according processor priority (PPR)
[!] REP NOP is PAUSE (on P4/XEON)
When running in SMP mode, this means that we are in a spin loop.
This processor should yield to the other one, as we are anyhow waiting
for a lock, and any other processor is responsible for this.
[!] Canonical fault in 64-bit mode not handled correctly in many many cases,
the exception is just missed.
[!] 32-bit linear address wrap when executing in legacy mode might be
not implemented correctly for system memory accesses (like descriptor
tables and etc)
[!] AMD and Intel x86_64 implementations are different.
Currently Bochs emulation is according to AMD version.
Do we need to support both ?
[!] More flexible CPUID - vendor and etc
[!] VMX:
- Dual-monitor treatment of SMIs and SMM not implemented yet
- NMI virtualization, APIC virtualization not implemented yet
- VMENTER to not-active state not supported yet
- No advanced features like Extended Page Tables (EPT) or VPID
[!] SSE4A, SSE5A, SMX, SVM, AVX