[Qemu-devel] [PATCH] hw/misc/macio: Add the nvram as child of the MacIO south bridge

Philippe Mathieu-Daudé posted 1 patch 4 years, 10 months ago
Test checkpatch passed
Test s390x failed
Test asan passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-clang@ubuntu failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190701123441.13412-1-philmd@redhat.com
Maintainers: David Gibson <david@gibson.dropbear.id.au>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
hw/misc/macio/macio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[Qemu-devel] [PATCH] hw/misc/macio: Add the nvram as child of the MacIO south bridge
Posted by Philippe Mathieu-Daudé 4 years, 10 months ago
Avoid another QOM orphean, link it back to its parent.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/misc/macio/macio.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
index 82492096f8..e02882be28 100644
--- a/hw/misc/macio/macio.c
+++ b/hw/misc/macio/macio.c
@@ -243,7 +243,8 @@ static void macio_oldworld_init(Object *obj)
 
     macio_init_child_obj(s, "cuda", &s->cuda, sizeof(s->cuda), TYPE_CUDA);
 
-    object_initialize(&os->nvram, sizeof(os->nvram), TYPE_MACIO_NVRAM);
+    object_initialize_child(s, "nvram",  &os->nvram, sizeof(os->nvram),
+                            TYPE_MACIO_NVRAM, &error_abort, NULL);
     dev = DEVICE(&os->nvram);
     qdev_prop_set_uint32(dev, "size", 0x2000);
     qdev_prop_set_uint32(dev, "it_shift", 4);
-- 
2.20.1


Re: [Qemu-devel] [PATCH] hw/misc/macio: Add the nvram as child of the MacIO south bridge
Posted by Mark Cave-Ayland 4 years, 10 months ago
On 01/07/2019 13:34, Philippe Mathieu-Daudé wrote:

> Avoid another QOM orphean, link it back to its parent.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/misc/macio/macio.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index 82492096f8..e02882be28 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -243,7 +243,8 @@ static void macio_oldworld_init(Object *obj)
>  
>      macio_init_child_obj(s, "cuda", &s->cuda, sizeof(s->cuda), TYPE_CUDA);
>  
> -    object_initialize(&os->nvram, sizeof(os->nvram), TYPE_MACIO_NVRAM);
> +    object_initialize_child(s, "nvram",  &os->nvram, sizeof(os->nvram),
> +                            TYPE_MACIO_NVRAM, &error_abort, NULL);
>      dev = DEVICE(&os->nvram);
>      qdev_prop_set_uint32(dev, "size", 0x2000);
>      qdev_prop_set_uint32(dev, "it_shift", 4);

Hmmm actually I think this should be using macio_init_child_obj() which does the same
as you have done above, plus it sets the qbus correctly too. And also a minor nit on
the subject line: you should mention that this just for Old World Macs, since for New
World Macs the NVRAM is located elsewhere.

In fact it looks like there are also a few cases in macio_newworld_realize() where
this function should be used too, if you fancy touching those up whilst you're in the
area.


ATB,

Mark.

Re: [Qemu-devel] [PATCH] hw/misc/macio: Add the nvram as child of the MacIO south bridge
Posted by no-reply@patchew.org 4 years, 10 months ago
Patchew URL: https://patchew.org/QEMU/20190701123441.13412-1-philmd@redhat.com/



Hi,

This series failed build test on s390x host. Please find the details below.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e

echo
echo "=== ENV ==="
env

echo
echo "=== PACKAGES ==="
rpm -qa

echo
echo "=== UNAME ==="
uname -a

CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===

  CC      hw/misc/macio/pmu.o
  CC      hw/misc/macio/mac_dbdma.o
/var/tmp/patchew-tester-tmp-58xxnaif/src/hw/misc/macio/macio.c: In function ‘macio_oldworld_init’:
/var/tmp/patchew-tester-tmp-58xxnaif/src/hw/misc/macio/macio.c:246:29: error: passing argument 1 of ‘object_initialize_child’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  246 |     object_initialize_child(s, "nvram",  &os->nvram, sizeof(os->nvram),
      |                             ^
      |                             |


The full log is available at
http://patchew.org/logs/20190701123441.13412-1-philmd@redhat.com/testing.s390x/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com