kvm: x86: Fix segment registers to make them VMX compatible
Review Request #2013 - Created Sept. 10, 2013 and submitted
| Information | |
|---|---|
| Andreas Sandberg | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9884:5032bc7bffb9 --------------------------- kvm: x86: Fix segment registers to make them VMX compatible There are cases when the segment registers in gem5 are not compatible with VMX. This changeset works around all known such issues. Specifically: * The accessed bits in CS, SS, DD, ES, FS, GS are forced to 1. * The busy bit in TR is forced to 1. * The protection level of SS is forced to the same protection level as CS. The difference /seems/ to be caused by a bug in gem5's x86 implementation.
Posted (Sept. 18, 2013, 3:30 p.m.)
-
src/cpu/kvm/x86_cpu.cc (Diff revision 1) -
It may be needed for a hack, but I think 'forceSegAccessed' or 'markSegAccessed' would be better names
-
src/cpu/kvm/x86_cpu.cc (Diff revision 1) -
Is this a long-term issue, or is this something that should get fixed (e.g., if our x86 CPU model set these bits properly)? If the former, I'd say there's no need for this message...
-
src/cpu/kvm/x86_cpu.cc (Diff revision 1) -
Do we have an enum or some typedefs somewhere for these type codes? It would be nice to avoid these hardwired constants.
-
src/cpu/kvm/x86_cpu.cc (Diff revision 1) -
Looks like some spurious whitespace got added here
Review request changed
Updated (Sept. 19, 2013, 8:36 a.m.)
Description: |
|
|||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+59) |
Ship It!
Posted (Sept. 27, 2013, 7:59 a.m.)
-
src/cpu/kvm/x86_cpu.cc (Diff revisions 1 - 2) -
Just noticed a typo in "synchronization" here.
