Re: [Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
On 11.03.2020 14:09, Andrew Cooper wrote: > On 10/03/2020 15:48, 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 >> --- >> v2: Also make things build with XSM=y. > > Looking better, but still got problems. > > xen_pv_console.c: In function ‘pv_console_init’: > xen_pv_console.c:51:37: error: ‘HVM_PARAM_CONSOLE_PFN’ undeclared (first > use in this function) > r = xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, _pfn); > ^ > > and > > shim.c: In function ‘pv_shim_fixup_e820’: > shim.c:148:20: error: ‘HVM_PARAM_STORE_PFN’ undeclared (first use in > this function) > MARK_PARAM_RAM(HVM_PARAM_STORE_PFN); In a later reply (which I've lost due to mailbox problems) you've been suggesting allyesconfig. I'd been considering to use it indeed, but then forgot. Together with choices though I'm unconvinced this would provide broad enough coverage. I'd also similarly wonder whether allnoconfig might not be more telling, as it might result in fewer things getting included here and there. I'll make sure both build fine before sending v3, but I'm having trouble seeing how I would invoke these - neither the top level Makefile nor xen/Makefile look to permit its use right now. Have you found a way to successfully use these without first patching the tree? Jan ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
On 11/03/2020 15:22, Jan Beulich wrote: > On 11.03.2020 14:09, Andrew Cooper wrote: >> On 10/03/2020 15:48, 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 >>> --- >>> v2: Also make things build with XSM=y. >> Looking better, but still got problems. >> >> xen_pv_console.c: In function ‘pv_console_init’: >> xen_pv_console.c:51:37: error: ‘HVM_PARAM_CONSOLE_PFN’ undeclared (first >> use in this function) >> r = xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, _pfn); >> ^ >> >> and >> >> shim.c: In function ‘pv_shim_fixup_e820’: >> shim.c:148:20: error: ‘HVM_PARAM_STORE_PFN’ undeclared (first use in >> this function) >> MARK_PARAM_RAM(HVM_PARAM_STORE_PFN); > Oh, so that's an XSM+shim config aiui; Among the sets of what > I regularly test I have only an XSM one and a shim one. The funs > of allowing too wide a variety of different configs ... In cases > like this series here I really don't see how one is supposed to > cover _all_ possible configs; randconfig builds won't help with > this unless one would let them run until they've covered all > possible ones. This happens to be my default config. I wouldn't expect to be perfect even under weird combinations, but these aren't weird, and this is the kind of change that `make allyesconfig` is intended for. ~Andrew ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
On 11.03.2020 14:09, Andrew Cooper wrote: > On 10/03/2020 15:48, 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 >> --- >> v2: Also make things build with XSM=y. > > Looking better, but still got problems. > > xen_pv_console.c: In function ‘pv_console_init’: > xen_pv_console.c:51:37: error: ‘HVM_PARAM_CONSOLE_PFN’ undeclared (first > use in this function) > r = xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, _pfn); > ^ > > and > > shim.c: In function ‘pv_shim_fixup_e820’: > shim.c:148:20: error: ‘HVM_PARAM_STORE_PFN’ undeclared (first use in > this function) > MARK_PARAM_RAM(HVM_PARAM_STORE_PFN); Oh, so that's an XSM+shim config aiui; Among the sets of what I regularly test I have only an XSM one and a shim one. The funs of allowing too wide a variety of different configs ... In cases like this series here I really don't see how one is supposed to cover _all_ possible configs; randconfig builds won't help with this unless one would let them run until they've covered all possible ones. Jan ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
On 10/03/2020 15:48, 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 > --- > v2: Also make things build with XSM=y. Looking better, but still got problems. xen_pv_console.c: In function ‘pv_console_init’: xen_pv_console.c:51:37: error: ‘HVM_PARAM_CONSOLE_PFN’ undeclared (first use in this function) r = xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, _pfn); ^ and shim.c: In function ‘pv_shim_fixup_e820’: shim.c:148:20: error: ‘HVM_PARAM_STORE_PFN’ undeclared (first use in this function) MARK_PARAM_RAM(HVM_PARAM_STORE_PFN); ^ ~Andrew ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
> -Original Message- > From: Jan Beulich > Sent: 10 March 2020 15:48 > To: xen-devel@lists.xenproject.org > Cc: Andrew Cooper ; Wei Liu ; Roger > Pau Monné > ; Paul Durrant ; Daniel de Graaf > ; Tamas K > Lengyel ; Petre Pircalabu ; > Alexandru Isaila > > Subject: [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies > > 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 Reviewed-by: Paul Durrant ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
[Xen-devel] [PATCH v2 1/9] x86/HVM: reduce domain.h include dependencies
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 --- v2: Also make things build with XSM=y. --- a/xen/arch/x86/cpu/mcheck/vmce.c +++ b/xen/arch/x86/cpu/mcheck/vmce.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include --- a/xen/arch/x86/hvm/dm.c +++ b/xen/arch/x86/hvm/dm.c @@ -27,6 +27,8 @@ #include +#include + struct dmop_args { domid_t domid; unsigned int nr_bufs; --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -38,6 +38,7 @@ #include #include #include +#include /* * 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 #include #include +#include #define domain_vhpet(x) (&(x)->arch.hvm.pl_time->vhpet) #define vcpu_vhpet(x) (domain_vhpet((x)->domain)) --- a/xen/arch/x86/hvm/hypercall.c +++ b/xen/arch/x86/hvm/hypercall.c @@ -24,6 +24,9 @@ #include +#include +#include + static long hvm_memory_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) { const struct vcpu *curr = current; --- a/xen/arch/x86/hvm/ioreq.c +++ b/xen/arch/x86/hvm/ioreq.c @@ -34,6 +34,7 @@ #include #include +#include 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 #include #include +#include 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 #include #include +#include #define USEC_PER_SEC100UL #define NS_PER_USEC 1000UL --- 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 +#include 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/hvm/vpt.c +++ b/xen/arch/x86/hvm/vpt.c @@ -22,6 +22,7 @@ #include #include #include +#include #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 #include +#include + DEFINE_PER_CPU(uint32_t, tsc_aux); struct msr_policy __read_mostly raw_msr_policy, --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -76,6 +76,7 @@ #include #include #include +#include #include #include #include --- a/xen/common/vm_event.c +++ b/xen/common/vm_event.c @@ -29,6 +29,7 @@ #include #include #include +#include /* for public/io/ring.h macros */ #define xen_mb() smp_mb() --- 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 -#include -#include -#include -#include +#include +#include +#include + #include -#include #include #include -#include -#include -#include -#include -#include + #include 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 /* for uintNN_t */ #include /* for struct vcpu, struct domain */ #include /* for vcpu_nestedhvm */ +#include 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 #include +#include /* Cannot use BUILD_BUG_ON here because the expressions we check are not * considered constant at compile time. Instead, rely on constant propagation to --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -28,7 +28,7 @@ #include #include #include - +#include #include #include ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel