[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] vmevent: reduce include dependencies
commit 0198960edbf0e681cef59fd81c994643e7b148e0 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Mar 10 15:38:25 2020 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Mar 10 15:38:25 2020 +0100 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 <jbeulich@xxxxxxxx> Acked-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> Reviewed-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> Acked-by: Tamas K Lengyel <tamas@xxxxxxxxxxxxx> --- xen/arch/x86/livepatch.c | 1 + xen/include/asm-x86/p2m.h | 3 ++- xen/include/asm-x86/vm_event.h | 1 + xen/include/xen/sched.h | 25 ------------------------- xen/include/xen/vm_event.h | 23 +++++++++++++++++++++++ 5 files changed, 27 insertions(+), 26 deletions(-) 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 <xen/livepatch_elf.h> #include <xen/livepatch.h> #include <xen/sched.h> +#include <xen/vm_event.h> #include <asm/fixmap.h> #include <asm/nmi.h> 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 <xen/sched.h> +#include <public/vm_event.h> /* * 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 <public/domctl.h> #include <public/sysctl.h> #include <public/vcpu.h> -#include <public/vm_event.h> #include <public/event_channel.h> #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 <xen/sched.h> #include <public/vm_event.h> +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); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |