All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Matthew Rosato <mjrosato@linux.vnet.ibm.com>, qemu-devel@nongnu.org
Cc: gleb@redhat.com, agraf@suse.de, aliguori@amazon.com,
	cornelia.huck@de.ibm.com, pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH 4/5] sclp-s390: Define new SCLP codes and structures
Date: Wed, 22 Jan 2014 11:08:04 +0100	[thread overview]
Message-ID: <52DF9884.8070100@de.ibm.com> (raw)
In-Reply-To: <1387227072-21965-5-git-send-email-mjrosato@linux.vnet.ibm.com>

On 16/12/13 21:51, Matthew Rosato wrote:
> Define new SCLP codes and structures that will be needed for s390 memory
> hotplug.
> 
> Signed-off-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com>

Can you rebase this patch against 

git://github.com/borntraeger/qemu.git s390-next

and send it separately? This patch is pretty much non-controversial and I would apply
it to s390-next.
You could then base your v2 on that.

Christian


> ---
>  hw/s390x/sclp.c         |    2 +-
>  include/hw/s390x/sclp.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 47 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index 86d6ae0..cb53d7e 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -45,7 +45,7 @@ static void sclp_execute(SCCB *sccb, uint64_t code)
>  {
>      S390SCLPDevice *sdev = get_event_facility();
> 
> -    switch (code) {
> +    switch (code & SCLP_NO_CMD_PARM) {
>      case SCLP_CMDW_READ_SCP_INFO:
>      case SCLP_CMDW_READ_SCP_INFO_FORCED:
>          read_SCP_info(sccb);
> diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
> index 231a38a..e80cb23 100644
> --- a/include/hw/s390x/sclp.h
> +++ b/include/hw/s390x/sclp.h
> @@ -20,18 +20,31 @@
>  /* SCLP command codes */
>  #define SCLP_CMDW_READ_SCP_INFO                 0x00020001
>  #define SCLP_CMDW_READ_SCP_INFO_FORCED          0x00120001
> +#define SCLP_READ_STORAGE_ELEMENT_INFO          0x00040001
> +#define SCLP_ATTACH_STORAGE_ELEMENT             0x00080001
> +#define SCLP_ASSIGN_STORAGE                     0x000D0001
> +#define SCLP_UNASSIGN_STORAGE                   0x000C0001
>  #define SCLP_CMD_READ_EVENT_DATA                0x00770005
>  #define SCLP_CMD_WRITE_EVENT_DATA               0x00760005
>  #define SCLP_CMD_READ_EVENT_DATA                0x00770005
>  #define SCLP_CMD_WRITE_EVENT_DATA               0x00760005
>  #define SCLP_CMD_WRITE_EVENT_MASK               0x00780005
> 
> +/* SCLP Memory hotplug codes */
> +#define SCLP_NO_CMD_PARM                        0xffff00ff
> +#define SCLP_FC_ASSIGN_ATTACH_READ_STOR         0xE00000000000ULL
> +#define SCLP_STARTING_SUBINCREMENT_ID           0x10001
> +#define SCLP_INCREMENT_UNIT                     0x10000
> +#define MAX_AVAIL_SLOTS                         32
> +
>  /* SCLP response codes */
>  #define SCLP_RC_NORMAL_READ_COMPLETION          0x0010
>  #define SCLP_RC_NORMAL_COMPLETION               0x0020
> +#define SCLP_RC_SCCB_BOUNDARY_VIOLATION         0x0100
>  #define SCLP_RC_INVALID_SCLP_COMMAND            0x01f0
>  #define SCLP_RC_CONTAINED_EQUIPMENT_CHECK       0x0340
>  #define SCLP_RC_INSUFFICIENT_SCCB_LENGTH        0x0300
> +#define SCLP_RC_STANDBY_READ_COMPLETION         0x0410
>  #define SCLP_RC_INVALID_FUNCTION                0x40f0
>  #define SCLP_RC_NO_EVENT_BUFFERS_STORED         0x60f0
>  #define SCLP_RC_INVALID_SELECTION_MASK          0x70f0
> @@ -75,8 +88,41 @@ typedef struct ReadInfo {
>      SCCBHeader h;
>      uint16_t rnmax;
>      uint8_t rnsize;
> +    uint8_t  _reserved1[16 - 11];       /* 11-15 */
> +    uint16_t entries_cpu;               /* 16-17 */
> +    uint16_t offset_cpu;                /* 18-19 */
> +    uint8_t  _reserved2[24 - 20];       /* 20-23 */
> +    uint8_t  loadparm[8];               /* 24-31 */
> +    uint8_t  _reserved3[48 - 32];       /* 32-47 */
> +    uint64_t facilities;                /* 48-55 */
> +    uint8_t  _reserved0[100 - 56];
> +    uint32_t rnsize2;
> +    uint64_t rnmax2;
>  } QEMU_PACKED ReadInfo;
> 
> +typedef struct ReadStorageElementInfo {
> +    SCCBHeader h;
> +    uint16_t max_id;
> +    uint16_t assigned;
> +    uint16_t standby;
> +    uint8_t _reserved0[16 - 14]; /* 14-15 */
> +    uint32_t entries[0];
> +} QEMU_PACKED ReadStorageElementInfo;
> +
> +typedef struct AttachStorageElement {
> +    SCCBHeader h;
> +    uint8_t _reserved0[10 - 8];  /* 8-9 */
> +    uint16_t assigned;
> +    uint8_t _reserved1[16 - 12]; /* 12-15 */
> +    uint32_t entries[0];
> +} QEMU_PACKED AttachStorageElement;
> +
> +typedef struct AssignStorage {
> +    SCCBHeader h;
> +    uint16_t rn;
> +} QEMU_PACKED AssignStorage;
> +
> +
>  typedef struct SCCB {
>      SCCBHeader h;
>      char data[SCCB_DATA_LEN];
> 

  reply	other threads:[~2014-01-22 10:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-16 20:51 [Qemu-devel] [PATCH 0/5] s390: Support for Hotplug of Standby Memory Matthew Rosato
2013-12-16 20:51 ` [Qemu-devel] [PATCH 1/5] Add the standby-mem machine option Matthew Rosato
2013-12-17 10:09   ` Paolo Bonzini
2013-12-17 15:53     ` Matthew Rosato
2013-12-16 20:51 ` [Qemu-devel] [PATCH 2/5] virtio-ccw: Include standby memory when calculating storage increment Matthew Rosato
2013-12-16 20:51 ` [Qemu-devel] [PATCH 3/5] target-s390: Check for standby memory specification Matthew Rosato
2013-12-16 21:25   ` Alexander Graf
2013-12-17 15:58     ` Matthew Rosato
2013-12-17 16:48       ` Alexander Graf
2013-12-16 20:51 ` [Qemu-devel] [PATCH 4/5] sclp-s390: Define new SCLP codes and structures Matthew Rosato
2014-01-22 10:08   ` Christian Borntraeger [this message]
2014-03-20  9:56   ` Christian Borntraeger
2014-03-20 16:33     ` Matthew Rosato
2014-03-20 16:36       ` Christian Borntraeger
2013-12-16 20:51 ` [Qemu-devel] [PATCH 5/5] sclp-s390: Add memory hotplug SCLPs Matthew Rosato
2013-12-16 21:42   ` Alexander Graf
2013-12-16 23:18     ` Alexander Graf
2013-12-17 16:09       ` Matthew Rosato
2013-12-17 16:06     ` Matthew Rosato

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=52DF9884.8070100@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=agraf@suse.de \
    --cc=aliguori@amazon.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=gleb@redhat.com \
    --cc=mjrosato@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.