From nobody Mon Feb 9 00:30:50 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1576505671; cv=none; d=zohomail.com; s=zohoarc; b=ZPiGEx/zJbkxXnyr8kUEp9WKebzEraOX65STj4NLWjfe0GtWmtaVHV2bgXifHghhlP3dc0HUWhB2J8iVKl4Vh7PCuiB/PL7eDzX+OVpEtRo1MKLvvmNAdj011t/sgfJg8en7p2o48HQ6uI3Qfn25BuH7nEb/g+aQ6fNVtC/Of4E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576505671; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iaB3mhmOVrr+BW+SeTs3iK+cp3Zt+YUYyPdWpraAu7A=; b=ZrrUT+q7LNiGVA3GW6UX0SOurYCWB2ZFyrqjwWMf9Q/ZFiNftFd6CnxuRkQXICKGROXENNSC/W3ZYeIgupWUvUinFdjgBVeoHZEjB95hCwkfcYCfZyWzCZJyX4/1lsOtNs2xtS8FcoY/p2xUNPixX8A7ZLHNGOC5KFafLZtIpYY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1576505671211600.3250094317028; Mon, 16 Dec 2019 06:14:31 -0800 (PST) Received: from localhost ([::1]:54410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igr8n-0001Jd-FD for importer@patchew.org; Mon, 16 Dec 2019 09:14:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58779) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igqzE-0004qm-48 for qemu-devel@nongnu.org; Mon, 16 Dec 2019 09:04:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igqzC-00043D-Rk for qemu-devel@nongnu.org; Mon, 16 Dec 2019 09:04:36 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:42094 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1igqzC-00042Q-OO for qemu-devel@nongnu.org; Mon, 16 Dec 2019 09:04:34 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-169-jrVVURoXNyO-sGEQ6te3lw-1; Mon, 16 Dec 2019 09:04:31 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6E45C800D50; Mon, 16 Dec 2019 14:04:29 +0000 (UTC) Received: from laptop.redhat.com (ovpn-116-117.ams2.redhat.com [10.36.116.117]) by smtp.corp.redhat.com (Postfix) with ESMTP id 83197675B8; Mon, 16 Dec 2019 14:04:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576505073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iaB3mhmOVrr+BW+SeTs3iK+cp3Zt+YUYyPdWpraAu7A=; b=iLHS6eDBvxQIX5aglh4w8x7JVCGRYJXQLL9xvgOkq0z+pGy8cbn1luvS4wtap/itV1dRMQ YStexdpvVrD3jsP23/rGaTDm3nndMOncrKUKPuvJcja1x0fojPaFBXH0qPtvSHXq/Gt/6l BpdBdRyWkR7geMofwfy6BabPLNZTnXE= X-MC-Unique: jrVVURoXNyO-sGEQ6te3lw-1 From: Eric Auger To: eric.auger.pro@gmail.com, eric.auger@redhat.com, maz@kernel.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Subject: [kvm-unit-tests PATCH 14/16] arm/run: Allow Migration tests Date: Mon, 16 Dec 2019 15:02:33 +0100 Message-Id: <20191216140235.10751-15-eric.auger@redhat.com> In-Reply-To: <20191216140235.10751-1-eric.auger@redhat.com> References: <20191216140235.10751-1-eric.auger@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, drjones@redhat.com, andre.przywara@arm.com, thuth@redhat.com, yuzenghui@huawei.com, alexandru.elisei@arm.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Let's link getchar.o to use puts and getchar from the tests. Then allow tests belonging to the migration group to trigger the migration from the test code by putting "migrate" into the uart. Then the code can wait for the migration completion by using getchar(). The __getchar implement is minimalist as it just reads the data register. It is just meant to read the single character emitted at the end of the migration by the runner script. It is not meant to read more data (FIFOs are not enabled). Signed-off-by: Eric Auger Reviewed-by: Thomas Huth --- arm/Makefile.common | 2 +- arm/run | 2 +- lib/arm/io.c | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/arm/Makefile.common b/arm/Makefile.common index 7cc0f04..327f112 100644 --- a/arm/Makefile.common +++ b/arm/Makefile.common @@ -32,7 +32,7 @@ CFLAGS +=3D -I $(SRCDIR)/lib -I $(SRCDIR)/lib/libfdt -I l= ib asm-offsets =3D lib/$(ARCH)/asm-offsets.h include $(SRCDIR)/scripts/asm-offsets.mak =20 -cflatobjs +=3D lib/util.o +cflatobjs +=3D lib/util.o lib/getchar.o cflatobjs +=3D lib/alloc_phys.o cflatobjs +=3D lib/alloc_page.o cflatobjs +=3D lib/vmalloc.o diff --git a/arm/run b/arm/run index 277db9b..a390ca5 100755 --- a/arm/run +++ b/arm/run @@ -61,6 +61,6 @@ fi M+=3D",accel=3D$ACCEL" command=3D"$qemu -nodefaults $M -cpu $processor $chr_testdev $pci_testdev" command+=3D" -display none -serial stdio -kernel" -command=3D"$(timeout_cmd) $command" +command=3D"$(migration_cmd) $(timeout_cmd) $command" =20 run_qemu $command "$@" diff --git a/lib/arm/io.c b/lib/arm/io.c index 99fd315..aa9e1b5 100644 --- a/lib/arm/io.c +++ b/lib/arm/io.c @@ -87,6 +87,19 @@ void puts(const char *s) spin_unlock(&uart_lock); } =20 +/* + * Minimalist implementation for migration completion detection. + * Needs to be improved for more advanced Rx cases + */ +int __getchar(void) +{ + int ret; + + ret =3D readb(uart0_base); + if (!ret) + return -1; + return ret; +} =20 /* * Defining halt to take 'code' as an argument guarantees that it will --=20 2.20.1