diff options
author | Jason J. Herne <jjherne@linux.ibm.com> | 2019-04-04 10:34:20 -0400 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2019-04-12 12:39:52 +0200 |
commit | 44445d8668f458dec0ecb8bcecdcbf24e6d4251b (patch) | |
tree | 1aa420b280325cea5aab9f9b8d65d77d45de078f /hw/s390x/s390-ccw.c | |
parent | 532cc6da74ec25b5ba6893b5757c977d54582949 (diff) | |
download | qemu-44445d8668f458dec0ecb8bcecdcbf24e6d4251b.zip qemu-44445d8668f458dec0ecb8bcecdcbf24e6d4251b.tar.gz qemu-44445d8668f458dec0ecb8bcecdcbf24e6d4251b.tar.bz2 |
s390 vfio-ccw: Add bootindex property and IPLB data
Add bootindex property and iplb data for vfio-ccw devices. This allows us to
forward boot information into the bios for vfio-ccw devices.
Refactor s390_get_ccw_device() to return device type. This prevents us from
having to use messy casting logic in several places.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1554388475-18329-2-git-send-email-jjherne@linux.ibm.com>
[thuth: fixed "typedef struct VFIOCCWDevice" build failure with clang]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'hw/s390x/s390-ccw.c')
-rw-r--r-- | hw/s390x/s390-ccw.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c index cad91ee..f5f025d 100644 --- a/hw/s390x/s390-ccw.c +++ b/hw/s390x/s390-ccw.c @@ -124,6 +124,14 @@ static void s390_ccw_unrealize(S390CCWDevice *cdev, Error **errp) g_free(cdev->mdevid); } +static void s390_ccw_instance_init(Object *obj) +{ + S390CCWDevice *dev = S390_CCW_DEVICE(obj); + + device_add_bootindex_property(obj, &dev->bootindex, "bootindex", + "/disk@0,0", DEVICE(obj), NULL); +} + static void s390_ccw_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -137,6 +145,7 @@ static void s390_ccw_class_init(ObjectClass *klass, void *data) static const TypeInfo s390_ccw_info = { .name = TYPE_S390_CCW, .parent = TYPE_CCW_DEVICE, + .instance_init = s390_ccw_instance_init, .instance_size = sizeof(S390CCWDevice), .class_size = sizeof(S390CCWDeviceClass), .class_init = s390_ccw_class_init, |