From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: peter.maydell@linaro.org
Cc: borntraeger@de.ibm.com, qemu-devel@nongnu.org, agraf@suse.de,
David Hildenbrand <dahi@linux.vnet.ibm.com>,
jfrei@linux.vnet.ibm.com,
Cornelia Huck <cornelia.huck@de.ibm.com>
Subject: [Qemu-devel] [PULL 10/23] sclp/s390: rework sclp cpu hotplug device notification
Date: Mon, 7 Sep 2015 16:48:24 +0200 [thread overview]
Message-ID: <1441637317-14471-11-git-send-email-cornelia.huck@de.ibm.com> (raw)
In-Reply-To: <1441637317-14471-1-git-send-email-cornelia.huck@de.ibm.com>
From: David Hildenbrand <dahi@linux.vnet.ibm.com>
Let's get rid of this strange local variable + irq logic and
work directly on the QOM. (hint: what happens if two such devices
are created?)
We could introduce proper QOM class + state for the cpu hotplug device,
however that would result in too much overhead for a simple
"trigger_signal" function.
Also remove one unnecessary class function initialization.
Reviewed-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
hw/s390x/sclpcpu.c | 26 ++++++--------------------
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/hw/s390x/sclpcpu.c b/hw/s390x/sclpcpu.c
index 2fe8b5a..615ac06 100644
--- a/hw/s390x/sclpcpu.c
+++ b/hw/s390x/sclpcpu.c
@@ -25,13 +25,16 @@ typedef struct ConfigMgtData {
uint8_t event_qualifier;
} QEMU_PACKED ConfigMgtData;
-static qemu_irq *irq_cpu_hotplug; /* Only used in this file */
-
#define EVENT_QUAL_CPU_CHANGE 1
void raise_irq_cpu_hotplug(void)
{
- qemu_irq_raise(*irq_cpu_hotplug);
+ Object *obj = object_resolve_path_type("", TYPE_SCLP_CPU_HOTPLUG, NULL);
+
+ SCLP_EVENT(obj)->event_pending = true;
+
+ /* Trigger SCLP read operation */
+ sclp_service_interrupt(0);
}
static unsigned int send_mask(void)
@@ -70,31 +73,14 @@ static int read_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr,
return 1;
}
-static void trigger_signal(void *opaque, int n, int level)
-{
- SCLPEvent *event = opaque;
- event->event_pending = true;
-
- /* Trigger SCLP read operation */
- sclp_service_interrupt(0);
-}
-
-static int irq_cpu_hotplug_init(SCLPEvent *event)
-{
- irq_cpu_hotplug = qemu_allocate_irqs(trigger_signal, event, 1);
- return 0;
-}
-
static void cpu_class_init(ObjectClass *oc, void *data)
{
SCLPEventClass *k = SCLP_EVENT_CLASS(oc);
DeviceClass *dc = DEVICE_CLASS(oc);
- k->init = irq_cpu_hotplug_init;
k->get_send_mask = send_mask;
k->get_receive_mask = receive_mask;
k->read_event_data = read_event_data;
- k->write_event_data = NULL;
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
}
--
2.5.1
next prev parent reply other threads:[~2015-09-07 14:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-07 14:48 [Qemu-devel] [PULL 00/23] s390x: further patches Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 01/23] s390x/css: handle ccw-0 TIC correctly Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 02/23] s390x/css: ccw-0 enforces count > 0 Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 03/23] s390x/event-facility: fix receive mask check Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 04/23] s390x/css: start with cleared cstat/dstat Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 05/23] s390x/event-facility: fix location of receive mask Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 06/23] pc-bios/s390-ccw: Device detection in higher subchannel sets Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 07/23] pc-bios/s390-ccw: rebuild image Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 08/23] s390x/kvm: make setting of in-kernel irq routes more efficient Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 09/23] s390x/gdb: support reading/writing of control registers Cornelia Huck
2015-09-07 14:48 ` Cornelia Huck [this message]
2015-09-07 14:48 ` [Qemu-devel] [PULL 11/23] s390/sclp: rework sclp event facility initialization + device realization Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 12/23] s390/sclp: replace sclp event types with proper defines Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 13/23] s390/sclp: temporarily fix unassignment/reassignment of memory subregions Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 14/23] s390/sclp: introduce a root sclp device Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 15/23] s390/sclp: move sclp_execute related functions into the SCLP class Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 16/23] s390/sclp: move sclp_service_interrupt into the sclp device Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 17/23] s390: no need to manually parse for slots and maxmem Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 18/23] s390: disallow memory hotplug for the s390-virtio machine Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 19/23] s390/sclp: ignore memory hotplug operations if it is disabled Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 20/23] s390: move memory calculation into the sclp device Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 21/23] s390: unify allocation of initial memory Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 22/23] s390/sclp: store the increment_size in the sclp device Cornelia Huck
2015-09-07 14:48 ` [Qemu-devel] [PULL 23/23] s390/sclp: simplify calculation of rnmax Cornelia Huck
2015-09-07 16:18 ` [Qemu-devel] [PULL 00/23] s390x: further patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441637317-14471-11-git-send-email-cornelia.huck@de.ibm.com \
--to=cornelia.huck@de.ibm.com \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=dahi@linux.vnet.ibm.com \
--cc=jfrei@linux.vnet.ibm.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).