Il 29/01/2014 19:09, Laszlo Ersek ha scritto:
Yes, but as far I can see, the commit (which is not in RHEL-6) changes
*how* the operand of ljmp is decoded.

From "opcode_table" in RHEL-6's "arch/x86/kvm/emulate.c":


        /* 0xE8 - 0xEF */
        SrcImm | Stack, SrcImm | ImplicitOps,
        SrcImmU | Src2Imm16 | No64, SrcImmByte | ImplicitOps,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^

and the patch changes that to

        SrcImmFAddr | No64

and adds new logic to fetch this source operand type.

... Which then seems to have an effect on what goes into
load_segment_descriptor() as segment selector, in the emulation of 0xea.

Of course I'm insufficiently equipped to debate this with you in earnest
:), but it seemed relevant to me.

Yeah, it seems relevant to me too.

But before it was decoding two immediates, one after another, the first c->op_bytes long in c->src, and the second 2 bytes long in c->src2. Now it's doing the same, but putting all c->op_bytes+2 bytes in c->src...

Though I guess the backport should be relatively easy if you want to try.

Paolo

Reply via email to