|
@@ -1639,42 +1639,3 @@ cannot_emulate:
|
|
|
DPRINTF("Cannot emulate %02x\n", b);
|
|
|
return -1;
|
|
|
}
|
|
|
-
|
|
|
-#ifdef __XEN__
|
|
|
-
|
|
|
-#include <asm/mm.h>
|
|
|
-#include <asm/uaccess.h>
|
|
|
-
|
|
|
-int
|
|
|
-x86_emulate_read_std(unsigned long addr,
|
|
|
- unsigned long *val,
|
|
|
- unsigned int bytes, struct x86_emulate_ctxt *ctxt)
|
|
|
-{
|
|
|
- unsigned int rc;
|
|
|
-
|
|
|
- *val = 0;
|
|
|
-
|
|
|
- if ((rc = copy_from_user((void *)val, (void *)addr, bytes)) != 0) {
|
|
|
- propagate_page_fault(addr + bytes - rc, 0); /* read fault */
|
|
|
- return X86EMUL_PROPAGATE_FAULT;
|
|
|
- }
|
|
|
-
|
|
|
- return X86EMUL_CONTINUE;
|
|
|
-}
|
|
|
-
|
|
|
-int
|
|
|
-x86_emulate_write_std(unsigned long addr,
|
|
|
- unsigned long val,
|
|
|
- unsigned int bytes, struct x86_emulate_ctxt *ctxt)
|
|
|
-{
|
|
|
- unsigned int rc;
|
|
|
-
|
|
|
- if ((rc = copy_to_user((void *)addr, (void *)&val, bytes)) != 0) {
|
|
|
- propagate_page_fault(addr + bytes - rc, PGERR_write_access);
|
|
|
- return X86EMUL_PROPAGATE_FAULT;
|
|
|
- }
|
|
|
-
|
|
|
- return X86EMUL_CONTINUE;
|
|
|
-}
|
|
|
-
|
|
|
-#endif
|