1. 27 2月, 2010 1 次提交
  2. 03 12月, 2009 1 次提交
    • C
      KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c · f50146bd
      Carsten Otte 提交于
      This patch corrects the checking of the new address for the prefix register.
      On s390, the prefix register is used to address the cpu's lowcore (address
      0...8k). This check is supposed to verify that the memory is readable and
      present.
      copy_from_guest is a helper function, that can be used to read from guest
      memory. It applies prefixing, adds the start address of the guest memory in
      user, and then calls copy_from_user. Previous code was obviously broken for
      two reasons:
      - prefixing should not be applied here. The current prefix register is
        going to be updated soon, and the address we're looking for will be
        0..8k after we've updated the register
      - we're adding the guest origin (gmsor) twice: once in subject code
        and once in copy_from_guest
      
      With kuli, we did not hit this problem because (a) we were lucky with
      previous prefix register content, and (b) our guest memory was mmaped
      very low into user address space.
      
      Cc: stable@kernel.org
      Signed-off-by: NCarsten Otte <cotte@de.ibm.com>
      Reported-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      f50146bd
  3. 10 9月, 2009 2 次提交
  4. 07 8月, 2009 1 次提交
  5. 10 6月, 2009 1 次提交
  6. 24 3月, 2009 1 次提交
  7. 23 11月, 2008 1 次提交
  8. 27 7月, 2008 1 次提交
  9. 20 7月, 2008 1 次提交
  10. 27 4月, 2008 1 次提交
    • C
      KVM: s390: interprocessor communication via sigp · 5288fbf0
      Christian Borntraeger 提交于
      This patch introduces in-kernel handling of _some_ sigp interprocessor
      signals (similar to ipi).
      kvm_s390_handle_sigp() decodes the sigp instruction and calls individual
      handlers depending on the operation requested:
      - sigp sense tries to retrieve information such as existence or running state
        of the remote cpu
      - sigp emergency sends an external interrupt to the remove cpu
      - sigp stop stops a remove cpu
      - sigp stop store status stops a remote cpu, and stores its entire internal
        state to the cpus lowcore
      - sigp set arch sets the architecture mode of the remote cpu. setting to
        ESAME (s390x 64bit) is accepted, setting to ESA/S390 (s390, 31 or 24 bit) is
        denied, all others are passed to userland
      - sigp set prefix sets the prefix register of a remote cpu
      
      For implementation of this, the stop intercept indication starts to get reused
      on purpose: a set of action bits defines what to do once a cpu gets stopped:
      ACTION_STOP_ON_STOP  really stops the cpu when a stop intercept is recognized
      ACTION_STORE_ON_STOP stores the cpu status to lowcore when a stop intercept is
                           recognized
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: NCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      5288fbf0