qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 216db4: update linux headers to kvm/next


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 216db4: update linux headers to kvm/next
Date: Tue, 04 Mar 2014 07:30:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 216db403d0b032563d82e107429626c08d825535
      
https://github.com/qemu/qemu/commit/216db403d0b032563d82e107429626c08d825535
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M linux-headers/asm-arm/kvm.h
    M linux-headers/asm-arm64/kvm.h
    M linux-headers/asm-powerpc/kvm.h
    M linux-headers/asm-s390/kvm.h
    M linux-headers/asm-x86/hyperv.h
    M linux-headers/linux/kvm.h

  Log Message:
  -----------
  update linux headers to kvm/next

This updates the kvm headers to
commit d3714010c307d26df251c45be9cd12ab6d41f0c4
    KVM: x86: emulator_cmpxchg_emulated should mark_page_dirty
in kvm/next.

Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 3a553fc65826e0e682ed0fff770ad0d421c6d407
      
https://github.com/qemu/qemu/commit/3a553fc65826e0e682ed0fff770ad0d421c6d407
  Author: Jens Freimann <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M default-configs/s390x-softmmu.mak
    M hw/intc/Makefile.objs
    A hw/intc/s390_flic.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/s390-virtio.c
    A include/hw/s390x/s390_flic.h
    M trace-events

  Log Message:
  -----------
  s390x/kvm: implement floating-interrupt controller device

This patch implements a floating-interrupt controller device (flic)
which interacts with the s390 flic kvm_device.

Signed-off-by: Jens Freimann <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 819bd3091e986c1b6b10203a7138a53b849a53e0
      
https://github.com/qemu/qemu/commit/819bd3091e986c1b6b10203a7138a53b849a53e0
  Author: Dominik Dingel <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/intc/s390_flic.c
    M target-s390x/cpu.c
    M target-s390x/cpu.h
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/async_pf: Check for apf extension and enable pfault

S390 can also use async page faults, to enhance guest scheduling.
In case of live migration we want to disable the feature and let
all pending request finish.

Signed-off-by: Dominik Dingel <address@hidden>
Signed-off-by: Jens Freimann <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 0788082a4b3f41cb453b654d1a66f87adfa794a9
      
https://github.com/qemu/qemu/commit/0788082a4b3f41cb453b654d1a66f87adfa794a9
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler

The SET-ARCHITECTURE handler in QEMU caused a program interruption.
This is wrong according to the "Principles of Operations" specification
(since SIGP should never cause a program interrupt) and was likely only
introduced for debugging purposes. Since we handle SET-ARCHITECTURE in
the kernel already and only dropped to user space in case of bad mode
parameters, we should just report INVALID PARAMETER in QEMU instead.

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


  Commit: f2c55d1735175ab37ab9f69854460087112d2756
      
https://github.com/qemu/qemu/commit/f2c55d1735175ab37ab9f69854460087112d2756
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390x/virtio-hcall: Add range check for hypervisor call

The handler for diag 500 did not check whether the requested function
was in the supported range, so illegal values could crash QEMU in the
worst case.

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


  Commit: 77319f22635e3f0ef86730503b4d18dd9a833529
      
https://github.com/qemu/qemu/commit/77319f22635e3f0ef86730503b4d18dd9a833529
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/s390x/s390-virtio-hcall.c
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/virtio-hcall: Specification exception for illegal subcodes

So far, the DIAG 500 hypervisor call was only setting -EINVAL in
R2 when a guest tried to call this function with an illegal subcode.
This patch now changes the behavior so that a specification exception
is thrown instead, since this is the common behavior of other DIAG
functions (and other CPU instructions) when being called with illegal
parameters.

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


  Commit: 9da45bb217db41510684cbfd4e173186eb2f8477
      
https://github.com/qemu/qemu/commit/9da45bb217db41510684cbfd4e173186eb2f8477
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390x/eventfacility: mask out commands

As a followup to commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
(s390-sclp: Define New SCLP Codes) we should mask the sclp command
not only in base sclp, but also in the event facility.

Based on an initial patch from Ralf Hoppe.

Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: a0fa2cb8ccf0b73cfd3ac01d557401a2303c0de4
      
https://github.com/qemu/qemu/commit/a0fa2cb8ccf0b73cfd3ac01d557401a2303c0de4
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/s390x/sclp.c
    M target-s390x/cpu.h
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/sclp: Fixed the size of sccb and code parameter

The pointer to the SCCB should not be limited to 32 bits only.
In contrast to this, the command word parameter is only 32 bits
(the upper 32 bits should be ignored).

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


  Commit: 6e25280216fc23c8387892f76d961559da124528
      
https://github.com/qemu/qemu/commit/6e25280216fc23c8387892f76d961559da124528
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/s390x/sclp.c
    M target-s390x/cpu.h
    M target-s390x/kvm.c
    M target-s390x/misc_helper.c

  Log Message:
  -----------
  s390x/sclp: Add missing checks to SCLP handler

If the 51 most significant bits of the SCCB address are zero or equal to
the prefix, we should throw an specification exception, too.
Also moved the check for privileged mode to sclp_service_call() to have
all program checks in one place now.

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


  Commit: e8803d93df1bbaebe015b602a8178b424903bf5f
      
https://github.com/qemu/qemu/commit/e8803d93df1bbaebe015b602a8178b424903bf5f
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/sclp: Fixed setting of condition code register

In the SCLP handler function, the condition code register must
only be set if no exception occured.

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


  Commit: 65e526c24e27863b2a0093e1350a8ae558be5936
      
https://github.com/qemu/qemu/commit/65e526c24e27863b2a0093e1350a8ae558be5936
  Author: Heinz Graalfs <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390x/event-facility: some renaming

Do some renaming to shorten some identifiers and to emphasize sclp.

Signed-off-by: Heinz Graalfs <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 477a72a1eff40639761e103f5b7652af7746c48e
      
https://github.com/qemu/qemu/commit/477a72a1eff40639761e103f5b7652af7746c48e
  Author: Heinz Graalfs <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/s390x/event-facility.c
    M hw/s390x/sclp.c
    M include/hw/s390x/event-facility.h
    M include/hw/s390x/sclp.h

  Log Message:
  -----------
  s390x/event-facility: code restructure

Code restructure in order to simplify class hierarchy
  - remove S390SCLPDevice abstract base class
    and move function pointers into new SCLPEventFacilityClass
  - implement SCLPEventFacility as SysBusDevice
  - use define constants for instance creation strings

The following ascii-art shows the class structure wrt the SCLP EventFacility
before (CURRENT) and after the restructure (NEW):

----
CURRENT:

   "s390-sclp-events-bus"
   +-------------------------+
   |      SCLPEventsBus      |
   |-------------------------|
   |BusState qbus            |
   +-------------------------+

   +-------------------------+
   |   SCLPEventFacility     |  - to be replaced by new SCLPEventFacility,
   |-------------------------|    which will be a SysBusDevice
   |SCLPEventsBus sbus       |
   |DeviceState *qdev        |
   |unsigned int receive_mask|
   +-------------------------+

   +-------------------------+
   |   S390SCLPDeviceClass   |  - to be replaced by new SCLPEventFacilityClass
   |-------------------------|
   |DeviceClass qdev         |
   |*(init)()                |
   +-------------------------+

   "s390-sclp-event-facility"
       |
   instance-of
       |
       V
   "s390-sclp-device"           - this is an abstract class
   +-------------------------+
   |     S390SCLPDevice   (A)|  - to be replaced by new SCLPEventFacility
   |-------------------------|
   |SysBusDevice busdev      |
   |SCLPEventFacility *ef    |
   |                         |
   |*(sclp_command_handler)()|  - these 2 go to new SCLPEventFacilityClass
   |*(event_pending)()       |
   +-------------------------+

----
NEW:

   "s390-sclp-events-bus"
   +-------------------------+
   |      SCLPEventsBus      |
   |-------------------------|
   |BusState qbus            |
   +-------------------------+

   +-------------------------+
   | SCLPEventFacilityClass  |
   |-------------------------|
   |DeviceClass parent_class |
   |                         |
   |*(init)()                |
   |*(command_handler)()     |
   |*(event_pending)()       |
   +-------------------------+

   "s390-sclp-event-facility"
   +-------------------------+
   |   SCLPEventFacility     |
   |-------------------------|
   |SysBusDevice parent_class|
   |SCLPEventsBus sbus       |
   |unsigned int receive_mask|
   +-------------------------+

Signed-off-by: Heinz Graalfs <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 6fbef18a4c8b3cd9c3da4772ed5ddaec9be06fac
      
https://github.com/qemu/qemu/commit/6fbef18a4c8b3cd9c3da4772ed5ddaec9be06fac
  Author: Heinz Graalfs <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390x/event-facility: add support for live migration

Add support for live migration using VMStateDescription.

Signed-off-by: Heinz Graalfs <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: c804c2a71752dd1e150cde768d8c54b02fa8bad9
      
https://github.com/qemu/qemu/commit/c804c2a71752dd1e150cde768d8c54b02fa8bad9
  Author: Heinz Graalfs <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390x/event-facility: exploit realize/unrealize

init/exit functionality of abstract SCLPEvent class is now exploiting
realize/unrealize.

Signed-off-by: Heinz Graalfs <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: d1028f1b5b4cf83e8af5f48996cf392fb12d391a
      
https://github.com/qemu/qemu/commit/d1028f1b5b4cf83e8af5f48996cf392fb12d391a
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx

The current code does not initialize next_idx in the virtio ring.
As the ccw bios will always use guest memory at a fixed location,
this queue might != 0 after a reboot.
Lets make the initialization explicit.

Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>


  Commit: 5d739a4787a53da8d787551c8de27ad39fabdb34
      
https://github.com/qemu/qemu/commit/5d739a4787a53da8d787551c8de27ad39fabdb34
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

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

  Log Message:
  -----------
  s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css

We have to set the cssid to 0, otherwise the stsch code will
return an operand exception without the m bit. In the same way
we should set m=0.

This case was triggered in some cases during reboot, if for some
reason the location of blk_schid.cssid contains 1 and m was 0.
Turns out that the qemu elf loader does not zero out the bss section
on reboot.

The symptom was an dump of the old kernel with several areas
overwritten. The bootloader does not register a program check
handler, so bios exception jumped back into the old kernel.

Lets just use a local struct with a designed initializer. That
will guarantee that all other subelements are initialized to 0.

Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>


  Commit: 0ca3611221d8d80bcf98337f4691addc07df0b08
      
https://github.com/qemu/qemu/commit/0ca3611221d8d80bcf98337f4691addc07df0b08
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M pc-bios/s390-ccw.img

  Log Message:
  -----------
  s390-ccw.img: new binary rom to match latest fixes

Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 49f5c9e98ab44700b58e23ca8c17e21850328da1
      
https://github.com/qemu/qemu/commit/49f5c9e98ab44700b58e23ca8c17e21850328da1
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/cpu.c

  Log Message:
  -----------
  s390x/cpu: Use ioctl to reset state in the kernel

Some of the state in the kernel can not be reset from QEMU yet.
For this we've got to use the KVM_S390_INITIAL_RESET ioctl to make
sure that the state in the kernel is set to the right values during
initial CPU reset, too.

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


  Commit: f7d3e466764e0258d0883d90edb7e98ad0b56e18
      
https://github.com/qemu/qemu/commit/f7d3e466764e0258d0883d90edb7e98ad0b56e18
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Rework SIGP INITIAL CPU RESET handler

The s390_cpu_initial_reset() function had two deficiencies: First, it
used an ioctl for the destination CPU, and this ioctl could block
nearly forever, as long as the destination CPU was running in the SIE
loop. Second, it also cleared the general purpose registers - something
it should not do according to the Principles of Operations.
Since we've already got another function for the initial CPU reset in
cpu.c, we can also use that function instead. And by using run_on_cpu()
for executing this code, we make sure that the destination CPU is
correctly kicked out of kernel mode now.

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


  Commit: 04c2b5168e242e6fa6901442bd399aa7087effca
      
https://github.com/qemu/qemu/commit/04c2b5168e242e6fa6901442bd399aa7087effca
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Add missing SIGP CPU RESET order

The SIGP order CPU RESET was still missing in the list of our
supported handler. This patch now adds a simple implementation,
by using the cpu_reset() function that is already available in
target-s390x/cpu.c.

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


  Commit: 1eecf41b3e8128979dd571f63d0b4c7fedc919c2
      
https://github.com/qemu/qemu/commit/1eecf41b3e8128979dd571f63d0b4c7fedc919c2
  Author: Frank Blaschka <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M target-s390x/kvm.c

  Log Message:
  -----------
  s390x/kvm: Rework priv instruction handlers

The current implementation uses the second byte of the instruction
to identify the instruction handler. This is not sufficient to
support instructions not starting with 0xb2. This patch
adds separate handlers for 0xb2, 0xb9 and 0xeb to be able to
support the full instruction set.

Signed-off-by: Frank Blaschka <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>


  Commit: 7f00eb30febf1054c74b163ced984afcdbf6e670
      
https://github.com/qemu/qemu/commit/7f00eb30febf1054c74b163ced984afcdbf6e670
  Author: Thomas Huth <address@hidden>
  Date:   2014-02-27 (Thu, 27 Feb 2014)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390x/ipl: Fix crash of ELF images with arbitrary entry points

When loading S390 kernels, the current code expects an ELF file with the
start address 0x10000. Other ELF files cause a segmentation fault. To avoid
these crashes, we should get the start address from the ELF file instead
of always using a hard-coded address.

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


  Commit: c2cb92f9ea3c88acde6a8cb75abc148dfe27aee7
      
https://github.com/qemu/qemu/commit/c2cb92f9ea3c88acde6a8cb75abc148dfe27aee7
  Author: Peter Maydell <address@hidden>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M default-configs/s390x-softmmu.mak
    M hw/intc/Makefile.objs
    A hw/intc/s390_flic.c
    M hw/s390x/event-facility.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/s390-virtio-hcall.c
    M hw/s390x/s390-virtio.c
    M hw/s390x/sclp.c
    M include/hw/s390x/event-facility.h
    A include/hw/s390x/s390_flic.h
    M include/hw/s390x/sclp.h
    M linux-headers/asm-s390/kvm.h
    M linux-headers/linux/kvm.h
    M pc-bios/s390-ccw.img
    M pc-bios/s390-ccw/main.c
    M pc-bios/s390-ccw/virtio.c
    M target-s390x/cpu.c
    M target-s390x/cpu.h
    M target-s390x/kvm.c
    M target-s390x/misc_helper.c
    M trace-events

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140227' 
into staging

Several features, fixes and cleanups for kvm/s390:

- sclp event facility: cleanup structure. This allows to use
  realize/unrealize   as well as migration support via vmsd
- reboot: Two fixes that make reboot much more reliable
- ipl: make elf loading more robust
- flic interrupt controller: This allows to migrate floating
  interrupts, as well as clear them on reset etc.
- enable async_pf feature of KVM on s390
- several sclp fixes and cleanups
- several sigp fixes and cleanups

* remotes/borntraeger/tags/kvm-s390-20140227: (22 commits)
  s390x/ipl: Fix crash of ELF images with arbitrary entry points
  s390x/kvm: Rework priv instruction handlers
  s390x/kvm: Add missing SIGP CPU RESET order
  s390x/kvm: Rework SIGP INITIAL CPU RESET handler
  s390x/cpu: Use ioctl to reset state in the kernel
  s390-ccw.img: new binary rom to match latest fixes
  s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css
  s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx
  s390x/event-facility: exploit realize/unrealize
  s390x/event-facility: add support for live migration
  s390x/event-facility: code restructure
  s390x/event-facility: some renaming
  s390x/sclp: Fixed setting of condition code register
  s390x/sclp: Add missing checks to SCLP handler
  s390x/sclp: Fixed the size of sccb and code parameter
  s390x/eventfacility: mask out commands
  s390x/virtio-hcall: Specification exception for illegal subcodes
  s390x/virtio-hcall: Add range check for hypervisor call
  s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler
  s390x/async_pf: Check for apf extension and enable pfault
  ...

Conflicts:
        linux-headers/linux/kvm.h

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


Compare: https://github.com/qemu/qemu/compare/739aa555b8d6...c2cb92f9ea3c

reply via email to

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