[Qemu-devel] [PATCH for-QEMU-4.1 v5 22/29] hw/arm: Express dependencies of sabrelite with Kconfig

Thomas Huth posted 29 patches 6 years, 9 months ago
Maintainers: Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, John Snow <jsnow@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
There is a newer version of this series
[Qemu-devel] [PATCH for-QEMU-4.1 v5 22/29] hw/arm: Express dependencies of sabrelite with Kconfig
Posted by Thomas Huth 6 years, 9 months ago
Add Kconfig dependencies for the Sabrelite / iMX6 machine.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak | 4 +---
 hw/arm/Kconfig                  | 7 +++++++
 hw/arm/Makefile.objs            | 3 ++-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 76508e3910..ef7dd7156a 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -33,6 +33,7 @@ CONFIG_NETDUINO2=y
 CONFIG_MPS2=y
 CONFIG_RASPI=y
 CONFIG_DIGIC=y
+CONFIG_SABRELITE=y
 
 CONFIG_VGA=y
 CONFIG_SSI_M25P80=y
@@ -40,13 +41,10 @@ CONFIG_IMX_FEC=y
 
 CONFIG_NRF51_SOC=y
 
-CONFIG_FSL_IMX6=y
 CONFIG_FSL_IMX25=y
 CONFIG_FSL_IMX7=y
 CONFIG_FSL_IMX6UL=y
 
-CONFIG_IMX_I2C=y
-
 CONFIG_PCIE_PORT=y
 CONFIG_XIO3130=y
 CONFIG_IOH3420=y
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 059fb8282c..065c7acf1b 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -177,6 +177,10 @@ config REALVIEW
     select DS1338 # I2C RTC+NVRAM
     select USB_OHCI
 
+config SABRELITE
+    bool
+    select FSL_IMX6
+
 config STELLARIS
     bool
     select ARM_V7M
@@ -289,6 +293,9 @@ config FSL_IMX31
 
 config FSL_IMX6
     bool
+    select A9MPCORE
+    select IMX
+    select IMX_I2C
 
 config ASPEED_SOC
     bool
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 4f591ca487..fadd69882c 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -22,6 +22,7 @@ obj-$(CONFIG_COLLIE) += collie.o
 obj-$(CONFIG_VERSATILE) += versatilepb.o
 obj-$(CONFIG_VEXPRESS) += vexpress.o
 obj-$(CONFIG_ZYNQ) += xilinx_zynq.o
+obj-$(CONFIG_SABRELITE) += sabrelite.o
 
 obj-$(CONFIG_ARM_V7M) += armv7m.o
 obj-$(CONFIG_EXYNOS4) += exynos4210.o
@@ -36,7 +37,7 @@ obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx-zynqmp.o xlnx-zcu102.o
 obj-$(CONFIG_XLNX_VERSAL) += xlnx-versal.o xlnx-versal-virt.o
 obj-$(CONFIG_FSL_IMX25) += fsl-imx25.o imx25_pdk.o
 obj-$(CONFIG_FSL_IMX31) += fsl-imx31.o kzm.o
-obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o sabrelite.o
+obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o
 obj-$(CONFIG_ASPEED_SOC) += aspeed_soc.o aspeed.o
 obj-$(CONFIG_MPS2) += mps2.o
 obj-$(CONFIG_MPS2) += mps2-tz.o
-- 
2.21.0


Re: [Qemu-devel] [PATCH for-QEMU-4.1 v5 22/29] hw/arm: Express dependencies of sabrelite with Kconfig
Posted by Philippe Mathieu-Daudé 6 years, 9 months ago
Hi Thomas,

On 4/18/19 8:00 PM, Thomas Huth wrote:
> Add Kconfig dependencies for the Sabrelite / iMX6 machine.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak | 4 +---
>  hw/arm/Kconfig                  | 7 +++++++
>  hw/arm/Makefile.objs            | 3 ++-
>  3 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index 76508e3910..ef7dd7156a 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -33,6 +33,7 @@ CONFIG_NETDUINO2=y
>  CONFIG_MPS2=y
>  CONFIG_RASPI=y
>  CONFIG_DIGIC=y
> +CONFIG_SABRELITE=y
>  
>  CONFIG_VGA=y
>  CONFIG_SSI_M25P80=y
> @@ -40,13 +41,10 @@ CONFIG_IMX_FEC=y
>  
>  CONFIG_NRF51_SOC=y
>  
> -CONFIG_FSL_IMX6=y
>  CONFIG_FSL_IMX25=y
>  CONFIG_FSL_IMX7=y
>  CONFIG_FSL_IMX6UL=y
>  
> -CONFIG_IMX_I2C=y
> -
>  CONFIG_PCIE_PORT=y
>  CONFIG_XIO3130=y
>  CONFIG_IOH3420=y
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 059fb8282c..065c7acf1b 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -177,6 +177,10 @@ config REALVIEW
>      select DS1338 # I2C RTC+NVRAM
>      select USB_OHCI
>  
> +config SABRELITE
> +    bool
> +    select FSL_IMX6

This one crashes:

$ qemu-system-aarch64 -display none -M sabrelite
ERROR:/source/qemu/qom/object.c:454:object_initialize_with_type:
assertion failed: (type != NULL)
Aborted (core dumped)

(gdb) bt
#3  0x00007f71139fb4de in g_assertion_message_expr () at
/lib64/libglib-2.0.so.0
[...]
#8  0x000055a148c5eec9 in sysbus_init_child_obj
    (parent=parent@entry=0x55a14a2fbe10,
childname=childname@entry=0x55a148ed3713 "eth",
child=child@entry=0x55a14a33e0a0, childsize=childsize@entry=27296,
childtype=childtype@entry=0x55a148ed370a "imx.enet")
    at /source/qemu/hw/core/sysbus.c:373
#9  0x000055a148b37b82 in fsl_imx6_init (obj=0x55a14a2fbe10) at
/source/qemu/hw/arm/fsl-imx6.c:91
#10 0x000055a148d0fb17 in object_initialize_with_type
(data=data@entry=0x55a14a2fbe10, size=size@entry=299248,
type=0x55a14a27dbd0) at /source/qemu/qom/object.c:466
#11 0x000055a148d0fe5d in object_initialize
(data=data@entry=0x55a14a2fbe10, size=size@entry=299248,
typename=typename@entry=0x55a148ed3328 "fsl,imx6") at
/source/qemu/qom/object.c:474
#12 0x000055a148b35ced in sabrelite_init (machine=0x55a14a2c1300) at
/source/qemu/hw/arm/sabrelite.c:58
#13 0x000055a148c608bb in machine_run_board_init
(machine=0x55a14a2c1300) at /source/qemu/hw/core/machine.c:1030
[...]

Then:

$ qemu-system-aarch64 -display none -nodefaults -M sabrelite
qemu-system-aarch64: Unknown device 'sst25vf016b' for bus 'SSI'
Aborted (core dumped)

I got it working using the following snippet:

-- >8 --
@@ -186,6 +186,7 @@ config REALVIEW
 config SABRELITE
     bool
     select FSL_IMX6
+    select SSI_M25P80

 config STELLARIS
     bool
@@ -321,6 +322,7 @@ config FSL_IMX6
     select A9MPCORE
     select IMX
     select IMX_I2C
+    select IMX_FEC
     select SDHCI

 config ASPEED_SOC
---

With this snippet amended:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> +
>  config STELLARIS
>      bool
>      select ARM_V7M
> @@ -289,6 +293,9 @@ config FSL_IMX31
>  
>  config FSL_IMX6
>      bool
> +    select A9MPCORE
> +    select IMX
> +    select IMX_I2C
>  
>  config ASPEED_SOC
>      bool
> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
> index 4f591ca487..fadd69882c 100644
> --- a/hw/arm/Makefile.objs
> +++ b/hw/arm/Makefile.objs
> @@ -22,6 +22,7 @@ obj-$(CONFIG_COLLIE) += collie.o
>  obj-$(CONFIG_VERSATILE) += versatilepb.o
>  obj-$(CONFIG_VEXPRESS) += vexpress.o
>  obj-$(CONFIG_ZYNQ) += xilinx_zynq.o
> +obj-$(CONFIG_SABRELITE) += sabrelite.o
>  
>  obj-$(CONFIG_ARM_V7M) += armv7m.o
>  obj-$(CONFIG_EXYNOS4) += exynos4210.o
> @@ -36,7 +37,7 @@ obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx-zynqmp.o xlnx-zcu102.o
>  obj-$(CONFIG_XLNX_VERSAL) += xlnx-versal.o xlnx-versal-virt.o
>  obj-$(CONFIG_FSL_IMX25) += fsl-imx25.o imx25_pdk.o
>  obj-$(CONFIG_FSL_IMX31) += fsl-imx31.o kzm.o
> -obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o sabrelite.o
> +obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o
>  obj-$(CONFIG_ASPEED_SOC) += aspeed_soc.o aspeed.o
>  obj-$(CONFIG_MPS2) += mps2.o
>  obj-$(CONFIG_MPS2) += mps2-tz.o
> 

Re: [Qemu-devel] [PATCH for-QEMU-4.1 v5 22/29] hw/arm: Express dependencies of sabrelite with Kconfig
Posted by Thomas Huth 6 years, 9 months ago
On 25/04/2019 18.43, Philippe Mathieu-Daudé wrote:
> Hi Thomas,
> 
> On 4/18/19 8:00 PM, Thomas Huth wrote:
>> Add Kconfig dependencies for the Sabrelite / iMX6 machine.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  default-configs/arm-softmmu.mak | 4 +---
>>  hw/arm/Kconfig                  | 7 +++++++
>>  hw/arm/Makefile.objs            | 3 ++-
>>  3 files changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
>> index 76508e3910..ef7dd7156a 100644
>> --- a/default-configs/arm-softmmu.mak
>> +++ b/default-configs/arm-softmmu.mak
>> @@ -33,6 +33,7 @@ CONFIG_NETDUINO2=y
>>  CONFIG_MPS2=y
>>  CONFIG_RASPI=y
>>  CONFIG_DIGIC=y
>> +CONFIG_SABRELITE=y
>>  
>>  CONFIG_VGA=y
>>  CONFIG_SSI_M25P80=y
>> @@ -40,13 +41,10 @@ CONFIG_IMX_FEC=y
>>  
>>  CONFIG_NRF51_SOC=y
>>  
>> -CONFIG_FSL_IMX6=y
>>  CONFIG_FSL_IMX25=y
>>  CONFIG_FSL_IMX7=y
>>  CONFIG_FSL_IMX6UL=y
>>  
>> -CONFIG_IMX_I2C=y
>> -
>>  CONFIG_PCIE_PORT=y
>>  CONFIG_XIO3130=y
>>  CONFIG_IOH3420=y
>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>> index 059fb8282c..065c7acf1b 100644
>> --- a/hw/arm/Kconfig
>> +++ b/hw/arm/Kconfig
>> @@ -177,6 +177,10 @@ config REALVIEW
>>      select DS1338 # I2C RTC+NVRAM
>>      select USB_OHCI
>>  
>> +config SABRELITE
>> +    bool
>> +    select FSL_IMX6
> 
> This one crashes:
> 
> $ qemu-system-aarch64 -display none -M sabrelite
> ERROR:/source/qemu/qom/object.c:454:object_initialize_with_type:
> assertion failed: (type != NULL)
> Aborted (core dumped)

Weird, I was pretty sure to have tested all boards individually ... I
must accidentally have skipped this one. Thanks a lot for testing, I'll
fix it in v6.

 Thomas