On 6/28/24 08:49, Gustavo Romero wrote:
I thought you meant osdep.h should not be included _at all_ in my case, either
in mte_user_helper.h or in mte_user_helper.c. Maybe the wording in the docs
should be "Do not include "qemu/osdep.h" from header files. Include it from .c
files, when necessary.".
Not "when necessary", always, and always first.
See the "Include directives" section of docs/devel/style.rst, which does explicitly say
'Do not include "qemu/osdep.h" from header files'.
I think we agree osdep.h is necessary and must be put in mte_user_helper.c. But
that left me wondering how it would work for sources including
mte_user_helper.h,
because it can be the case they don't have the declarations for the types used
in
the function prototypes, in this case, for CPUArchState and abi_long types in
arm_set_mte_tcf0.
CPUArchState will come from qemu/typedefs.h via osdep.h.
For this particular function, 'int' would have been enough,
since we only care about the low two bits.
r~