[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [VMXASSIST] Support all data segments in mov_to_seg().
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxxx # Node ID 5bdd8b5e3a1fac2880e436a5c4b86a2ff9bb25b8 # Parent e821c15b7cfeacbc6eac6e506f8fc1748b98a418 [VMXASSIST] Support all data segments in mov_to_seg(). This patch lets Plan9 crash at the same location before the original patch by Stephen Tweedie. Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx> --- tools/firmware/vmxassist/vm86.c | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-) diff -r e821c15b7cfe -r 5bdd8b5e3a1f tools/firmware/vmxassist/vm86.c --- a/tools/firmware/vmxassist/vm86.c Fri Nov 10 18:27:35 2006 +0000 +++ b/tools/firmware/vmxassist/vm86.c Sat Nov 11 01:16:40 2006 +0000 @@ -829,15 +829,33 @@ mov_to_seg(struct regs *regs, unsigned p goto fail; switch ((modrm & 0x38) >> 3) { + case 0: /* es */ + regs->ves = getreg16(regs, modrm); + saved_rm_regs.ves = 0; + oldctx.es_sel = regs->ves; + return 1; + + /* case 1: cs */ + + case 2: /* ss */ + regs->uss = getreg16(regs, modrm); + saved_rm_regs.uss = 0; + oldctx.ss_sel = regs->uss; + return 1; case 3: /* ds */ regs->vds = getreg16(regs, modrm); saved_rm_regs.vds = 0; oldctx.ds_sel = regs->vds; return 1; - case 0: /* es */ - regs->ves = getreg16(regs, modrm); - saved_rm_regs.ves = 0; - oldctx.es_sel = regs->ves; + case 4: /* fs */ + regs->vfs = getreg16(regs, modrm); + saved_rm_regs.vfs = 0; + oldctx.fs_sel = regs->vfs; + return 1; + case 5: /* gs */ + regs->vgs = getreg16(regs, modrm); + saved_rm_regs.vgs = 0; + oldctx.gs_sel = regs->vgs; return 1; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |