qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Collin Walling <walling@linux.ibm.com>
To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org
Cc: thuth@redhat.com, frankja@linux.ibm.com, david@redhat.com,
	cohuck@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com,
	mst@redhat.com, svens@linux.ibm.com, pbonzini@redhat.com,
	mihajlov@linux.ibm.com, rth@twiddle.net
Subject: [PATCH v4 0/8] s390: Extended-Length SCCB & DIAGNOSE 0x318
Date: Wed, 24 Jun 2020 16:23:04 -0400	[thread overview]
Message-ID: <20200624202312.28349-1-walling@linux.ibm.com> (raw)

Changelog:

    v4
    
    • added r-b's and ack's (thanks, everyone!)

    • renamed boundary and length function

    • updated header sync to reflect a change discussed in the respective
        KVM patches

    • s/data_len/offset_cpu

    • added /* fallthrough */ comment in boundary check

    v3

    • Device IOCTLs removed
        - diag 318 info is now communicated via sync_regs

    • Reset code removed
        - this is now handled in KVM
        - diag318_info is stored within the CPU reset portion of the
            S390CPUState

    • Various cleanups for ELS preliminary patches

    v2

    • QEMU now handles the instruction call
        - as such, the "enable diag 318" IOCTL has been removed

    • patch #1 now changes the read scp/cpu info functions to
      retrieve the machine state once
        - as such, I have not added any ack's or r-bs since this
          patch differs from the previous version

    • patch #3 introduces a new "get_read_scp_info_data_len"
      function in order clean-up the variable data length assignment
      in patch #7
        - a comment above this function should help clarify what's
          going on to make things a bit easier to read

    • other misc clean ups and fixes
        - s/diag318/diag_318 in order to keep the naming scheme
          consistent with Linux and other diag-related code
        - s/byte_134/fac134 to align naming scheme with Linux

-----------------------------------------------------------------------

This patch series introduces two features for an s390 KVM quest:
    - Extended-Length SCCB (els) for the Read SCP/CPU Info SCLP 
        commands
    - DIAGNOSE 0x318 (diag_318) enabling / migration handling

The diag 318 feature depends on els and KVM support.

The els feature is handled entirely with QEMU, and does not require 
KVM support.

Both features are made available starting with the zEC12-full model.

These patches are introduced together for two main reasons:
    - els allows diag 318 to exist while retaining the original 248 
        VCPU max
    - diag 318 is presented to show how els is useful

Full els support is dependant on the Linux kernel, which must react
to the SCLP response code and set an appropriate-length SCCB. 

A user should take care when tuning the CPU model for a VM.
If a user defines a VM with els support and specifies 248 CPUs, but
the guest Linux kernel cannot react to the SCLP response code, then
the guest will crash immediately upon kernel startup.


Collin L. Walling (8):
  s390/sclp: get machine once during read scp/cpu info
  s390/sclp: check sccb len before filling in data
  s390/sclp: rework sclp boundary and length checks
  s390/sclp: read sccb from mem based on sccb length
  s390/sclp: use cpu offset to locate cpu entries
  s390/sclp: add extended-length sccb support for kvm guest
  s390/kvm: header sync for diag318
  s390: guest support for diagnose 0x318

 hw/s390x/sclp.c                     | 115 ++++++++++++++++++++++------
 include/hw/s390x/sclp.h             |   4 +
 linux-headers/asm-s390/kvm.h        |   7 +-
 linux-headers/linux/kvm.h           |   1 +
 target/s390x/cpu.h                  |   2 +
 target/s390x/cpu_features.h         |   1 +
 target/s390x/cpu_features_def.inc.h |   4 +
 target/s390x/cpu_models.c           |   1 +
 target/s390x/gen-features.c         |   2 +
 target/s390x/kvm.c                  |  39 ++++++++++
 target/s390x/machine.c              |  17 ++++
 11 files changed, 166 insertions(+), 27 deletions(-)

-- 
2.26.2



             reply	other threads:[~2020-06-24 20:29 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-24 20:23 Collin Walling [this message]
2020-06-24 20:23 ` [PATCH v4 1/8] s390/sclp: get machine once during read scp/cpu info Collin Walling
2020-06-24 20:23 ` [PATCH v4 2/8] s390/sclp: check sccb len before filling in data Collin Walling
2020-06-24 20:23 ` [PATCH v4 3/8] s390/sclp: rework sclp boundary and length checks Collin Walling
2020-06-25  6:29   ` Thomas Huth
2020-07-20  8:17   ` David Hildenbrand
2020-07-20 20:06     ` Collin Walling
2020-07-21  8:41       ` David Hildenbrand
2020-07-21 18:40         ` Collin Walling
2020-07-23  6:26           ` Cornelia Huck
2020-07-24 15:06             ` Collin Walling
2020-06-24 20:23 ` [PATCH v4 4/8] s390/sclp: read sccb from mem based on sccb length Collin Walling
2020-07-20  8:19   ` David Hildenbrand
2020-07-20 20:06     ` Collin Walling
2020-06-24 20:23 ` [PATCH v4 5/8] s390/sclp: use cpu offset to locate cpu entries Collin Walling
2020-06-24 20:23 ` [PATCH v4 6/8] s390/sclp: add extended-length sccb support for kvm guest Collin Walling
2020-06-26 10:01   ` Cornelia Huck
2020-07-15 15:35     ` Collin Walling
2020-07-15 16:05       ` Cornelia Huck
2020-06-24 20:23 ` [PATCH v4 7/8] s390/kvm: header sync for diag318 Collin Walling
2020-06-24 20:23 ` [PATCH v4 8/8] s390: guest support for diagnose 0x318 Collin Walling
2020-06-26 10:03   ` Cornelia Huck
2020-07-15 15:36 ` [PATCH v4 0/8] s390: Extended-Length SCCB & DIAGNOSE 0x318 Collin Walling
2020-07-15 16:04   ` Cornelia Huck
2020-07-15 16:26     ` Collin Walling
2020-07-16 12:02       ` Cornelia Huck
2020-09-09  7:54         ` Christian Borntraeger
2020-09-09  8:46           ` Cornelia Huck
2020-09-09  9:43             ` Cornelia Huck
2020-09-09 18:13               ` Collin Walling
2020-09-10  6:38                 ` Cornelia Huck
2020-09-10  6:49                   ` Collin Walling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200624202312.28349-1-walling@linux.ibm.com \
    --to=walling@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=mihajlov@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=svens@linux.ibm.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).