-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2180/
-----------------------------------------------------------

Review request for Default.


Repository: gem5


Description
-------

Changeset 10102:cf2e3a521dfb
---------------------------
kvm: x86: Adjust PC to remove the CS segment base address

gem5 seems to store the PC as RIP+CS_BASE. This is not what KVM
expects, so we need to subtract CS_BASE prior to transferring the PC
into KVM. This changeset adds the necessary PC manipulation and
refactors thread context updates slightly to avoid reading registers
multiple times from KVM.

*** Note to reviewers ***
I'm unsure about the specifics surrounding gem5's handling of segments. Judging 
from how the PC is handled in src/arch/x86/fault.cc, it seems like the base of 
the CS segment is included in the PCState. I'd appreciate a second opinion on 
this. (There are very few cases nowadays, except for during boot, when the base 
is non-zero.)


Diffs
-----

  src/cpu/kvm/x86_cpu.hh 24cfe67c0749 
  src/cpu/kvm/x86_cpu.cc 24cfe67c0749 

Diff: http://reviews.gem5.org/r/2180/diff/


Testing
-------

Tested as a part of a series of patches that enables multicore simulation in 
kvm. This patch is required to get the APs to boot. Linux boots in 
multiprocessor mode when the whole series is applied.


Thanks,

Andreas Sandberg

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to