* [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
@ 2020-03-09 12:06 ` Jan Beulich
2020-03-09 13:33 ` Andrew Cooper
2020-03-09 12:07 ` [Xen-devel] [PATCH 2/9] x86/HVM: reduce vcpu.h " Jan Beulich
` (7 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:06 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Paul Durrant, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself. Put the ones needed
into whichever other files actually need them.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -28,6 +28,7 @@
#include <xen/mm.h>
#include <asm/hvm/save.h>
#include <asm/processor.h>
+#include <public/hvm/params.h>
#include <public/sysctl.h>
#include <asm/system.h>
#include <asm/msr.h>
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -38,6 +38,7 @@
#include <public/arch-x86/hvm/start_info.h>
#include <public/hvm/hvm_info_table.h>
#include <public/hvm/hvm_vcpu.h>
+#include <public/hvm/params.h>
/*
* Have the TSS cover the ISA port range, which makes it
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -26,6 +26,7 @@
#include <xen/event.h>
#include <xen/trace.h>
#include <xen/nospec.h>
+#include <public/hvm/params.h>
#define domain_vhpet(x) (&(x)->arch.hvm.pl_time->vhpet)
#define vcpu_vhpet(x) (domain_vhpet((x)->domain))
--- a/xen/arch/x86/hvm/ioreq.c
+++ b/xen/arch/x86/hvm/ioreq.c
@@ -34,6 +34,7 @@
#include <asm/hvm/vmx/vmx.h>
#include <public/hvm/ioreq.h>
+#include <public/hvm/params.h>
static void set_ioreq_server(struct domain *d, unsigned int id,
struct hvm_ioreq_server *s)
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -26,6 +26,7 @@
#include <asm/hvm/domain.h>
#include <asm/hvm/support.h>
#include <asm/msi.h>
+#include <public/hvm/params.h>
bool hvm_domain_use_pirq(const struct domain *d, const struct pirq *pirq)
{
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -28,6 +28,7 @@
#include <asm/hvm/support.h>
#include <asm/current.h>
#include <xen/trace.h>
+#include <public/hvm/params.h>
#define USEC_PER_SEC 1000000UL
#define NS_PER_USEC 1000UL
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -22,6 +22,7 @@
#include <asm/event.h>
#include <asm/apic.h>
#include <asm/mc146818rtc.h>
+#include <public/hvm/params.h>
#define mode_is(d, name) \
((d)->arch.hvm.params[HVM_PARAM_TIMER_MODE] == HVMPTM_##name)
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -28,6 +28,8 @@
#include <asm/msr.h>
#include <asm/setup.h>
+#include <public/hvm/params.h>
+
DEFINE_PER_CPU(uint32_t, tsc_aux);
struct msr_policy __read_mostly raw_msr_policy,
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -20,20 +20,14 @@
#ifndef __ASM_X86_HVM_DOMAIN_H__
#define __ASM_X86_HVM_DOMAIN_H__
-#include <xen/iommu.h>
-#include <asm/hvm/irq.h>
-#include <asm/hvm/vpt.h>
-#include <asm/hvm/vlapic.h>
-#include <asm/hvm/vioapic.h>
+#include <xen/list.h>
+#include <xen/mm.h>
+#include <xen/radix-tree.h>
+
#include <asm/hvm/io.h>
-#include <asm/hvm/viridian.h>
#include <asm/hvm/vmx/vmcs.h>
#include <asm/hvm/svm/vmcb.h>
-#include <asm/mem_sharing.h>
-#include <public/grant_table.h>
-#include <public/hvm/params.h>
-#include <public/hvm/save.h>
-#include <public/hvm/hvm_op.h>
+
#include <public/hvm/dm_op.h>
struct hvm_ioreq_page {
--- a/xen/include/asm-x86/hvm/nestedhvm.h
+++ b/xen/include/asm-x86/hvm/nestedhvm.h
@@ -22,6 +22,7 @@
#include <xen/types.h> /* for uintNN_t */
#include <xen/sched.h> /* for struct vcpu, struct domain */
#include <asm/hvm/vcpu.h> /* for vcpu_nestedhvm */
+#include <public/hvm/params.h>
enum nestedhvm_vmexits {
NESTEDHVM_VMEXIT_ERROR = 0, /* inject VMEXIT w/ invalid VMCB */
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -17,6 +17,7 @@
#include <xen/sched.h>
#include <xsm/xsm.h>
+#include <public/hvm/params.h>
/* Cannot use BUILD_BUG_ON here because the expressions we check are not
* considered constant at compile time. Instead, rely on constant propagation to
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h include dependencies
2020-03-09 12:06 ` [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h " Jan Beulich
@ 2020-03-09 13:33 ` Andrew Cooper
2020-03-09 13:52 ` Jan Beulich
2020-03-09 14:22 ` Jan Beulich
0 siblings, 2 replies; 13+ messages in thread
From: Andrew Cooper @ 2020-03-09 13:33 UTC (permalink / raw)
To: Jan Beulich, xen-devel@lists.xenproject.org
Cc: Paul Durrant, Wei Liu, Roger Pau Monné
On 09/03/2020 12:06, Jan Beulich wrote:
> Drop #include-s not needed by the header itself. Put the ones needed
> into whichever other files actually need them.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Having attempted to compile this myself, you're at a minimum missing
Flask, viridian, general HVM (because I can't spot any other way dm.c
wouldn't be compiled), xen guest and shim.
The vm_event failures I presume is due to a dependency on your singleton
patches. OTOH,
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -28,6 +28,8 @@
> #include <asm/msr.h>
> #include <asm/setup.h>
>
> +#include <public/hvm/params.h>
What failed to compile here? I can't spot anything in msr.c which uses
the params.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h include dependencies
2020-03-09 13:33 ` Andrew Cooper
@ 2020-03-09 13:52 ` Jan Beulich
2020-03-09 14:22 ` Jan Beulich
1 sibling, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 13:52 UTC (permalink / raw)
To: Andrew Cooper
Cc: xen-devel@lists.xenproject.org, Paul Durrant, Wei Liu,
Roger Pau Monné
On 09.03.2020 14:33, Andrew Cooper wrote:
> On 09/03/2020 12:06, Jan Beulich wrote:
>> Drop #include-s not needed by the header itself. Put the ones needed
>> into whichever other files actually need them.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Having attempted to compile this myself, you're at a minimum missing
> Flask, viridian, general HVM (because I can't spot any other way dm.c
> wouldn't be compiled), xen guest and shim.
I admit I forgot to try an XSM/Flask build, but I'm pretty puzzled by
the other items you list. In fact before submitting I tried the series
on a plain staging tree to exclude there being dependencies on other
patches I have in my try. (I now realize I also meant to check the
clang build before sending.)
> The vm_event failures I presume is due to a dependency on your singleton
> patches.
As per above, things do build fine for me without these. In fact the
order the patches got created was such that the mem-access and vm-event
ones got added last.
> OTOH,
>
>> --- a/xen/arch/x86/msr.c
>> +++ b/xen/arch/x86/msr.c
>> @@ -28,6 +28,8 @@
>> #include <asm/msr.h>
>> #include <asm/setup.h>
>>
>> +#include <public/hvm/params.h>
>
> What failed to compile here? I can't spot anything in msr.c which uses
> the params.
#define viridian_feature_mask(d) \
(has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
#define is_viridian_domain(d) \
(is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h include dependencies
2020-03-09 13:33 ` Andrew Cooper
2020-03-09 13:52 ` Jan Beulich
@ 2020-03-09 14:22 ` Jan Beulich
1 sibling, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 14:22 UTC (permalink / raw)
To: Andrew Cooper
Cc: xen-devel@lists.xenproject.org, Paul Durrant, Wei Liu,
Roger Pau Monné
On 09.03.2020 14:33, Andrew Cooper wrote:
> On 09/03/2020 12:06, Jan Beulich wrote:
>> Drop #include-s not needed by the header itself. Put the ones needed
>> into whichever other files actually need them.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Having attempted to compile this myself, you're at a minimum missing
> Flask, viridian, general HVM (because I can't spot any other way dm.c
> wouldn't be compiled), xen guest and shim.
So other than I first understood (in particular because you
specifically mention dm.c and it potentially not getting built in
whatever [strange] config you may have suspect I did use) this
looks to be fallout from all the same (XSM-enabled) build, as I
can see that too. The issues, afaics for now, all stem from the
fact that dummy.h include public/hvm/params.h, but with XSM
enabled there's no other place this inclusion would now come from.
Pretty fragile, but fixable.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Xen-devel] [PATCH 2/9] x86/HVM: reduce vcpu.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
2020-03-09 12:06 ` [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h " Jan Beulich
@ 2020-03-09 12:07 ` Jan Beulich
2020-03-09 12:07 ` [Xen-devel] [PATCH 3/9] x86/HVM: reduce vpt.h " Jan Beulich
` (6 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:07 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Paul Durrant, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself. Put the ones needed
into whichever other files actually need them.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -7,6 +7,7 @@
#include <asm/hvm/hvm.h>
#include <asm/hvm/nestedhvm.h>
#include <asm/hvm/svm/svm.h>
+#include <asm/hvm/viridian.h>
#include <asm/hvm/vmx/vmcs.h>
#include <asm/paging.h>
#include <asm/processor.h>
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -65,6 +65,7 @@
#include <asm/hvm/nestedhvm.h>
#include <asm/hvm/monitor.h>
#include <asm/hvm/ioreq.h>
+#include <asm/hvm/viridian.h>
#include <asm/hvm/vm_event.h>
#include <asm/altp2m.h>
#include <asm/mtrr.h>
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -23,6 +23,7 @@
#include <xen/nospec.h>
#include <asm/hvm/support.h>
+#include <asm/hvm/viridian.h>
static long hvm_memory_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
{
--- a/xen/arch/x86/hvm/viridian/private.h
+++ b/xen/arch/x86/hvm/viridian/private.h
@@ -4,6 +4,7 @@
#define X86_HVM_VIRIDIAN_PRIVATE_H
#include <asm/hvm/save.h>
+#include <asm/hvm/viridian.h>
int viridian_synic_wrmsr(struct vcpu *v, uint32_t idx, uint64_t val);
int viridian_synic_rdmsr(const struct vcpu *v, uint32_t idx, uint64_t *val);
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -25,6 +25,7 @@
#include <xen/sched.h>
#include <asm/debugreg.h>
+#include <asm/hvm/viridian.h>
#include <asm/msr.h>
#include <asm/setup.h>
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -20,9 +20,7 @@
#define __ASM_X86_HVM_VCPU_H__
#include <xen/tasklet.h>
-#include <asm/hvm/io.h>
#include <asm/hvm/vlapic.h>
-#include <asm/hvm/viridian.h>
#include <asm/hvm/vmx/vmcs.h>
#include <asm/hvm/vmx/vvmx.h>
#include <asm/hvm/svm/vmcb.h>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 3/9] x86/HVM: reduce vpt.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
2020-03-09 12:06 ` [Xen-devel] [PATCH 1/9] x86/HVM: reduce domain.h " Jan Beulich
2020-03-09 12:07 ` [Xen-devel] [PATCH 2/9] x86/HVM: reduce vcpu.h " Jan Beulich
@ 2020-03-09 12:07 ` Jan Beulich
2020-03-09 12:08 ` [Xen-devel] [PATCH 4/9] x86/HVM: reduce vpic.h " Jan Beulich
` (5 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:07 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/vpt.h
+++ b/xen/include/asm-x86/hvm/vpt.h
@@ -19,16 +19,9 @@
#ifndef __ASM_X86_HVM_VPT_H__
#define __ASM_X86_HVM_VPT_H__
-#include <xen/init.h>
-#include <xen/lib.h>
-#include <xen/time.h>
-#include <xen/errno.h>
-#include <xen/time.h>
#include <xen/timer.h>
#include <xen/list.h>
-#include <asm/hvm/vpic.h>
-#include <asm/hvm/irq.h>
-#include <public/hvm/save.h>
+#include <asm/hvm/hvm.h>
/*
* Abstract layer of periodic time, one short time.
@@ -145,6 +138,7 @@ struct pl_time { /* platform time */
void pt_save_timer(struct vcpu *v);
void pt_restore_timer(struct vcpu *v);
int pt_update_irq(struct vcpu *v);
+struct hvm_intack;
void pt_intr_post(struct vcpu *v, struct hvm_intack intack);
void pt_migrate(struct vcpu *v);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 4/9] x86/HVM: reduce vpic.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (2 preceding siblings ...)
2020-03-09 12:07 ` [Xen-devel] [PATCH 3/9] x86/HVM: reduce vpt.h " Jan Beulich
@ 2020-03-09 12:08 ` Jan Beulich
2020-03-09 12:08 ` [Xen-devel] [PATCH 5/9] x86/HVM: reduce vioapic.h " Jan Beulich
` (4 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:08 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Wei Liu, Roger Pau Monné
Drop an #include not needed by the header itself.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/vpic.h
+++ b/xen/include/asm-x86/hvm/vpic.h
@@ -27,7 +27,8 @@
#ifndef __ASM_X86_HVM_VPIC_H__
#define __ASM_X86_HVM_VPIC_H__
-#include <public/hvm/save.h>
+struct domain;
+struct vcpu;
void vpic_irq_positive_edge(struct domain *d, int irq);
void vpic_irq_negative_edge(struct domain *d, int irq);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 5/9] x86/HVM: reduce vioapic.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (3 preceding siblings ...)
2020-03-09 12:08 ` [Xen-devel] [PATCH 4/9] x86/HVM: reduce vpic.h " Jan Beulich
@ 2020-03-09 12:08 ` Jan Beulich
2020-03-09 12:09 ` [Xen-devel] [PATCH 6/9] x86/HVM: reduce vlapic.h " Jan Beulich
` (3 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:08 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Wei Liu, Roger Pau Monné
Drop an #include not needed by the header itself. While verifyin the
header (now) builds standalone, I noticed an omission in a public header
which gets taken care of here as well.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/vioapic.h
+++ b/xen/include/asm-x86/hvm/vioapic.h
@@ -25,7 +25,6 @@
#define __ASM_X86_HVM_VIOAPIC_H__
#include <xen/types.h>
-#include <xen/smp.h>
#include <public/hvm/save.h>
#define VIOAPIC_VERSION_ID 0x11 /* IOAPIC version */
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -26,6 +26,8 @@
#ifndef __XEN_PUBLIC_HVM_SAVE_X86_H__
#define __XEN_PUBLIC_HVM_SAVE_X86_H__
+#include "../../xen.h"
+
/*
* Save/restore header: general info about the save file.
*/
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 6/9] x86/HVM: reduce vlapic.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (4 preceding siblings ...)
2020-03-09 12:08 ` [Xen-devel] [PATCH 5/9] x86/HVM: reduce vioapic.h " Jan Beulich
@ 2020-03-09 12:09 ` Jan Beulich
2020-03-09 12:10 ` [Xen-devel] [PATCH 7/9] x86/HVM: reduce io.h " Jan Beulich
` (2 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:09 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -21,8 +21,6 @@
#define __ASM_X86_HVM_VLAPIC_H__
#include <xen/tasklet.h>
-#include <asm/msr.h>
-#include <public/hvm/ioreq.h>
#include <asm/hvm/vpt.h>
#define vcpu_vlapic(x) (&(x)->arch.hvm.vlapic)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 7/9] x86/HVM: reduce io.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (5 preceding siblings ...)
2020-03-09 12:09 ` [Xen-devel] [PATCH 6/9] x86/HVM: reduce vlapic.h " Jan Beulich
@ 2020-03-09 12:10 ` Jan Beulich
2020-03-09 12:11 ` [Xen-devel] [PATCH 8/9] x86/HVM: reduce hvm.h " Jan Beulich
2020-03-09 12:11 ` [Xen-devel] [PATCH 9/9] x86: reduce mce.h " Jan Beulich
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:10 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Paul Durrant, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself as well as one include
of the header which isn't needed. Put the one needed into the file
actually requiring it.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/io.h
+++ b/xen/include/asm-x86/hvm/io.h
@@ -19,12 +19,8 @@
#ifndef __ASM_X86_HVM_IO_H__
#define __ASM_X86_HVM_IO_H__
-#include <xen/mm.h>
#include <xen/pci.h>
-#include <asm/hvm/vpic.h>
-#include <asm/hvm/vioapic.h>
#include <public/hvm/ioreq.h>
-#include <public/event_channel.h>
#define NR_IO_HANDLERS 32
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -26,6 +26,7 @@
#include <asm/hvm/svm/vmcb.h>
#include <asm/hvm/svm/nestedsvm.h>
#include <asm/mtrr.h>
+#include <public/hvm/ioreq.h>
enum hvm_io_completion {
HVMIO_no_completion,
--- a/xen/include/asm-x86/hvm/vmx/vmcs.h
+++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
@@ -18,8 +18,6 @@
#ifndef __ASM_X86_HVM_VMX_VMCS_H__
#define __ASM_X86_HVM_VMX_VMCS_H__
-#include <asm/hvm/io.h>
-
extern void vmcs_dump_vcpu(struct vcpu *v);
extern void setup_vmcs_dump(void);
extern int vmx_cpu_up_prepare(unsigned int cpu);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 8/9] x86/HVM: reduce hvm.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (6 preceding siblings ...)
2020-03-09 12:10 ` [Xen-devel] [PATCH 7/9] x86/HVM: reduce io.h " Jan Beulich
@ 2020-03-09 12:11 ` Jan Beulich
2020-03-09 12:11 ` [Xen-devel] [PATCH 9/9] x86: reduce mce.h " Jan Beulich
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:11 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Paul Durrant, Wei Liu, Roger Pau Monné
Drop #include-s not needed by the header itself, and add smaller scope
ones instead. Put the ones needed into whichever other files actually
need them.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/hvm/emulate.h
+++ b/xen/include/asm-x86/hvm/emulate.h
@@ -13,6 +13,7 @@
#define __ASM_X86_HVM_EMULATE_H__
#include <xen/err.h>
+#include <xen/mm.h>
#include <asm/hvm/hvm.h>
#include <asm/x86_emulate.h>
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -20,12 +20,11 @@
#ifndef __ASM_X86_HVM_HVM_H__
#define __ASM_X86_HVM_HVM_H__
+#include <asm/alternative.h>
+#include <asm/asm_defns.h>
#include <asm/current.h>
#include <asm/x86_emulate.h>
#include <asm/hvm/asid.h>
-#include <public/domctl.h>
-#include <public/hvm/save.h>
-#include <xen/mm.h>
#ifdef CONFIG_HVM_FEP
/* Permit use of the Forced Emulation Prefix in HVM guests */
@@ -326,6 +325,7 @@ int hvm_debug_op(struct vcpu *v, int32_t
void hvm_toggle_singlestep(struct vcpu *v);
void hvm_fast_singlestep(struct vcpu *v, uint16_t p2midx);
+struct npfec;
int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
struct npfec npfec);
--- a/xen/include/asm-x86/hvm/vpt.h
+++ b/xen/include/asm-x86/hvm/vpt.h
@@ -21,6 +21,7 @@
#include <xen/timer.h>
#include <xen/list.h>
+#include <xen/rwlock.h>
#include <asm/hvm/hvm.h>
/*
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* [Xen-devel] [PATCH 9/9] x86: reduce mce.h include dependencies
2020-03-09 12:04 [Xen-devel] [PATCH 0/9] x86: reduce include dependencies Jan Beulich
` (7 preceding siblings ...)
2020-03-09 12:11 ` [Xen-devel] [PATCH 8/9] x86/HVM: reduce hvm.h " Jan Beulich
@ 2020-03-09 12:11 ` Jan Beulich
8 siblings, 0 replies; 13+ messages in thread
From: Jan Beulich @ 2020-03-09 12:11 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Wei Liu, Roger Pau Monné
Drop the public header #include as not needed by the header itself. Add
one that was missing, and move all inside the inclusion guard.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/include/asm-x86/mce.h
+++ b/xen/include/asm-x86/mce.h
@@ -1,8 +1,9 @@
-#include <xen/types.h>
-#include <public/arch-x86/xen-mca.h>
#ifndef _XEN_X86_MCE_H
#define _XEN_X86_MCE_H
+#include <xen/spinlock.h>
+#include <xen/types.h>
+
/*
* Emulate 2 banks for guest
* Bank0: reserved for 'bank0 quirk' occur at some very old processors:
@@ -32,6 +33,9 @@ struct vmce {
struct vmce_bank bank[GUEST_MC_BANK_NUM];
};
+struct domain;
+struct vcpu;
+
/* Guest vMCE MSRs virtualization */
extern void vmce_init_vcpu(struct vcpu *);
extern int vmce_restore_vcpu(struct vcpu *, const struct hvm_vmce_vcpu *);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 13+ messages in thread