From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsf8X-0006Ir-CG for qemu-devel@nongnu.org; Mon, 16 Dec 2013 15:51:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vsf8M-0002u0-G4 for qemu-devel@nongnu.org; Mon, 16 Dec 2013 15:51:33 -0500 Received: from e36.co.us.ibm.com ([32.97.110.154]:47216) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vsf8M-0002tj-8d for qemu-devel@nongnu.org; Mon, 16 Dec 2013 15:51:22 -0500 Received: from /spool/local by e36.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 16 Dec 2013 13:51:21 -0700 Received: from b03cxnp07027.gho.boulder.ibm.com (b03cxnp07027.gho.boulder.ibm.com [9.17.130.14]) by d03dlp01.boulder.ibm.com (Postfix) with ESMTP id EA8FF1FF001E for ; Mon, 16 Dec 2013 13:50:54 -0700 (MST) Received: from d03av06.boulder.ibm.com (d03av06.boulder.ibm.com [9.17.195.245]) by b03cxnp07027.gho.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id rBGKpH687733732 for ; Mon, 16 Dec 2013 21:51:17 +0100 Received: from d03av06.boulder.ibm.com (loopback [127.0.0.1]) by d03av06.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id rBGKsMun003786 for ; Mon, 16 Dec 2013 13:54:23 -0700 From: Matthew Rosato Date: Mon, 16 Dec 2013 15:51:10 -0500 Message-Id: <1387227072-21965-4-git-send-email-mjrosato@linux.vnet.ibm.com> In-Reply-To: <1387227072-21965-1-git-send-email-mjrosato@linux.vnet.ibm.com> References: <1387227072-21965-1-git-send-email-mjrosato@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 3/5] target-s390: Check for standby memory specification List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: gleb@redhat.com, agraf@suse.de, borntraeger@de.ibm.com, aliguori@amazon.com, cornelia.huck@de.ibm.com, pbonzini@redhat.com, rth@twiddle.net When machine=...,standby-mem={size} has been specified, convert the value to bytes and store it for use. Signed-off-by: Matthew Rosato --- target-s390x/kvm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index 02ac4ba..d4081f4 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -97,11 +97,27 @@ static void *legacy_s390_alloc(size_t size); int kvm_arch_init(KVMState *s) { + int64_t value; + cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS); if (!kvm_check_extension(s, KVM_CAP_S390_GMAP) || !kvm_check_extension(s, KVM_CAP_S390_COW)) { phys_mem_set_alloc(legacy_s390_alloc); } + + value = qemu_opt_get_size(qemu_get_machine_opts(), "standby-mem", -1); + + if (value < 0) { + fprintf(stderr, "qemu: invalid standby-mem size:%"PRId64"\n", value); + exit(1); + } + + if (value != (int64_t)(ram_addr_t)value) { + fprintf(stderr, "qemu: standby size too large\n"); + exit(1); + } + standby_mem_size = value * 1024 * 1024; + return 0; } -- 1.7.9.5