On 26/03/15 21:00, Paolo Bonzini wrote: > On 26/03/2015 21:55, Peter Maydell wrote: >> I feel like we're recapitulating history here -- is >> c3c1bb99d undoing the fix that a87f39543a made for when we >> tried this a year ago in 360e607, or is there something >> more subtle going on ? > > It's more subtle. The patch should only make a difference when > address_space_translate_internal modifies *plen. > > The crux of the change is the first operand of this MIN: > > - len = MIN(len, (addr | iotlb.addr_mask) - addr + 1); > + *plen = MIN(*plen, (addr | iotlb.addr_mask) - addr + 1); > > changing from len to *plen.
Ah so it's related to the VGA VBE register accesses again? Given that this seems to be a bit of a corner case, is there any way of writing a regression test to catch this? ATB, Mark.