On 5/14/25 9:53 AM, Philippe Mathieu-Daudé wrote:
On 14/5/25 10:24, Richard Henderson wrote:
On 5/13/25 18:39, Philippe Mathieu-Daudé wrote:
arm_cpu_has_feature() is equivalent of arm_feature(), however
while the latter uses CPUARMState so is target-specific, the
former doesn't and can be called by target-agnostic code in hw/.
CPUARMState is no more target-specific than ARMCPU.
ARMCPU is forward-declared as opaque pointer in target/arm/cpu-qom.h,
so we can expose prototypes using it to non-ARM units.
CPUARMState is only declared in "cpu.h", itself only accessible by
ARM-related units.
Maybe we can simply postpone introduction of arm_cpu_has_feature() when
it will be really needed.
Patches 17 and 18 are not strictly needed, as cpu.h (which resolves to
target/arm/cpu.h implicitely) is perfectly accessible to code in hw/arm
without any problem.