1. 25 1月, 2018 2 次提交
  2. 16 1月, 2018 1 次提交
  3. 06 12月, 2017 2 次提交
    • G
      KVM: s390: Remove redundant license text · 940f89a5
      Greg Kroah-Hartman 提交于
      Now that the SPDX tag is in all arch/s390/kvm/ files, that identifies
      the license in a specific and legally-defined manner.  So the extra GPL
      text wording can be removed as it is no longer needed at all.
      
      This is done on a quest to remove the 700+ different ways that files in
      the kernel describe the GPL license text.  And there's unneeded stuff
      like the address (sometimes incorrect) for the FSF which is never
      needed.
      
      No copyright headers or other non-license-description text was removed.
      
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Cornelia Huck <cohuck@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Message-Id: <20171124140043.10062-9-gregkh@linuxfoundation.org>
      Acked-by: NCornelia Huck <cohuck@redhat.com>
      Acked-by: N"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      940f89a5
    • G
      KVM: s390: add SPDX identifiers to the remaining files · d809aa23
      Greg Kroah-Hartman 提交于
      It's good to have SPDX identifiers in all files to make it easier to
      audit the kernel tree for correct licenses.
      
      Update the arch/s390/kvm/ files with the correct SPDX license
      identifier based on the license text in the file itself.  The SPDX
      identifier is a legally binding shorthand, which can be used instead of
      the full boiler plate text.
      
      This work is based on a script and data from Thomas Gleixner, Philippe
      Ombredanne, and Kate Stewart.
      
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Cornelia Huck <cohuck@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Cc: Philippe Ombredanne <pombredanne@nexb.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Message-Id: <20171124140043.10062-3-gregkh@linuxfoundation.org>
      Acked-by: NCornelia Huck <cohuck@redhat.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      d809aa23
  4. 09 10月, 2017 1 次提交
  5. 29 8月, 2017 1 次提交
  6. 28 6月, 2017 1 次提交
    • Q
      KVM: s390: Inject machine check into the guest · 4d62fcc0
      QingFeng Hao 提交于
      If the exit flag of SIE indicates that a machine check has happened
      during guest's running and needs to be injected, inject it to the guest
      accordingly.
      But some machine checks, e.g. Channel Report Pending (CRW), refer to
      host conditions only (the guest's channel devices are not managed by
      the kernel directly) and are therefore not injected into the guest.
      External Damage (ED) is also not reinjected into the guest because ETR
      conditions are gone in Linux and STP conditions are not enabled in the
      guest, and ED contains only these 8 ETR and STP conditions.
      In general, instruction-processing damage, system recovery,
      storage error, service-processor damage and channel subsystem damage
      will be reinjected into the guest, and the remain (System damage,
      timing-facility damage, warning, ED and CRW) will be handled on the host.
      Signed-off-by: NQingFeng Hao <haoqf@linux.vnet.ibm.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      4d62fcc0
  7. 21 4月, 2017 1 次提交
  8. 23 3月, 2017 1 次提交
  9. 16 3月, 2017 1 次提交
    • D
      KVM: s390: use defines for execution controls · 0c9d8683
      David Hildenbrand 提交于
      Let's replace the bitmasks by defines. Reconstructed from code, comments
      and commit messages.
      
      Tried to keep the defines short and map them to feature names. In case
      they don't completely map to features, keep them in the stye of ICTL
      defines.
      
      This effectively drops all "U" from the existing numbers. I think this
      should be fine (as similarly done for e.g. ICTL defines).
      
      I am not 100% sure about the ECA_MVPGI and ECA_PROTEXCI bits as they are
      always used in pairs.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170313104828.13362-1-david@redhat.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      [some renames, add one missing place]
      0c9d8683
  10. 30 1月, 2017 2 次提交
  11. 08 9月, 2016 3 次提交
  12. 05 7月, 2016 1 次提交
  13. 21 6月, 2016 3 次提交
  14. 10 6月, 2016 2 次提交
    • D
      KVM: s390: interface to query and configure cpu features · 15c9705f
      David Hildenbrand 提交于
      For now, we only have an interface to query and configure facilities
      indicated via STFL(E). However, we also have features indicated via
      SCLP, that have to be indicated to the guest by user space and usually
      require KVM support.
      
      This patch allows user space to query and configure available cpu features
      for the guest.
      
      Please note that disabling a feature doesn't necessarily mean that it is
      completely disabled (e.g. ESOP is mostly handled by the SIE). We will try
      our best to disable it.
      
      Most features (e.g. SCLP) can't directly be forwarded, as most of them need
      in addition to hardware support, support in KVM. As we later on want to
      turn these features in KVM explicitly on/off (to simulate different
      behavior), we have to filter all features provided by the hardware and
      make them configurable.
      Signed-off-by: NDavid Hildenbrand <dahi@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      15c9705f
    • J
      KVM: s390: Add sthyi emulation · 95ca2cb5
      Janosch Frank 提交于
      Store Hypervisor Information is an emulated z/VM instruction that
      provides a guest with basic information about the layers it is running
      on. This includes information about the cpu configuration of both the
      machine and the lpar, as well as their names, machine model and
      machine type. This information enables an application to determine the
      maximum capacity of CPs and IFLs available to software.
      
      The instruction is available whenever the facility bit 74 is set,
      otherwise executing it results in an operation exception.
      
      It is important to check the validity flags in the sections before
      using data from any structure member. It is not guaranteed that all
      members will be valid on all machines / machine configurations.
      Signed-off-by: NJanosch Frank <frankja@linux.vnet.ibm.com>
      Reviewed-by: NDavid Hildenbrand <dahi@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      95ca2cb5
  15. 08 3月, 2016 3 次提交
  16. 10 2月, 2016 1 次提交
    • D
      KVM: s390: PSW forwarding / rewinding / ilc rework · 0e8bc06a
      David Hildenbrand 提交于
      We have some confusion about ilc vs. ilen in our current code. So let's
      correctly use the term ilen when dealing with (ilc << 1).
      
      Program irq injection didn't take care of the correct ilc in case of
      irqs triggered by EXECUTE functions, let's provide one function
      kvm_s390_get_ilen() to take care of all that.
      
      Also, manually specifying in intercept handlers the size of the
      instruction (and sometimes overwriting that value for EXECUTE internally)
      doesn't make too much sense. So also provide the functions:
      - kvm_s390_retry_instr to retry the currently intercepted instruction
      - kvm_s390_rewind_psw to rewind the PSW without internal overwrites
      - kvm_s390_forward_psw to forward the PSW
      Reviewed-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NDavid Hildenbrand <dahi@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      0e8bc06a
  17. 30 11月, 2015 2 次提交
  18. 13 10月, 2015 3 次提交
  19. 29 7月, 2015 3 次提交
  20. 08 5月, 2015 2 次提交
  21. 01 4月, 2015 2 次提交
    • J
      KVM: s390: migrate vcpu interrupt state · 816c7667
      Jens Freimann 提交于
      This patch adds support to migrate vcpu interrupts. Two new vcpu ioctls
      are added which get/set the complete status of pending interrupts in one
      go. The ioctls are marked as available with the new capability
      KVM_CAP_S390_IRQ_STATE.
      
      We can not use a ONEREG, as the number of pending local interrupts is not
      constant and depends on the number of CPUs.
      
      To retrieve the interrupt state we add an ioctl KVM_S390_GET_IRQ_STATE.
      Its input parameter is a pointer to a struct kvm_s390_irq_state which
      has a buffer and length.  For all currently pending interrupts, we copy
      a struct kvm_s390_irq into the buffer and pass it to userspace.
      
      To store interrupt state into a buffer provided by userspace, we add an
      ioctl KVM_S390_SET_IRQ_STATE. It passes a struct kvm_s390_irq_state into
      the kernel and injects all interrupts contained in the buffer.
      Signed-off-by: NJens Freimann <jfrei@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      816c7667
    • J
      KVM: s390: deliver floating interrupts in order of priority · 6d3da241
      Jens Freimann 提交于
      This patch makes interrupt handling compliant to the z/Architecture
      Principles of Operation with regard to interrupt priorities.
      
      Add a bitmap for pending floating interrupts. Each bit relates to a
      interrupt type and its list. A turned on bit indicates that a list
      contains items (interrupts) which need to be delivered.  When delivering
      interrupts on a cpu we can merge the existing bitmap for cpu-local
      interrupts and floating interrupts and have a single mechanism for
      delivery.
      Currently we have one list for all kinds of floating interrupts and a
      corresponding spin lock. This patch adds a separate list per
      interrupt type. An exception to this are service signal and machine check
      interrupts, as there can be only one pending interrupt at a time.
      Signed-off-by: NJens Freimann <jfrei@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      6d3da241
  22. 17 3月, 2015 2 次提交