On 27/02/17 14:03, Andrew Cooper wrote:
> The existing pagetable walker has complicated return semantics, which squeeze
> multiple pieces of information into single integer. This would be fine if the
> information didn't overlap, but it does.
>
> Specifically, _PAGE_INVALID_BITS for 3-level guest
On 06/03/17 18:33, Andrew Cooper wrote:
> On 06/03/17 18:28, George Dunlap wrote:
>> On 27/02/17 14:03, Andrew Cooper wrote:
>>> The existing pagetable walker has complicated return semantics, which
>>> squeeze
>>> multiple pieces of information into single integer. This would be fine if
>>> the
On 06/03/17 18:28, George Dunlap wrote:
> On 27/02/17 14:03, Andrew Cooper wrote:
>> The existing pagetable walker has complicated return semantics, which squeeze
>> multiple pieces of information into single integer. This would be fine if
>> the
>> information didn't overlap, but it does.
>>
>>
On 27/02/17 14:03, Andrew Cooper wrote:
> The existing pagetable walker has complicated return semantics, which squeeze
> multiple pieces of information into single integer. This would be fine if the
> information didn't overlap, but it does.
>
> Specifically, _PAGE_INVALID_BITS for 3-level guest
At 14:03 + on 27 Feb (1488204198), Andrew Cooper wrote:
> The existing pagetable walker has complicated return semantics, which squeeze
> multiple pieces of information into single integer. This would be fine if the
> information didn't overlap, but it does.
>
> Specifically, _PAGE_INVALID_BI
>>> On 02.03.17 at 13:00, wrote:
> On 02/03/17 11:52, Jan Beulich wrote:
> On 27.02.17 at 15:03, wrote:
>>> @@ -91,12 +91,12 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
>>> #if GUEST_PAGING_LEVELS == 3
>>> top_map += (cr3 & ~(PAGE_MASK | 31));
>>> #endif
>>> -missing =
On 02/03/17 11:52, Jan Beulich wrote:
On 27.02.17 at 15:03, wrote:
>> @@ -91,12 +91,12 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
>> #if GUEST_PAGING_LEVELS == 3
>> top_map += (cr3 & ~(PAGE_MASK | 31));
>> #endif
>> -missing = guest_walk_tables(v, p2m, ga, &gw, pfec[0
>>> On 27.02.17 at 15:03, wrote:
> @@ -91,12 +91,12 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
> #if GUEST_PAGING_LEVELS == 3
> top_map += (cr3 & ~(PAGE_MASK | 31));
> #endif
> -missing = guest_walk_tables(v, p2m, ga, &gw, pfec[0], top_mfn, top_map);
> +walk_ok = guest
The existing pagetable walker has complicated return semantics, which squeeze
multiple pieces of information into single integer. This would be fine if the
information didn't overlap, but it does.
Specifically, _PAGE_INVALID_BITS for 3-level guests alias _PAGE_PAGED and
_PAGE_SHARED. A guest whi