mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-26 09:28:38 -07:00
We model Arm "Subsystems for Embedded" SoC subsystems using generic code which is split into various sub-devices which are configurable by QOM properties to handle the behaviour differences between the SSE subsystems we implement. Currently the only sub-device which needs to change is the IOTKIT_SYSCTL device, and we do this with a mix of properties that directly specify divergent behaviours (eg CPUWAIT_RST) and passing it the SYS_VERSION register value as a way for it to distinguish IoTKit from SSE-200. The "pass SYS_VERSION" approach is already a bit hacky, since the IOTKIT_SYSCTL device has to know that the different part of the register value happens to be bits [31:28]. For SSE-300 this register is renamed SOC_IDENTITY and has a different format entirely, all of whose fields can be configured by the SoC integrator when they integrate the SSE into their SoC, and so "pass SYS_VERSION" breaks down completely. Switch to using a simple integer property representing an internal-to-QEMU enumeration of the SSE flavour. For the moment we only need this in IOTKIT_SYSCTL, but as we add SSE-300 support a few of the other devices will also need to know. We define and permit a value for the SSE-300 so we can start using it in subsequent commits which add SSE-300 support. The now-redundant is_sse200 flag in IoTKitSysCtl will be removed in the following commit. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210219144617.4782-6-peter.maydell@linaro.org |
||
|---|---|---|
| .. | ||
| allwinner-a10.h | ||
| allwinner-h3.h | ||
| armsse-version.h | ||
| armsse.h | ||
| armv7m.h | ||
| aspeed.h | ||
| aspeed_soc.h | ||
| bcm2835_peripherals.h | ||
| bcm2836.h | ||
| boot.h | ||
| digic.h | ||
| exynos4210.h | ||
| fdt.h | ||
| fsl-imx6.h | ||
| fsl-imx6ul.h | ||
| fsl-imx7.h | ||
| fsl-imx25.h | ||
| fsl-imx31.h | ||
| linux-boot-if.h | ||
| msf2-soc.h | ||
| npcm7xx.h | ||
| nrf51.h | ||
| nrf51_soc.h | ||
| omap.h | ||
| primecell.h | ||
| pxa.h | ||
| raspi_platform.h | ||
| sharpsl.h | ||
| smmu-common.h | ||
| smmuv3.h | ||
| soc_dma.h | ||
| stm32f205_soc.h | ||
| stm32f405_soc.h | ||
| sysbus-fdt.h | ||
| virt.h | ||
| xlnx-versal.h | ||
| xlnx-zynqmp.h | ||