x86/hvm: Consolidate nested page fault exception codes into a bitmap

This patch consolidates the boolean input parameters of hvm_hap_nested_page_fault into a bitmap and defines the bitmap member accordingly.

This patch is based on Jan Beulich's patch provided in http://lists.xen.org/archives/html/xen-devel/2014-08/txt3XhCqE4OXh.txt.

For the SVM side this patch modifies the behavior to no longer mark instruction fetch faults as read accesses.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
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.

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.
v2: Update to new fields and change printing 1/0 to y/n.

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