x86: kvm: Fix the KVM CPU in SE and FS on Intel CPUs.
Review Request #2557 - Created Dec. 9, 2014 and updated
| Information | |
|---|---|
| Gabe Black | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10606:aa3eb7453246 --------------------------- x86: kvm: Fix the KVM CPU in SE and FS on Intel CPUs. There were a number of problems with how things were initialized which prevent VMX from running the simulation as a guest.
Issue Summary
| Description | From | Last Updated | Status |
|---|---|---|---|
| Is there a reason the desc.l does not get set for the dataSegDesc()? code sets p,l,d,g,s. | mike upton | Jan. 16, 2015, 3:28 p.m. | Open |
| when limitHigh and limitLow get set by dataSegDesc(), it seems that limitHigh and limitLow get reversed. | mike upton | Jan. 16, 2015, 3:56 p.m. | Open |
| For AMD systems, the sys descriptors need to come first. On intel systems they need to come second. I do ... | mike upton | Jan. 21, 2015, 1:22 p.m. | Open |
| The AMD version only works with the original definition for star... I could not get the new code to work. | mike upton | Jan. 21, 2015, 1:22 p.m. | Open |
Posted for reference, don't review yet.
Summary: |
|
||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||||||||||||||
Diff: |
Revision 2 (+294 -317) |
Ok, now it's for real. Review away.
There is some issue with AMD platforms. A test that used to run in 30 sec is not finishing.
-
src/arch/x86/regs/misc.hh (Diff revision 2) -
really <32, 0> in the new code?
-
src/arch/x86/utility.hh (Diff revision 2) -
Is there a reason the desc.l does not get set for the dataSegDesc()? code sets p,l,d,g,s.
-
src/arch/x86/process.cc (Diff revision 2) -
when limitHigh and limitLow get set by dataSegDesc(), it seems that limitHigh and limitLow get reversed.
-
src/arch/x86/process.cc (Diff revision 2) -
For AMD systems, the sys descriptors need to come first. On intel systems they need to come second. I do not know how to resolve...
-
src/arch/x86/process.cc (Diff revision 2) -
The AMD version only works with the original definition for star... I could not get the new code to work.
Hi folks. I put together this patch a long time ago, there was some discussion about it, and then I lost track of what was going on with it. Have the issues it causes with AMD cpus been tracked down? Glancing through this again, I think there are a couple things which are genuinely wrong which should fix things regardless of the underlying CPU (like reversed bits, things that shouldn't be set but are), but I wouldn't want to push it if it would break some other things which are currently working. Please update me on the current state of things.
