|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [VMXASSIST] Support all data segments in
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [VMXASSIST] Support all data segments in mov_to_seg().,
Xen patchbot-unstable <=
|
|
|
|
|