|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V4 14/24] arm/ioreq: Introduce arch specific bits for IOREQ/DM features
Hi Oleksandr, On 17/01/2021 18:52, Oleksandr wrote: Please see attached, although I built for Arm32 (and the whole series), I think errors are valid for Arm64 also.I needed to include that header to make some bits visible (XEN_DMOP_IO_RANGE_PCI, struct xen_dm_op_buf, etc). Why here - is a really good question. I don't remember exactly, probably I followed x86's domain.h which also included it. So, trying to remove the inclusion here, I get several build failures on Arm which could be fixed if I include that header from dm.h and ioreq.h:diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.hindex 6819a3b..c235e5b 100644 --- a/xen/include/asm-arm/domain.h +++ b/xen/include/asm-arm/domain.h @@ -10,6 +10,7 @@ #include <asm/gic.h> #include <asm/vgic.h> #include <asm/vpl011.h> +#include <public/hvm/dm_op.h>May I ask, why do you need to include dm_op.h here?Shall I do this way?If the failure are indeded because ioreq.h and dm.h use definition from public/hvm/dm_op.h, then yes. Can you post the errors? Thanks! error1.txt - when remove #include <public/hvm/dm_op.h> from asm-arm/domain.h For this one, I agree that including <public/hvm/dm_op.h> in xen.h looks the best solution. error2.txt - when add #include <public/hvm/dm_op.h> to xen/ioreq.h It looks like the error is happening in dm.c rather than xen/dm.h. Any reason to not include <public/hvm/dm_op.h> in dm.c directly? error3.txt - when add #include <public/hvm/dm_op.h> to xen/dm.h I am a bit confused with this one. Isn't it the same as error1.txt? [...]Good question... The _common_ IOREQ code is indeed arch-agnostic. But, can the _arch_ IOREQ code be treated as really subarch-agnostic? I think, on Arm it can and it is most likely ok to keep it in "asm-arm/", but how it would be correlated with x86's IOREQ code which is HVM specific and located#include <public/hvm/params.h> struct hvm_domain@@ -262,6 +263,8 @@ static inline void arch_vcpu_block(struct vcpu *v) {} #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag) I saw Jan answered about this one. Let me know if you need more input. Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |