x86/mem_event: Deliver gla fault EPT violation information

On Intel EPT the exit qualification generated by a violation also includes a bit (EPT_GLA_FAULT) which describes the following information:
Set if the access causing the EPT violation is to a guest-physical address that is the translation of a linear address. Clear if the access causing the EPT violation is to a paging-structure entry as part of a page walk or the update of an accessed or dirty bit.

For more information see Table 27-7 in the Intel SDM.

This patch extends the mem_event system to deliver this extra information, which could be useful for determining the cause of a violation.

v5: Add missing bits to the SVM side, style fixes and adding a shared enum into p2m to describe the possible values of extra_fault_info.
v4: Use new bitmaps to pass information.
v3: Style fixes.
v2: Split gla_fault into fault_in_gpt and fault_gla to be more compatible with the AMD implementation.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
tools/xen-access: Print gla valid/fault information

Extend the print-out of the memory violations to show gla valid/fault information.

v4: Change vcpu-id printf to unsigned and update to new fields.
v2: Update to new fields and change printing 1/0 to y/n.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>