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

RE: [Xen-devel] [PATCH] [VT] add BT instruction support to VMXMMIO decoder

  • To: "Jan Beulich" <JBeulich@xxxxxxxxxx>
  • From: "Li, Xin B" <xin.b.li@xxxxxxxxx>
  • Date: Tue, 25 Oct 2005 16:17:57 +0800
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 25 Oct 2005 08:17:47 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcXYe8zWe4PmifGnTZK+bO4eRr+abgAu+d/A
  • Thread-topic: [Xen-devel] [PATCH] [VT] add BT instruction support to VMXMMIO decoder

>This seems a little questionable:
>- in handle_mmio()'s INSTR_BT case value should be signed, not unsigned
>(see definition of BitOffset in IA32 SDM Vol 2a Section 3.1)


>- in the same place, you implicitly assume that va and gpa are
>congruent over a range 2**29/2**61 bytes, which is likely wrong,
>especially for mmio regions (while one could argue that there shouldn't
>be accesses with a base address pointing into one mmio region, but the
>effective address with the shifted bit offset included pointing into a
>different on, I believe the hypervisor should actually verify this and
>either handle it properly or fail the request)
>- the alignment (and thus implicit range) limitations of real hardware
>aren't followed (for e.g. a 32-bit operation, hardware confines the
>access to the aligned 32-bit quantity addressed by 
>to match that you should either pass 1 instead of mmio_inst.op_size to
>send_mmio_req, or you should calculate the offset from gpa depending on
>the operand size (which is probably the better solution, although I
>don't know which of the two possible mechanisms real hardware uses)

Yes, this is not perfect.
Can you help?

>>>> "Li, Xin B" <xin.b.li@xxxxxxxxx> 15.10.05 08:14:03 >>>
>add BT instruction support to VMX MMIO decoder.
>Also extends TEST and OR instructions support for 16/32 bit
>these are needed for windows.
>Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
>Signed-off-by: Chengyuan Li <chengyuan.li@xxxxxxxxx>
>Signed-off-by: Nakajima Jun <nakajima.jun@xxxxxxxxx>

Xen-devel mailing list



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