diff mbox

[3/3] stellaris: Use the 'unimplemented' device for parts we don't implement

Message ID 1484247815-15279-4-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell Jan. 12, 2017, 7:03 p.m. UTC
Use the 'unimplemented' dummy device to cover regions of the
SoC device memory map which we don't have proper device
implementations for yet.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/arm/stellaris.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Alex Bennée Jan. 27, 2017, 2:45 p.m. UTC | #1
Peter Maydell <peter.maydell@linaro.org> writes:

> Use the 'unimplemented' dummy device to cover regions of the
> SoC device memory map which we don't have proper device
> implementations for yet.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Looks good although I couldn't find any Stellaris images to test with so
I take the actual behaviour on trust ;-)

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  hw/arm/stellaris.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
> index 204502a..1f51e2b 100644
> --- a/hw/arm/stellaris.c
> +++ b/hw/arm/stellaris.c
> @@ -21,6 +21,7 @@
>  #include "exec/address-spaces.h"
>  #include "sysemu/sysemu.h"
>  #include "hw/char/pl011.h"
> +#include "hw/misc/unimp.h"
>
>  #define GPIO_A 0
>  #define GPIO_B 1
> @@ -1401,6 +1402,19 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
>              }
>          }
>      }
> +
> +    /* Add dummy regions for the devices we don't implement yet,
> +     * so guest accesses don't cause unlogged crashes.
> +     */
> +    create_unimplemented_device("wdtimer", 0x40000000, 0x1000);
> +    create_unimplemented_device("i2c-0", 0x40002000, 0x1000);
> +    create_unimplemented_device("i2c-2", 0x40021000, 0x1000);
> +    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);
> +    create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
>  }
>
>  /* FIXME: Figure out how to generate these from stellaris_boards.  */


--
Alex Bennée
diff mbox

Patch

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 204502a..1f51e2b 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -21,6 +21,7 @@ 
 #include "exec/address-spaces.h"
 #include "sysemu/sysemu.h"
 #include "hw/char/pl011.h"
+#include "hw/misc/unimp.h"
 
 #define GPIO_A 0
 #define GPIO_B 1
@@ -1401,6 +1402,19 @@  static void stellaris_init(const char *kernel_filename, const char *cpu_model,
             }
         }
     }
+
+    /* Add dummy regions for the devices we don't implement yet,
+     * so guest accesses don't cause unlogged crashes.
+     */
+    create_unimplemented_device("wdtimer", 0x40000000, 0x1000);
+    create_unimplemented_device("i2c-0", 0x40002000, 0x1000);
+    create_unimplemented_device("i2c-2", 0x40021000, 0x1000);
+    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);
+    create_unimplemented_device("flash-control", 0x400fd000, 0x1000);
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */