----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2009/#review4709 -----------------------------------------------------------
Looks good to me... src/cpu/kvm/x86_cpu.cc <http://reviews.gem5.org/r/2009/#comment4450> Should this be KVM_GET_DEBUGREGS? - Steve Reinhardt On Sept. 10, 2013, 6:33 a.m., Andreas Sandberg wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2009/ > ----------------------------------------------------------- > > (Updated Sept. 10, 2013, 6:33 a.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 9869:6a76572b59a9 > --------------------------- > kvm: Initial x86 support > > This changeset adds support for KVM on x86. Full support is split > across a number of commits since some features are relatively > complex. This changeset includes support for: > > * Integer state synchronization (including segment regs) > * CPUID (gem5's CPUID values are inserted into KVM) > * x86 legacy IO (remapped and handled by gem5's memory system) > * Memory mapped IO > * PCI > * MSRs > * State dumping > > Most of the functionality is fairly straight forward. There are some > quirks to support PCI enumerations since this is done in the TLB(!) in > the simulated CPUs. We currently replicate some of that code. > > Unlike the ARM implementation, the x86 implementation uses the virtual > CPU does not use the cycles hardware counter. KVM on x86 simulates the > time stamp counter (TSC) in the kernel. If we just measure host cycles > using perfevent, we might end up measuring a slightly different number > of cycles. If we don't get the cycle accounting right, we might end up > rewinding the TSC, with all kinds of chaos as a result. > > An additional feature of the KVM CPU on x86 is extended state > dumping. This enables Python scripts controlling the simulator to > request dumping of a subset of the processor state. The following > methods are currenlty supported: > > * dumpFpuRegs > * dumpIntRegs > * dumpSpecRegs > * dumpDebugRegs > * dumpXCRs > * dumpXSave > * dumpVCpuEvents > * dumpMSRs > > Known limitations: > * M5 ops are currently not supported. > * FPU synchronization is not supported (only affects CPU switching). > > Both of the limitations will be addressed in separate commits. > > *** > This patch is a part of series of changes to add support for KVM on x86. See > https://github.com/andysan/gem5/tree/kvm-x86 for the full series. > > > Diffs > ----- > > SConstruct cc5797147e1c > src/cpu/kvm/SConscript cc5797147e1c > src/cpu/kvm/X86KvmCPU.py PRE-CREATION > src/cpu/kvm/vm.hh cc5797147e1c > src/cpu/kvm/vm.cc cc5797147e1c > src/cpu/kvm/x86_cpu.hh PRE-CREATION > src/cpu/kvm/x86_cpu.cc PRE-CREATION > > Diff: http://reviews.gem5.org/r/2009/diff/ > > > Testing > ------- > > > Thanks, > > Andreas Sandberg > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
