tree b5cbcce14afbe2da194e4b3cb8f1594cea800fb5
parent d9f89b88f5102ce235b75a5907838e3c7ed84b97
parent fda902cb8347da121025c4079b9e87748228a27e
author Paolo Bonzini <pbonzini@redhat.com> 1400274160 +0200
committer Paolo Bonzini <pbonzini@redhat.com> 1400274160 +0200
mergetag object fda902cb8347da121025c4079b9e87748228a27e
 type commit
 tag kvm-s390-20140516
 tagger Christian Borntraeger <borntraeger@de.ibm.com> 1400246478 +0200
 
 1. Correct locking for lazy storage key handling
    A test loop with multiple CPUs triggered a race in the lazy storage
    key handling as introduced by commit 934bc131efc3e4be6a52f7dd6c4dbf
    (KVM: s390: Allow skeys to be enabled for the current process). This
    race should not happen with Linux guests, but let's fix it anyway.
    Patch touches !/kvm/ code, but is from the s390 maintainer.
 
 2. Better handling of broken guests
    If we detect a program check loop we stop the guest instead of
    wasting CPU cycles.
 
 3. Better handling on MVPG emulation
    The move page handling is improved to be architecturally correct.
 
 3. Trace point rework
    Let's rework the kvm trace points to have a common header file (for
    later perf usage) and provided a table based instruction decoder.
 
 4. Interpretive execution of SIGP external call
    Let the hardware handle most cases of SIGP external call (IPI) and
    wire up the fixup code for the corner cases.
 
 5. Initial preparations for the IBC facility
    Prepare the code to handle instruction blocking
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTdhD5AAoJEBF7vIC1phx80kcQAI4gpl1DR5GlIgbTmVCrX7qR
 gljTqGRJv8w4nG+ecrXSJyeX+a6LxEeCzn1bDNTyBm75kInq+/vPYw+BoBHvk4vO
 2NFi6jq4xwAmctGaysU1LgZetkiXoiEZ2TYW7450ZaGCFLSkNHPPBPutOa0t9154
 e+NlDZ8sCF2b3BM54pOleiADLN9J6xzGQQsJaSXQyeKhheOec1PCXJ0WlZt8g8ud
 EuhYVBC5QyiYI2kzvIMowx2Y62o8CKhGF9Q5t71GcVqGUsAi8aEg0eQ+5CBkLmXc
 MF4lfUQamxbLWZDOAJu1pbRg0rZD9OR2qZIrqyu56f41HNAVRtQqL3qMb1LmMfEL
 8vHonbdgCtfLIwtVq5z9uOyQ3q+DpEXeBvMlcKfJ6ms4Cs5aEFDQO+3SZwsTNjH0
 JyyLY+xC8imorHe8h6/H+rYP66GPdCrG7RK2jufUUpejt2Zg3wbEJRCjr73JN6T3
 iGMq1H7EEdSYOgQ8O1iJzqbWvlzZcNp2NyWlwcMBeXTCsqVtRDIBOnWqYpv/apFP
 DMtZd8rw9g0L41TWxVf5zWJcoQNIvSfuN8keOHWq6FRGMDp+0uAC+kSYJuzRZ8ef
 5K5Srp7+ykIElLKONzOpP4obo7WvfF9ZS7U+gX19ZRiWVoSm18oKdJEFOHOX1KDW
 ZLqrtMui01c26h42+gsQ
 =H1bu
 -----END PGP SIGNATURE-----

Merge tag 'kvm-s390-20140516' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next

1. Correct locking for lazy storage key handling
   A test loop with multiple CPUs triggered a race in the lazy storage
   key handling as introduced by commit 934bc131efc3e4be6a52f7dd6c4dbf
   (KVM: s390: Allow skeys to be enabled for the current process). This
   race should not happen with Linux guests, but let's fix it anyway.
   Patch touches !/kvm/ code, but is from the s390 maintainer.

2. Better handling of broken guests
   If we detect a program check loop we stop the guest instead of
   wasting CPU cycles.

3. Better handling on MVPG emulation
   The move page handling is improved to be architecturally correct.

3. Trace point rework
   Let's rework the kvm trace points to have a common header file (for
   later perf usage) and provided a table based instruction decoder.

4. Interpretive execution of SIGP external call
   Let the hardware handle most cases of SIGP external call (IPI) and
   wire up the fixup code for the corner cases.

5. Initial preparations for the IBC facility
   Prepare the code to handle instruction blocking
