At 12:49 -0800 on 15 Jan (1421322565), Ed White wrote:
> On 01/15/2015 09:20 AM, Tim Deegan wrote:
> > Hi,
> >
> > The locking chages look OK at first glance, but...
> >
> > At 13:26 -0800 on 09 Jan (1420806400), Ed White wrote:
> >> @@ -793,6 +793,10 @@ int p2m_change_type_one(struct domain *d,
On 01/15/2015 09:20 AM, Tim Deegan wrote:
> Hi,
>
> The locking chages look OK at first glance, but...
>
> At 13:26 -0800 on 09 Jan (1420806400), Ed White wrote:
>> @@ -793,6 +793,10 @@ int p2m_change_type_one(struct domain *d, unsigned long
>> gfn,
>>
>> gfn_unlock(p2m, gfn, 0);
>>
>>
Hi,
The locking chages look OK at first glance, but...
At 13:26 -0800 on 09 Jan (1420806400), Ed White wrote:
> @@ -793,6 +793,10 @@ int p2m_change_type_one(struct domain *d, unsigned long
> gfn,
>
> gfn_unlock(p2m, gfn, 0);
>
> +if ( pt == ot && altp2mhvm_active(d) )
> +/*
Log-dirty, as used to track vram changes, works exclusively on the host p2m.
As a result, when running on any other p2m vram changes aren't tracked
properly and the domain's console display is corrupted.
To fix this, log-dirty pages are never valid in the alternate p2m's, and
if the type of any pa