diff mbox

hw/s390x/ipl: The s390-ipl device is not hot-pluggable

Message ID 1502861458-30270-1-git-send-email-thuth@redhat.com
State New
Headers show

Commit Message

Thomas Huth Aug. 16, 2017, 5:30 a.m. UTC
The s390-ipl device can not be created by the user, since it is meant only
to  be instantiated once internally to load the ROMs and kernel. If the user
tries to do a "device_add s390-ipl" via the monitor later, QEMU aborts with
a "ROM images must be loaded at startup" error message.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/s390x/ipl.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Cornelia Huck Aug. 16, 2017, 12:33 p.m. UTC | #1
On Wed, 16 Aug 2017 07:30:58 +0200
Thomas Huth <thuth@redhat.com> wrote:

> The s390-ipl device can not be created by the user, since it is meant only
> to  be instantiated once internally to load the ROMs and kernel. If the user
> tries to do a "device_add s390-ipl" via the monitor later, QEMU aborts with
> a "ROM images must be loaded at startup" error message.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/s390x/ipl.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
> index cc36003..0d06fc1 100644
> --- a/hw/s390x/ipl.c
> +++ b/hw/s390x/ipl.c
> @@ -442,6 +442,8 @@ static void s390_ipl_class_init(ObjectClass *klass, void *data)
>      dc->reset = s390_ipl_reset;
>      dc->vmsd = &vmstate_ipl;
>      set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +    /* Reason: Loads the ROMs and thus can only be used one time - internally */
> +    dc->user_creatable = false;
>  }
>  
>  static const TypeInfo s390_ipl_info = {

Thanks, applied.
David Hildenbrand Aug. 17, 2017, 9:05 a.m. UTC | #2
On 16.08.2017 07:30, Thomas Huth wrote:
> The s390-ipl device can not be created by the user, since it is meant only
> to  be instantiated once internally to load the ROMs and kernel. If the user
> tries to do a "device_add s390-ipl" via the monitor later, QEMU aborts with
> a "ROM images must be loaded at startup" error message.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/s390x/ipl.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
> index cc36003..0d06fc1 100644
> --- a/hw/s390x/ipl.c
> +++ b/hw/s390x/ipl.c
> @@ -442,6 +442,8 @@ static void s390_ipl_class_init(ObjectClass *klass, void *data)
>      dc->reset = s390_ipl_reset;
>      dc->vmsd = &vmstate_ipl;
>      set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +    /* Reason: Loads the ROMs and thus can only be used one time - internally */
> +    dc->user_creatable = false;
>  }
>  
>  static const TypeInfo s390_ipl_info = {
> 

Late but still

Reviewed-by: David Hildenbrand <david@redhat.com>
Cornelia Huck Aug. 17, 2017, 9:16 a.m. UTC | #3
On Thu, 17 Aug 2017 11:05:35 +0200
David Hildenbrand <david@redhat.com> wrote:

> On 16.08.2017 07:30, Thomas Huth wrote:
> > The s390-ipl device can not be created by the user, since it is meant only
> > to  be instantiated once internally to load the ROMs and kernel. If the user
> > tries to do a "device_add s390-ipl" via the monitor later, QEMU aborts with
> > a "ROM images must be loaded at startup" error message.
> > 
> > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > ---
> >  hw/s390x/ipl.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
> > index cc36003..0d06fc1 100644
> > --- a/hw/s390x/ipl.c
> > +++ b/hw/s390x/ipl.c
> > @@ -442,6 +442,8 @@ static void s390_ipl_class_init(ObjectClass *klass, void *data)
> >      dc->reset = s390_ipl_reset;
> >      dc->vmsd = &vmstate_ipl;
> >      set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> > +    /* Reason: Loads the ROMs and thus can only be used one time - internally */
> > +    dc->user_creatable = false;
> >  }
> >  
> >  static const TypeInfo s390_ipl_info = {
> >   
> 
> Late but still
> 
> Reviewed-by: David Hildenbrand <david@redhat.com>
> 

Not too late for me to add the tag :)

Thanks!
diff mbox

Patch

diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
index cc36003..0d06fc1 100644
--- a/hw/s390x/ipl.c
+++ b/hw/s390x/ipl.c
@@ -442,6 +442,8 @@  static void s390_ipl_class_init(ObjectClass *klass, void *data)
     dc->reset = s390_ipl_reset;
     dc->vmsd = &vmstate_ipl;
     set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    /* Reason: Loads the ROMs and thus can only be used one time - internally */
+    dc->user_creatable = false;
 }
 
 static const TypeInfo s390_ipl_info = {