search for: lguest_find_guest_paddr

Displaying 2 results from an estimated 2 matches for "lguest_find_guest_paddr".

2007 Apr 18
1
[PATCH] Lguest32, use guest page tables to find paddr for emulated instructions
...6.21-rc5-mm2.orig/drivers/lguest/core.c +++ linux-2.6.21-rc5-mm2/drivers/lguest/core.c @@ -160,11 +160,14 @@ static int emulate_insn(struct lguest *l { u8 insn; unsigned int insnlen = 0, in = 0, shift = 0; - unsigned long physaddr = guest_pa(lg, lg->regs->eip); + unsigned long physaddr = lguest_find_guest_paddr(lg, lg->regs->eip); - /* This only works for addresses in linear mapping... */ - if (lg->regs->eip < lg->page_offset) + /* FIXME: Handle physaddr's that crosses pages (modules are in VM) */ + + /* did we actually find the physaddr? */ + if (physaddr == (unsigned long)-1UL)...
2007 Apr 18
1
[PATCH] Lguest32, use guest page tables to find paddr for emulated instructions
...6.21-rc5-mm2.orig/drivers/lguest/core.c +++ linux-2.6.21-rc5-mm2/drivers/lguest/core.c @@ -160,11 +160,14 @@ static int emulate_insn(struct lguest *l { u8 insn; unsigned int insnlen = 0, in = 0, shift = 0; - unsigned long physaddr = guest_pa(lg, lg->regs->eip); + unsigned long physaddr = lguest_find_guest_paddr(lg, lg->regs->eip); - /* This only works for addresses in linear mapping... */ - if (lg->regs->eip < lg->page_offset) + /* FIXME: Handle physaddr's that crosses pages (modules are in VM) */ + + /* did we actually find the physaddr? */ + if (physaddr == (unsigned long)-1UL)...