[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/4] Enable VirtualPC 2007 run on top of XEN :ltr emulation



>@@ -2878,6 +2878,29 @@ x86_emulate(
>  twobyte_special_insn:
>     switch ( b )
>     {
>+    case 0x00: /* Grp6 */
>+        switch ( modrm_reg )
>+        {
>+        case 0x3: /* ltr */
>+            {
>+                unsigned long sel = 0;
>+
>+                if ( ea.type == OP_REG )
>+                    sel = *ea.reg & 0xffff;
>+                else
>+                    if ( (rc = ops->read(ea.mem.seg, ea.mem.off,
>+                                  &sel, sizeof(uint16_t), ctxt)) )
>+                        goto done;
>+
>+                if ( (rc = ops->ltr(sel, ctxt)) )

You should check ops->ltr against NULL before this call (perhaps the
whole block should be inside a respective if() clause).

>+                    goto done;
>+            }
>+            break;
>+        default:
>+            goto cannot_emulate;
>+        }
>+        break;
>+
>     case 0x01: /* Grp7 */ {
>         struct segment_register reg;
>         unsigned long base, limit, cr0, cr0w;



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.