From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQfuf-0008W5-1c for qemu-devel@nongnu.org; Thu, 20 Mar 2014 12:33:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQfuR-0002Di-1c for qemu-devel@nongnu.org; Thu, 20 Mar 2014 12:33:48 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:46522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQfuQ-0002D9-UA for qemu-devel@nongnu.org; Thu, 20 Mar 2014 12:33:34 -0400 Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 20 Mar 2014 12:33:33 -0400 Received: from b01cxnp22034.gho.pok.ibm.com (b01cxnp22034.gho.pok.ibm.com [9.57.198.24]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 99E8C38C803D for ; Thu, 20 Mar 2014 12:33:30 -0400 (EDT) Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by b01cxnp22034.gho.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s2KGXUkW9437630 for ; Thu, 20 Mar 2014 16:33:30 GMT Received: from d01av04.pok.ibm.com (localhost [127.0.0.1]) by d01av04.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s2KGXTVr023570 for ; Thu, 20 Mar 2014 12:33:30 -0400 Message-ID: <532B1855.2080108@linux.vnet.ibm.com> Date: Thu, 20 Mar 2014 12:33:25 -0400 From: Matthew Rosato MIME-Version: 1.0 References: <1387227072-21965-1-git-send-email-mjrosato@linux.vnet.ibm.com> <1387227072-21965-5-git-send-email-mjrosato@linux.vnet.ibm.com> <532ABB44.5080702@de.ibm.com> In-Reply-To: <532ABB44.5080702@de.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 4/5] sclp-s390: Define new SCLP codes and structures List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christian Borntraeger , 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 On 03/20/2014 05:56 AM, Christian Borntraeger wrote: > 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 >> --- >> 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) { > > This is already done in latest upstream, so please provide a newer version of > these patches against s390-next. Will apply then. > > Christian Hi Christian -- You already accepted this patch into s390-next with these changes as 234eef51a12e2f0f8dfd71cb49d2469d462b1855. Or am I missing something else you wanted changed? This is part of v1 -- v2 of the whole patch set excluded this patch as a result (among other changes). I noticed that v2 doesn't fit anymore. I'll submit a trimmed-down and re-fit v3 of the patch set once Igor's 'convert -m to QemuOpts' set goes in (it just got applied to trivial). > >> 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 > This can then go as well. > >> +#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; >> + >> + > > Only one space, I guess. > >> typedef struct SCCB { >> SCCBHeader h; >> char data[SCCB_DATA_LEN]; >> > > Otherwise: > > Acked-by: Christian Borntraeger > > > > >