mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
vm_event: rename MEM_ACCESS_EMULATE and MEM_ACCESS_EMULATE_NOWRITE
By naming, placing and bit shift convention, it could be taken as implied that MEM_ACCESS_EMULATE and MEM_ACCESS_EMULATE_NOWRITE are mem_access event specific flags (instead of being generally applicable as vm_event flags). This patch renames them to VM_EVENT_FLAG_EMULATE and VM_EVENT_FLAG_EMULATE_NOWRITE respectively, and uses bit shifts following the rest of the VM_EVENT_FLAG_ constants. Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com> Acked-by: Tamas K Lengyel <tlengyel@novetta.com>
This commit is contained in:
1 parent
0e8c53915e
commit
fc7bd03214
2 files changed
+15
-15
No files matched your search
@@ -1418,7 +1418,7 @@ void p2m_mem_access_emulate_check(struct vcpu *v,
|
||||
const vm_event_response_t *rsp)
|
||||
{
|
||||
/* Mark vcpu for skipping one instruction upon rescheduling. */
|
||||
if ( rsp->flags & MEM_ACCESS_EMULATE )
|
||||
if ( rsp->flags & VM_EVENT_FLAG_EMULATE )
|
||||
{
|
||||
xenmem_access_t access;
|
||||
bool_t violation = 1;
|
||||
@@ -1553,7 +1553,7 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
|
||||
if ( v->arch.vm_event.emulate_flags )
|
||||
{
|
||||
hvm_mem_access_emulate_one((v->arch.vm_event.emulate_flags &
|
||||
MEM_ACCESS_EMULATE_NOWRITE) != 0,
|
||||
VM_EVENT_FLAG_EMULATE_NOWRITE) != 0,
|
||||
TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
|
||||
|
||||
v->arch.vm_event.emulate_flags = 0;
|
||||
|
||||
@@ -47,6 +47,19 @@
|
||||
#define VM_EVENT_FLAG_VCPU_PAUSED (1 << 0)
|
||||
/* Flags to aid debugging mem_event */
|
||||
#define VM_EVENT_FLAG_FOREIGN (1 << 1)
|
||||
/*
|
||||
* The following flags can be set in response to a mem_access event.
|
||||
*
|
||||
* Emulate the fault-causing instruction (if set in the event response flags).
|
||||
* This will allow the guest to continue execution without lifting the page
|
||||
* access restrictions.
|
||||
*/
|
||||
#define VM_EVENT_FLAG_EMULATE (1 << 2)
|
||||
/*
|
||||
* Same as MEM_ACCESS_EMULATE, but with write operations or operations
|
||||
* potentially having side effects (like memory mapped or port I/O) disabled.
|
||||
*/
|
||||
#define VM_EVENT_FLAG_EMULATE_NOWRITE (1 << 3)
|
||||
|
||||
/*
|
||||
* Reasons for the vm event request
|
||||
@@ -136,19 +149,6 @@ struct vm_event_regs_x86 {
|
||||
#define MEM_ACCESS_GLA_VALID (1 << 3)
|
||||
#define MEM_ACCESS_FAULT_WITH_GLA (1 << 4)
|
||||
#define MEM_ACCESS_FAULT_IN_GPT (1 << 5)
|
||||
/*
|
||||
* The following flags can be set in the response.
|
||||
*
|
||||
* Emulate the fault-causing instruction (if set in the event response flags).
|
||||
* This will allow the guest to continue execution without lifting the page
|
||||
* access restrictions.
|
||||
*/
|
||||
#define MEM_ACCESS_EMULATE (1 << 6)
|
||||
/*
|
||||
* Same as MEM_ACCESS_EMULATE, but with write operations or operations
|
||||
* potentially having side effects (like memory mapped or port I/O) disabled.
|
||||
*/
|
||||
#define MEM_ACCESS_EMULATE_NOWRITE (1 << 7)
|
||||
|
||||
struct vm_event_mem_access {
|
||||
uint64_t gfn;
|
||||
|
||||