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 934bc131ef
    (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 934bc131ef
   (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
This commit is contained in:
Paolo Bonzini 2014-05-16 23:02:40 +02:00
commit afa538f0a1
14 changed files with 431 additions and 95 deletions