3 extern "C" void vcpu_resume(Trap_state *, Return_frame *sp)
4 FIASCO_FASTCALL FIASCO_NORETURN;
7 // --------------------------------------------------------------------------
13 PUBLIC inline NEEDS["logdefs.h", "vcpu.h"]
15 Thread::vcpu_pagefault(Address pfa, Mword err, Mword ip)
18 Vcpu_state *vcpu = access_vcpu();
19 if (vcpu_pagefaults_enabled(vcpu))
22 vcpu_enter_kernel_mode(vcpu);
23 LOG_TRACE("VCPU events", "vcpu", this, __context_vcpu_log_fmt,
24 Vcpu_log *l = tbe->payload<Vcpu_log>();
26 l->state = vcpu->_saved_state;
29 l->space = vcpu_user_space() ? static_cast<Task*>(vcpu_user_space())->dbg_id() : ~0;
31 vcpu->_ts.set_pagefault(pfa, err);
32 vcpu_save_state_and_upcall();