@@ -19,7 +19,7 @@
static inline
bool p2m_mem_access_emulate_check(struct vcpu *v,
- const vm_event_response_t *rsp)
+ const struct vm_event_st *rsp)
{
/* Not supported on ARM. */
return false;
@@ -36,12 +36,12 @@
*/
bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
struct npfec npfec,
- vm_event_request_t **req_ptr);
+ struct vm_event_st **req_ptr);
/* Check for emulation and mark vcpu for skipping one instruction
* upon rescheduling if required. */
bool p2m_mem_access_emulate_check(struct vcpu *v,
- const vm_event_response_t *rsp);
+ const struct vm_event_st *rsp);
/* Sanity check for mem_access hardware support */
bool p2m_mem_access_sanity_check(const struct domain *d);
@@ -24,8 +24,15 @@
#include <xen/types.h>
#include <xen/mm.h>
-#include <public/memory.h>
-#include <public/vm_event.h>
+
+/*
+ * asm/mem_access.h has functions taking pointers to this as arguments,
+ * and we want to avoid having to include public/vm_event.h here (which
+ * would provide the full struct definition as well as its
+ * vm_event_{request,response}_t typedefs.
+ */
+struct vm_event_st;
+
#include <asm/mem_access.h>
/*
The common header doesn't itself need to include public/vm_event.h nor public/memory.h. Drop their inclusion. This requires using the non- typedef names in two prototypes and an inline function; by not changing the callers and function definitions at the same time it'll remain certain that the build would fail if the typedef itself was changed. Signed-off-by: Jan Beulich <jbeulich@suse.com> --- v2: Move struct forward decl to xen/mem_access.h. Add comment there.