From: Cornelia Huck <cohuck@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: Pierre Morel <pmorel@linux.vnet.ibm.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] hw/s390x/sclp: Mark the sclp device with user_creatable = false
Date: Thu, 5 Oct 2017 10:14:09 +0200 [thread overview]
Message-ID: <20171005101409.69fae5de.cohuck@redhat.com> (raw)
In-Reply-To: <7b42b017-e216-854f-a4a1-4393811cb69f@redhat.com>
On Wed, 4 Oct 2017 19:06:57 +0200
Thomas Huth <thuth@redhat.com> wrote:
> On 04.10.2017 17:18, Pierre Morel wrote:
> > On 04/10/2017 15:53, Thomas Huth wrote:
> >> The "sclp" device is just an internal device that can not be instantiated
> >> by the users. If they try to use it, they only get a simple error
> >> message:
> >>
> >> $ qemu-system-s390x -nographic -device sclp
> >> qemu-system-s390x: Option '-device s390-sclp-event-facility' cannot be
> >> handled by this machine
> >>
> >> Since sclp_init() tries to create a TYPE_SCLP_EVENT_FACILITY which is
> >> a non-pluggable sysbus device, there is really no way that the "sclp"
> >> device can be used by the user, so let's set the user_creatable = false
> >> accordingly.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >> hw/s390x/sclp.c | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> >> index 30aefbf..9be0cb8 100644
> >> --- a/hw/s390x/sclp.c
> >> +++ b/hw/s390x/sclp.c
> >> @@ -606,6 +606,11 @@ static void sclp_class_init(ObjectClass *oc, void
> >> *data)
> >> dc->realize = sclp_realize;
> >> dc->hotpluggable = false;
> >> set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> >> + /*
> >> + * Reason: Creates TYPE_SCLP_EVENT_FACILITY in sclp_init
> >> + * which is a non-pluggable sysbus device
> >> + */
> >> + dc->user_creatable = false;
> >>
> >> sc->read_SCP_info = read_SCP_info;
> >> sc->read_storage_element0_info = read_storage_element0_info;
> >>
> >
> > I must miss something.
> > Why is the sclp device not a SYS_BUS_DEVICE ?
> > The problem seems to come from the heterogeneity of the sclp and sclp
> > generated devices.
>
> I wonder whether it should rather be the other way round: Why is
> TYPE_SCLP_EVENT_FACILITY a sysbus device? Sysbus is an abstraction for
> simple on-board devices, while TYPE_SCLP_EVENT_FACILITY seems rather to
> be a pseudo-device... so it should rather simply be of TYPE_DEVICE
> instead? Or do I miss something?
We do have a number of devices that are sysbus because you could not
have bus-less devices back then. We might want to convert them to a
simple TYPE_DEVICE, but this needs double-checking regarding resets and
other things and I'd rather not spend that much time on that right now.
next prev parent reply other threads:[~2017-10-05 8:14 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-04 13:53 [Qemu-devel] [PATCH] hw/s390x/sclp: Mark the sclp device with user_creatable = false Thomas Huth
2017-10-04 14:00 ` Claudio Imbrenda
2017-10-04 14:22 ` Farhan Ali
2017-10-04 14:56 ` Halil Pasic
2017-10-04 15:18 ` Pierre Morel
2017-10-04 15:42 ` Cornelia Huck
2017-10-04 17:06 ` Thomas Huth
2017-10-05 8:14 ` Cornelia Huck [this message]
2017-10-05 8:04 ` Cornelia Huck
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=20171005101409.69fae5de.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=pmorel@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.