|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] hvmemul_virtual_to_linear() doesn't care about direction
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
>
reverse_conditional_assignment.patch
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|