Commit a3863f68 authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Rusty Russell

lguest: make emulate_insn receive a vcpu struct.

emulate_insn() needs to know about current eip, which will be,
in the future, a per-vcpu thing. So in this patch, the function
prototype is modified to receive a vcpu struct
Signed-off-by: default avatarGlauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 0c78441c
...@@ -218,8 +218,9 @@ void lguest_arch_run_guest(struct lg_cpu *cpu) ...@@ -218,8 +218,9 @@ void lguest_arch_run_guest(struct lg_cpu *cpu)
* When the Guest uses one of these instructions, we get a trap (General * When the Guest uses one of these instructions, we get a trap (General
* Protection Fault) and come here. We see if it's one of those troublesome * Protection Fault) and come here. We see if it's one of those troublesome
* instructions and skip over it. We return true if we did. */ * instructions and skip over it. We return true if we did. */
static int emulate_insn(struct lguest *lg) static int emulate_insn(struct lg_cpu *cpu)
{ {
struct lguest *lg = cpu->lg;
u8 insn; u8 insn;
unsigned int insnlen = 0, in = 0, shift = 0; unsigned int insnlen = 0, in = 0, shift = 0;
/* The eip contains the *virtual* address of the Guest's instruction: /* The eip contains the *virtual* address of the Guest's instruction:
...@@ -292,7 +293,7 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu) ...@@ -292,7 +293,7 @@ void lguest_arch_handle_trap(struct lg_cpu *cpu)
* instructions which we need to emulate. If so, we just go * instructions which we need to emulate. If so, we just go
* back into the Guest after we've done it. */ * back into the Guest after we've done it. */
if (lg->regs->errcode == 0) { if (lg->regs->errcode == 0) {
if (emulate_insn(lg)) if (emulate_insn(cpu))
return; return;
} }
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment