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>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
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;
*/
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);
#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>
/*