Amusingly Miroslav and myself hit this issue at the same time. Currently there is no way to pass a CONFIG_X to sources in target/, except via a Makefile rule (and filling with stubs).
Paolo says this is on purpose, CONFIG_X selectors are meant for devices and we try to avoid having config-devices.mak in config-target.h. Some know (arch-specific) limitations are: - MIPS ITU is accessed by coprocessor instr (ISA feature) - MIPS timer is accessed by coprocessor instr (ISA feature) - MIPS semihosting (ISA feature?) - ARM semihosting (ISA feature?) - ARMv7 NVIC (device) This series attempt to fix this the most trivial way, adding stubs for unreachable code. Philippe Mathieu-Daudé (2): target/arm: Add stubs to build with CONFIG_SEMIHOSTING disabled target/mips: Add stubs to build with CONFIG_SEMIHOSTING disabled target/arm/Makefile.objs | 3 ++- target/arm/arm-semi-stubs.c | 21 +++++++++++++++++++++ target/mips/Makefile.objs | 3 ++- target/mips/mips-semi-stubs.c | 23 +++++++++++++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 target/arm/arm-semi-stubs.c create mode 100644 target/mips/mips-semi-stubs.c -- 2.20.1