[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] RE: [Xen-changelog] Fix MOVS instruction emulation for HVM MMIO.
> -----Original Message----- > From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of > Gerd Hoffmann > Sent: 17 May 2006 07:43 > To: Petersson, Mats > Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; xen-changelog@xxxxxxxxxxxxxxxxxxx > Subject: Re: [Xen-devel] RE: [Xen-changelog] Fix MOVS > instruction emulation for HVM MMIO. > > Petersson, Mats wrote: > >> Subject: [Xen-changelog] Fix MOVS instruction emulation > for HVM MMIO. > >> > >> diff -r aab3cd33d2ba -r 7fdc4a8b782b xen/arch/x86/hvm/platform.c > >> --- a/xen/arch/x86/hvm/platform.c Tue May 16 16:34:27 2006 +0100 > >> +++ b/xen/arch/x86/hvm/platform.c Tue May 16 19:50:23 2006 +0100 > >> @@ -865,7 +865,7 @@ void handle_mmio(unsigned long va, unsig > >> * copy ourself. After this copy succeeds, "rep movs" is > >> executed > >> * again. > >> */ > >> - if ((addr & PAGE_MASK) != ((addr + size - 1) & > PAGE_MASK)) { > >> + if ((addr & PAGE_MASK) != ((addr + sign * (size - 1)) & > >> + PAGE_MASK)) { > > > > With the risk of being wrong (again), I'd say this is > incorrect: The > > MOVS instruction will start reading at ESI, and write at > the address > > indicated by EDI and write with size bytes, even when it's copying > > backwards. So there should be no multiplication of sign on > this line. > > I still think this is correct. If I understand things > correctly the point of the test is to figure whenever the > _next_ repz movs interation will access another page (and if > so copy just one data word and let the emulator kick in again > for the remaining data on the page above/below). No, the test is for if the first (current) operation is crossing a page boundary, not if the NEXT one is... That's why the code in this condition is using hvm_copy to fetch the data that is being accessed... But leave it as is right now, I'm still working on getting a piece of test-code to do MOVS in various ways... -- Mats > > cheers, > > Gerd > > -- > Gerd Hoffmann <kraxel@xxxxxxx> > Erst mal heiraten, ein, zwei Kinder, und wenn alles läuft > geh' ich nach drei Jahren mit der Familie an die Börse. > http://www.suse.de/~kraxel/julika-dora.jpeg > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |