qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c575fa: hw/s390x/ipl: Bail out if the network


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c575fa: hw/s390x/ipl: Bail out if the network bootloader c...
Date: Fri, 09 Mar 2018 02:33:18 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c575fa678bb36f35c9012fa29b104643d9707c58
      
https://github.com/qemu/qemu/commit/c575fa678bb36f35c9012fa29b104643d9707c58
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  hw/s390x/ipl: Bail out if the network bootloader can not be found

If QEMU fails to load 's390-netboot.img', the guest firmware currently
loops forever and just floods the console with "Network boot device
detected" messages. The code in ipl.c apparently already tried to stop
the VM with vm_stop() in this case, but this is in vain since the run
state is later reset due to a call to vm_start() from vl.c again.
To avoid the ugly firmware loop, let's simply exit QEMU directly instead
since it just does not make sense to continue if the required firmware
image can not be loaded. While we're at it, also add the file name of
the netboot binary to the error message, so that the user has a better
hint about what is missing.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Reviewed-by: Farhan Ali <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 5600086976d62e89afbe3ec39915baab0bcca54f
      
https://github.com/qemu/qemu/commit/5600086976d62e89afbe3ec39915baab0bcca54f
  Author: Collin L. Walling <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390/ipl: only print boot menu error if -boot menu=on was specified

It is possible that certain QEMU configurations may not
create an IPLB (such as when -kernel is provided). In
this case, a misleading error message will be printed
stating that the "boot menu is not supported for this
device type".

To amend this, only print this message iff boot menu=on
was provided on the commandline. Otherwise, return silently.

While we're at it, remove trailing periods from error
messages.

Signed-off-by: Collin L. Walling <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: adab99be663afc196c027ded2cefb0b931d8c19e
      
https://github.com/qemu/qemu/commit/adab99be663afc196c027ded2cefb0b931d8c19e
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M target/s390x/cpu.h
    M target/s390x/mem_helper.c
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  target/s390x: Remove leading underscores from #defines

We should not use leading underscores followed by a capital letter
in #defines since such identifiers are reserved by the C standard.

For ASCE_ORIGIN, REGION_ENTRY_ORIGIN and SEGMENT_ENTRY_ORIGIN I also
added parentheses around the value to silence an error message from
checkpatch.pl.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 3c4e9baacf4d9efc74a5fd17ed42bc6c7fcbfb2f
      
https://github.com/qemu/qemu/commit/3c4e9baacf4d9efc74a5fd17ed42bc6c7fcbfb2f
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  hw/s390x: Add the possibility to specify the netboot image on the command line

The file name of the netboot binary is currently hard-coded to
"s390-netboot.img", without a possibility for the user to select
an alternative firmware image here. That's unfortunate, especially
since the basics are already there: The filename is a property of
the s390-ipl device. So we just have to add a check whether the user
already provided the property and only set the default if the string
is still empty. Now it is possible to select a different firmware
image with "-global s390-ipl.netboot_fw=/path/to/s390-netboot.img".

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 81ce6aa51af65149712228943c89042896ded392
      
https://github.com/qemu/qemu/commit/81ce6aa51af65149712228943c89042896ded392
  Author: David Hildenbrand <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M numa.c

  Log Message:
  -----------
  numa: we don't implement NUMA for s390x

Right now it is possible to crash QEMU for s390x by providing e.g.
    -numa node,nodeid=0,cpus=0-1

Problem is, that numa.c uses mc->cpu_index_to_instance_props as an
indicator whether NUMA is supported by a machine type. We don't
implement NUMA for s390x ("topology") yet. However we need
mc->cpu_index_to_instance_props for query-cpus.

So let's fix this case by also checking for mc->get_default_cpu_node_id,
which will be needed by machine_set_cpu_numa_node().

qemu-system-s390x: -numa node,nodeid=0,cpus=0-1: NUMA is not supported by
             this machine-type

While at it, make s390_cpu_index_to_props() look like on other
architectures.

Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 2231384e56924f5bbf2e32e5bb7d2d6a9d1815f6
      
https://github.com/qemu/qemu/commit/2231384e56924f5bbf2e32e5bb7d2d6a9d1815f6
  Author: Nia Alarie <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/s390x/event-facility.c
    M include/hw/s390x/event-facility.h

  Log Message:
  -----------
  s390x/sclpconsole: Remove dead code - remove exit handlers

The other event handlers (quiesce and cpu) do not define these
handlers, and this one does nothing, so it can be removed.

Signed-off-by: Nia Alarie <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 08b824aa2d459f2822736ccaeb240811fac72957
      
https://github.com/qemu/qemu/commit/08b824aa2d459f2822736ccaeb240811fac72957
  Author: Cornelia Huck <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio-ccw: license text should indicate GPL v2 or later

The license text currently specifies "any version" of the GPL. It
is unlikely that GPL v1 was ever intended; change this to the
standard "or any later version" text.

Cc: Dong Jia Shi <address@hidden>
Cc: Xiao Feng Ren <address@hidden>
Cc: Pierre Morel <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Reviewed-by: Dong Jia Shi <address@hidden>
Acked-by: Pierre Morel <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bc61c8c626d17970b8fdd48a2f044b92418500e0
      
https://github.com/qemu/qemu/commit/bc61c8c626d17970b8fdd48a2f044b92418500e0
  Author: Claudio Imbrenda <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/event-facility.c
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x/sclp: proper support of larger send and receive masks

Until 67915de9f0383ccf4a ("s390x/event-facility: variable-length event masks")
we only supported sclp event masks with a size of exactly 4 bytes, even
though the architecture allows the guests to set up sclp event masks
from 1 to 1021 bytes in length.
After that patch, the behaviour was almost compliant, but some issues
were still remaining, in particular regarding the handling of selective
reads and migration.

When setting the sclp event mask, a mask size is also specified. Until
now we only considered the size in order to decide which bits to save
in the internal state. On the other hand, when a guest performs a
selective read, it sends a mask, but it does not specify a size; the
implied size is the size of the last mask that has been set.

Specifying bits in the mask of selective read that are not available in
the internal mask should return an error, and bits past the end of the
mask should obviously be ignored. This can only be achieved by keeping
track of the lenght of the mask.

The mask length is thus now part of the internal state that needs to be
migrated.

This patch fixes the handling of selective reads, whose size will now
match the length of the event mask, as per architecture.

While the default behaviour is to be compliant with the architecture,
when using older machine models the old broken behaviour is selected
(allowing only masks of size exactly 4), in order to be able to migrate
toward older versions.

Fixes: 67915de9f0383ccf4a ("s390x/event-facility: variable-length event masks")
Signed-off-by: Claudio Imbrenda <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 1ffed98f244bd005aef053be968e2ed939e91396
      
https://github.com/qemu/qemu/commit/1ffed98f244bd005aef053be968e2ed939e91396
  Author: Claudio Imbrenda <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/s390x/event-facility.c
    M hw/s390x/sclpcpu.c
    M hw/s390x/sclpquiesce.c
    M include/hw/s390x/event-facility.h

  Log Message:
  -----------
  s390x/sclp: clean up sclp masks

Introduce an sccb_mask_t to be used for SCLP event masks instead of just
unsigned int or uint32_t. This will allow later to extend the mask with
more ease.

Signed-off-by: Claudio Imbrenda <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 6af978ae8b2912ec0c608402b8bedd60e85fa3a0
      
https://github.com/qemu/qemu/commit/6af978ae8b2912ec0c608402b8bedd60e85fa3a0
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M pc-bios/s390-ccw/bootmap.c
    M pc-bios/s390-ccw/bootmap.h

  Log Message:
  -----------
  pc-bios/s390-ccw: Move string arrays from bootmap header to .c file

bootmap.h can currently only be included once - otherwise the linker
complains about multiple definitions of the "magic" strings. It's a
bad style to define string arrays in header files, so let's better
move these to the bootmap.c file instead where they are used.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 24118af846868bb22e573be206c63e684ba9846a
      
https://github.com/qemu/qemu/commit/24118af846868bb22e573be206c63e684ba9846a
  Author: Nia Alarie <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h

  Log Message:
  -----------
  s390x/virtio: Convert virtio-ccw from *_exit to *_unrealize

Signed-off-by: Nia Alarie <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 9fa673c3e363998bdb5912eb8a766a33e7844360
      
https://github.com/qemu/qemu/commit/9fa673c3e363998bdb5912eb8a766a33e7844360
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-08 (Thu, 08 Mar 2018)

  Changed paths:
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/s390x/event-facility.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/sclpcpu.c
    M hw/s390x/sclpquiesce.c
    M hw/s390x/virtio-ccw.c
    M hw/s390x/virtio-ccw.h
    M hw/vfio/ccw.c
    M include/hw/s390x/event-facility.h
    M numa.c
    M pc-bios/s390-ccw/bootmap.c
    M pc-bios/s390-ccw/bootmap.h
    M target/s390x/cpu.h
    M target/s390x/mem_helper.c
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20180308' into staging

Fixes and cleanups for the 2.12 softfreeze.

# gpg: Signature made Thu 08 Mar 2018 17:53:14 GMT
# gpg:                using RSA key DECF6B93C6F02FAF
# gpg: Good signature from "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# gpg:                 aka "Cornelia Huck <address@hidden>"
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20180308:
  s390x/virtio: Convert virtio-ccw from *_exit to *_unrealize
  pc-bios/s390-ccw: Move string arrays from bootmap header to .c file
  s390x/sclp: clean up sclp masks
  s390x/sclp: proper support of larger send and receive masks
  vfio-ccw: license text should indicate GPL v2 or later
  s390x/sclpconsole: Remove dead code - remove exit handlers
  numa: we don't implement NUMA for s390x
  hw/s390x: Add the possibility to specify the netboot image on the command line
  target/s390x: Remove leading underscores from #defines
  s390/ipl: only print boot menu error if -boot menu=on was specified
  hw/s390x/ipl: Bail out if the network bootloader can not be found

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/f6d81cdec807...9fa673c3e363

reply via email to

[Prev in Thread] Current Thread [Next in Thread]