KvmVM::KvmVM(KvmVMParams *params)
: SimObject(params),
- kvm(new Kvm()), system(params->system),
+ kvm(new Kvm()), system(nullptr),
vmFD(kvm->createVM()),
started(false),
nextVCPUID(0)
void
KvmVM::delayedStartup()
{
+ assert(system); // set by the system during its construction
const std::vector<BackingStoreEntry> &memories(
system->getPhysMem().getBackingStore());
#endif
}
+void
+KvmVM::setSystem(System *s) {
+ panic_if(system != nullptr, "setSystem() can only be called once");
+ panic_if(s == nullptr, "setSystem() called with null System*");
+ system = s;
+}
+
int
KvmVM::createVCPU(long vcpuID)
{