exec: fix write tlb entry misused as iotlb
authorAvi Kivity <avi@redhat.com>
Wed, 14 Mar 2012 14:19:39 +0000 (16:19 +0200)
committerAvi Kivity <avi@redhat.com>
Mon, 19 Mar 2012 09:15:00 +0000 (11:15 +0200)
commit7859cc6e39bf86f890bb1c72fd9ba41deb6ce2e7
treedb5c49101a48ce36cca5568f6562767167766ef6
parent0184e266cb7584feefaf4b54abbaa9fa81b62fac
exec: fix write tlb entry misused as iotlb

A couple of code paths check the lower bits of CPUTLBEntry::addr_write
against io_mem_ram as a way of looking for a dirty RAM page.  This works
by accident since the value is zero, which matches all clear bits for
TLB_INVALID, TLB_MMIO, and TLB_NOTDIRTY (indicating dirty RAM).

Make it work by design by checking for the proper bits.

Signed-off-by: Avi Kivity <avi@redhat.com>
exec.c