Commit 4e872a3f authored by Christian Borntraeger's avatar Christian Borntraeger
Browse files

s390: provide I/O subsystem reset



Provide a function that resets the I/O subsystem.

Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Acked-by: default avatarAlexander Graf <agraf@suse.de>
parent 268846ba
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -17,6 +17,21 @@
#include "css.h"
#include "virtio-ccw.h"

void io_subsystem_reset(void)
{
    DeviceState *css, *sclp;

    css = DEVICE(object_resolve_path_type("", "virtual-css-bridge", NULL));
    if (css) {
        qdev_reset_all(css);
    }
    sclp = DEVICE(object_resolve_path_type("",
                  "s390-sclp-event-facility", NULL));
    if (sclp) {
        qdev_reset_all(sclp);
    }
}

static int virtio_ccw_hcall_notify(const uint64_t *args)
{
    uint64_t subch_id = args[0];
+1 −0
Original line number Diff line number Diff line
@@ -400,6 +400,7 @@ void cpu_unlock(void);
typedef struct SubchDev SubchDev;

#ifndef CONFIG_USER_ONLY
extern void io_subsystem_reset(void);
SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid,
                         uint16_t schid);
bool css_subch_visible(SubchDev *sch);