KVM: x86 emulator: preserve an operand's segment identity
authorAvi Kivity <avi@redhat.com>
Wed, 17 Nov 2010 13:28:21 +0000 (15:28 +0200)
committerAvi Kivity <avi@redhat.com>
Wed, 12 Jan 2011 09:29:35 +0000 (11:29 +0200)
Currently the x86 emulator converts the segment register associated with
an operand into a segment base which is added into the operand address.
This loss of information results in us not doing segment limit checks properly.

Replace struct operand's addr.mem field by a segmented_address structure
which holds both the effetive address and segment.  This will allow us to
do the limit check at the point of access.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

No differences found