@@ -1390,11 +1390,21 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
/* Add dummy regions for the devices we don't implement yet,
* so guest accesses don't cause unlogged crashes.
*/
- create_unimplemented_device("PWM", 0x40028000, 0x1000);
- create_unimplemented_device("QEI-0", 0x4002c000, 0x1000);
- create_unimplemented_device("QEI-1", 0x4002d000, 0x1000);
- create_unimplemented_device("analogue-comparator", 0x4003c000, 0x1000);
- create_unimplemented_device("hibernation", 0x400fc000, 0x1000);
+ if (DEV_CAP(1, PWM)) {
+ create_unimplemented_device("PWM", 0x40028000, 0x1000);
+ }
+ if (DEV_CAP(2, QEI(0))) {
+ create_unimplemented_device("QEI-0", 0x4002c000, 0x1000);
+ }
+ if (DEV_CAP(2, QEI(0))) {
+ create_unimplemented_device("QEI-1", 0x4002d000, 0x1000);
+ }
+ if (DEV_CAP(2, COMP(0))) {
+ create_unimplemented_device("analogue-comparator", 0x4003c000, 0x1000);
+ }
+ if (DEV_CAP(1, HIB)) {
+ create_unimplemented_device("hibernation", 0x400fc000, 0x1000);
+ }
create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
armv7m_load_kernel(ARM_CPU(first_cpu), ms->kernel_filename, 0, flash_size);
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/arm/stellaris.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)