On Sat, 21 Sep 2019 at 16:04, Thomas Huth <th...@redhat.com> wrote: > > qemu-system-arm/-aarch64 currently can't be built without setting the > switch CONFIG_ARM_V7M=y - which we currently always do in the config file > default-configs/arm-softmmu.mak. This is because the code in target/arm/ > calls many functions from this armv7m_nvic.c, and thus linking fails > without this file. > > So armv7m_nvic.c should not be under the CONFIG_ARM_V7M switch, but always > compiled for arm builds. Since we can not simply do this in hw/intc/ (with > "obj-y += ..." it would get compiled for all other architectures, too), > let's move the file to hw/arm/ instead and always enable it there. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > hw/arm/Makefile.objs | 2 ++ > hw/{intc => arm}/armv7m_nvic.c | 0 > hw/arm/trace-events | 17 +++++++++++++++++ > hw/intc/Makefile.objs | 1 - > hw/intc/trace-events | 17 ----------------- > 5 files changed, 19 insertions(+), 18 deletions(-) > rename hw/{intc => arm}/armv7m_nvic.c (100%)
Please don't move this file. This is an interrupt controller (with some other functionality jammed into it) and so it should be in hw/intc. It's true that it's rather tightly-coupled to the CPU, but the same is true for our GICv3 model. thanks -- PMM