From: Jan Beulich Date: Tue, 10 Mar 2020 14:38:25 +0000 (+0100) Subject: vmevent: reduce include dependencies X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~553 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0198960edbf0e681cef59fd81c994643e7b148e0;p=xen.git vmevent: reduce include dependencies There's no need for virtually everything to include public/vm_event.h. Move its inclusion out of sched.h. This requires using the non-typedef name in p2m_mem_paging_resume()'s prototype; by not changing the function definition at the same time it'll remain certain that the build would fail if the typedef itself was changed. Signed-off-by: Jan Beulich Acked-by: Ross Lagerwall Reviewed-by: Alexandru Isaila Acked-by: Tamas K Lengyel --- diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c index 513b0f3841..901fad96bf 100644 --- a/xen/arch/x86/livepatch.c +++ b/xen/arch/x86/livepatch.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h index 0cf531abb7..a2c6049834 100644 --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -743,7 +743,8 @@ void p2m_mem_paging_populate(struct domain *d, unsigned long gfn); /* Prepare the p2m for paging a frame in */ int p2m_mem_paging_prep(struct domain *d, unsigned long gfn, uint64_t buffer); /* Resume normal operation (in case a domain was paused) */ -void p2m_mem_paging_resume(struct domain *d, vm_event_response_t *rsp); +struct vm_event_st; +void p2m_mem_paging_resume(struct domain *d, struct vm_event_st *rsp); /* * Internal functions, only called by other p2m code diff --git a/xen/include/asm-x86/vm_event.h b/xen/include/asm-x86/vm_event.h index 66db9e1e25..785e741fba 100644 --- a/xen/include/asm-x86/vm_event.h +++ b/xen/include/asm-x86/vm_event.h @@ -20,6 +20,7 @@ #define __ASM_X86_VM_EVENT_H__ #include +#include /* * Should we emulate the next matching instruction on VCPU resume diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 3a4f43098c..739fa68541 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -27,7 +27,6 @@ #include #include #include -#include #include #ifdef CONFIG_COMPAT @@ -313,30 +312,6 @@ struct sched_unit { #define domain_lock(d) spin_lock_recursive(&(d)->domain_lock) #define domain_unlock(d) spin_unlock_recursive(&(d)->domain_lock) -/* VM event */ -struct vm_event_domain -{ - spinlock_t lock; - /* The ring has 64 entries */ - unsigned char foreign_producers; - unsigned char target_producers; - /* shared ring page */ - void *ring_page; - struct page_info *ring_pg_struct; - /* front-end ring */ - vm_event_front_ring_t front_ring; - /* event channel port (vcpu0 only) */ - int xen_port; - /* vm_event bit for vcpu->pause_flags */ - int pause_flag; - /* list of vcpus waiting for room in the ring */ - struct waitqueue_head wq; - /* the number of vCPUs blocked */ - unsigned int blocked; - /* The last vcpu woken up */ - unsigned int last_vcpu_wake_up; -}; - struct evtchn_port_ops; struct domain diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h index 3cc2b204e5..92811d9110 100644 --- a/xen/include/xen/vm_event.h +++ b/xen/include/xen/vm_event.h @@ -26,6 +26,29 @@ #include #include +struct vm_event_domain +{ + spinlock_t lock; + /* The ring has 64 entries */ + unsigned char foreign_producers; + unsigned char target_producers; + /* shared ring page */ + void *ring_page; + struct page_info *ring_pg_struct; + /* front-end ring */ + vm_event_front_ring_t front_ring; + /* event channel port (vcpu0 only) */ + int xen_port; + /* vm_event bit for vcpu->pause_flags */ + int pause_flag; + /* list of vcpus waiting for room in the ring */ + struct waitqueue_head wq; + /* the number of vCPUs blocked */ + unsigned int blocked; + /* The last vcpu woken up */ + unsigned int last_vcpu_wake_up; +}; + /* Clean up on domain destruction */ void vm_event_cleanup(struct domain *d);