On 11/15/2009 05:37 PM, matteo wrote:
Hi to all, I'm trying to intercept the guest "sidt" instruction execution from the host i've added the bit to the control structure: control->intercept = | (1ULL << INTERCEPT_STORE_IDTR); then I have defined the sidt handler to manage the STORE_IDTR action: [SVM_EXIT_IDTR_READ] = idtr_write_interception, So, in the idtr_write_interception handler there is the invocation of the "emulate_instruction(&svm-> vcpu, kvm_run, 0, 0, 0);" function. Following the execution flow i found that the emulation failed in the x86_emulate.c source file and precisely in the "if (c->d == 0) " conditional statement but i really don't know why it happens and how to fix it. could you please give me some hints with respect to this issue?
You need to fill the appropriate table entry for sidt (most likely group_table) and implement the opcode in the emulator.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html