[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/17] s390/sclp: add reset() functions
From: |
Christian Borntraeger |
Subject: |
[Qemu-devel] [PULL 11/17] s390/sclp: add reset() functions |
Date: |
Tue, 24 Sep 2013 09:27:45 +0200 |
From: Heinz Graalfs <address@hidden>
Add reset() functions for event-facility, sclpconsole, and sclpquiesce.
The reset() functions perform variable initialization
at IPL and e.g. when monitor system_reset is called.
Signed-off-by: Heinz Graalfs <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Alexander Graf <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
---
hw/char/sclpconsole.c | 17 +++++++++++++----
hw/s390x/event-facility.c | 9 +++++++++
hw/s390x/sclpquiesce.c | 8 ++++++++
3 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c
index 776f284..12488af 100644
--- a/hw/char/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -228,10 +228,6 @@ static int console_init(SCLPEvent *event)
return -1;
}
console_available = true;
- scon->iov_sclp = 0;
- scon->iov_bs = 0;
- scon->iov_data_len = 0;
- scon->iov_sclp_rest = 0;
event->event_type = SCLP_EVENT_ASCII_CONSOLE_DATA;
if (scon->chr) {
qemu_chr_add_handlers(scon->chr, chr_can_read,
@@ -243,6 +239,18 @@ static int console_init(SCLPEvent *event)
return 0;
}
+static void console_reset(DeviceState *dev)
+{
+ SCLPEvent *event = SCLP_EVENT(dev);
+ SCLPConsole *scon = DO_UPCAST(SCLPConsole, event, event);
+
+ event->event_pending = false;
+ scon->iov_sclp = 0;
+ scon->iov_bs = 0;
+ scon->iov_data_len = 0;
+ scon->iov_sclp_rest = 0;
+}
+
static int console_exit(SCLPEvent *event)
{
return 0;
@@ -259,6 +267,7 @@ static void console_class_init(ObjectClass *klass, void
*data)
SCLPEventClass *ec = SCLP_EVENT_CLASS(klass);
dc->props = console_properties;
+ dc->reset = console_reset;
dc->vmsd = &vmstate_sclpconsole;
ec->init = console_init;
ec->exit = console_exit;
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index a3aceef..d45968f 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
@@ -338,10 +338,19 @@ static int init_event_facility(S390SCLPDevice *sdev)
return 0;
}
+static void reset_event_facility(DeviceState *dev)
+{
+ S390SCLPDevice *sdev = SCLP_S390_DEVICE(dev);
+
+ sdev->ef->receive_mask = 0;
+}
+
static void init_event_facility_class(ObjectClass *klass, void *data)
{
+ DeviceClass *dc = DEVICE_CLASS(klass);
S390SCLPDeviceClass *k = SCLP_S390_DEVICE_CLASS(klass);
+ dc->reset = reset_event_facility;
k->init = init_event_facility;
}
diff --git a/hw/s390x/sclpquiesce.c b/hw/s390x/sclpquiesce.c
index d335251..73a18ea 100644
--- a/hw/s390x/sclpquiesce.c
+++ b/hw/s390x/sclpquiesce.c
@@ -105,11 +105,19 @@ static int quiesce_init(SCLPEvent *event)
return 0;
}
+static void quiesce_reset(DeviceState *dev)
+{
+ SCLPEvent *event = SCLP_EVENT(dev);
+
+ event->event_pending = false;
+}
+
static void quiesce_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
SCLPEventClass *k = SCLP_EVENT_CLASS(klass);
+ dc->reset = quiesce_reset;
dc->vmsd = &vmstate_sclpquiesce;
k->init = quiesce_init;
--
1.8.3.1
- [Qemu-devel] [PULL 00/17] s390 patches, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 09/17] s390/sclpconsole: Add code to support live migration for sclpconsole, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 17/17] s390/sclplmconsole: Add support for SCLP line-mode console, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 10/17] s390/sclpquiesce: Add code to support live migration, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 11/17] s390/sclp: add reset() functions,
Christian Borntraeger <=
- [Qemu-devel] [PULL 12/17] s390/eventfacility: fix multiple Read Event Data sources, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 13/17] s390/eventfacility: Fix receive/send masks, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 16/17] s390/ebcdic: Move conversion tables to header file, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 14/17] s390/eventfacility: remove unused event_type variable, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 05/17] s390/cpu: Make setcc() function available to other files, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 03/17] s390/ipl: Fix waiting for virtio processing, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 15/17] s390/eventfacility: allow childs to handle more than 1 event type, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 08/17] s390/sclpconsole: modify definition of input buffer, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 02/17] s390/dump: zero out padding bytes in notes sections, Christian Borntraeger, 2013/09/24
- [Qemu-devel] [PULL 01/17] s390/kvm: Add check for priviledged SCLP handler, Christian Borntraeger, 2013/09/24