[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] hvmemul_virtual_to_linear() doesn't care about direction-flag?
This conditional assignment looks reversed. done = reverse ? bytes_per_rep + (addr & ~PAGE_MASK) : -addr & ~PAGE_MASK; Changing it fixes the legacy OS breakage i reported in a previous private mail to Keir. Patch attached. On Tue, Aug 19, 2008 at 7:41 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote: > On 19/8/08 19:33, "Byrne, John (HP Labs)" <john.l.byrne@xxxxxx> wrote: > >> Wrong assert. I confused you, my fault. The ASSERT(!reverse) I figured out. >> >> The ASSERT I was concerned about is this: >> >> if ( (hvmemul_ctxt->ctxt.regs->eflags & X86_EFLAGS_DF) && (*reps > 1) ) >> { >> ASSERT(offset >= ((*reps - 1) * bytes_per_rep)); >> >> However, I just read truncate_ea_and_reps() in the emulator which should >> guarantee this. > > Yes, I considered giving that one a comment too. Now I will do so. > > -- Keir > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > Attachment:
reverse_conditional_assignment.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |