On Fri, 10 Jan 2025 at 16:02, Philippe Mathieu-Daudé <[email protected]> wrote:
>
> Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
> ---
> hw/arm/stellaris.c | 20 +++++++++++++++-----
> 1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
> index d87587225c2..c89522332e2 100644
> --- a/hw/arm/stellaris.c
> +++ b/hw/arm/stellaris.c
> @@ -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))) {
Should be QEI(1), I guess.
> + 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);
> + }
Again, it would be helpful to flag up the behaviour changes here.
I think:
* both boards have the PWM bit set : no change
* both boards have COMP(0) set : no change
* both boards have HIB set : no change
* LM3S6965EVB sets QEI(0) and QEI(1), but LM3S811EVB does not:
so we are (correctly) removing the unimplemented-device regions
on that board type.
thanks
-- PMM