From patchwork Mon Jul 27 12:23:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247166 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4753983ilg; Mon, 27 Jul 2020 05:24:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9mwABX7Hm91N+Kj8TSiiTDROXA69xUiCl8elqtc9NMN9bBdMDqyBjDWUH1rE17uNIJiEE X-Received: by 2002:a25:9881:: with SMTP id l1mr5111817ybo.82.1595852687990; Mon, 27 Jul 2020 05:24:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852687; cv=none; d=google.com; s=arc-20160816; b=JC078AvHN+cv97p+iu66+3A7UQk9V9q1bHsm6tYv+jsaezCSOmpGsvWobBuvlrH65D qb4QQ6jSS32QMulgjlnr6Nk9Op+vSIxEeeAIoGJGPZiWA4avsbVf8vjSwMl6fcwX2uBg gsvRWFP/fELhm77PgMJlgTB/RnSJ+03pBM4/aiQZOoZVQ82CueTDgZ/3emK3HLLVjooW DqqTwEA+d0nMRf6EXphEajtUbRvhX6dhjWi/VQbGEK6FTRRq5Xu2T7z/CWxX/Z6PZ1wL 2DMz2Nx+YwC1Oxim/QpozRZQuyVkHtIgREn+4l5kpcL8zJ8zzpIDHF5vdfNuh6h2jvmR r5kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=MaB6EkUcV7cS8jhBR3D/MkieWNjgmYqTc6CjEYzz2lI=; b=Fg+nrOaXAqwr6cIBlnkj5SuVLxgTiofu11GimUmJC5Axdm9aB2xhxaEieOuvk2N7ek q4otLA84GtvdlHJttIobuTN6Novih/Y0j5hL/p7Z+7+WhM01UFLyLfWo64B0bXZCoYFu 21AAVQA64e2kkYmsMPXU2IfJ4p6v53SQRnSU7xsjKeoafHE9hr9bc79F8z5S0XMABOxc +LgzgI7mSa63eqgKlyIvrGgB00ztRCow38ldmhriSmPZAV+9YdqahqPCZPfaxKYP24Mi ASfkThqpz7Kx2H37fVjsGhZCji0u7xgN9Emx8pXm/bvre0HNvP/lWN8w5AFSfwXDzhF/ CDlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=n6QKODt+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id j137si4251306ybj.253.2020.07.27.05.24.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:24:47 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=n6QKODt+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02BT-0006ru-DS for patch@linaro.org; Mon, 27 Jul 2020 08:24:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36926) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Am-0006qK-Hu for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:04 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:44849) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Aj-0006Pc-DE for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:04 -0400 Received: by mail-wr1-x431.google.com with SMTP id b6so14672675wrs.11 for ; Mon, 27 Jul 2020 05:24:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MaB6EkUcV7cS8jhBR3D/MkieWNjgmYqTc6CjEYzz2lI=; b=n6QKODt+W0JzwxucAFN4utcBzGXEUJGsYUW2i2SMAGguOEqYkMvwngszmX1J9rtLwt V9nIuJlRfUPS0TVD4jp1roqNk21u4z2UX03yHAIbAxaabQy1IsFH6usCK07dhHfUk4gG B22ZpHlSLVrqx0vpE/m1iI6dh9ohC+tX+qQSJqCoAV2twQOUNlr6o12d9KA0RnEVwyro Z4ZuaOeXxh6/6qAl/z3uPVcPJplgGT/MiH81HROHSisnzzVB82T5btbswKOlp0Mdq7Z9 x6fqwB4Z0/RKeuRSJWmCpRLx4TXUN3JfzNejIANRvjBCgvC5ldXRJYwyZ82PoL4XTqDU pCcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MaB6EkUcV7cS8jhBR3D/MkieWNjgmYqTc6CjEYzz2lI=; b=LZB+MlHTXBjx05Ekv4flZkLBFTnoq4tYgEu+KiNHNEz+92TAwkmYeGxVyST54hyZ4D 9Q/ABGljjvx4m6nicqclfcm61cGVpqvFKKnjgS0KGwbANp7dHtQzIpZnk/Yeb/6FkGoB YgrDRfyq4q/vvp+5QSRFjP2c4jgqbc21w7/Il8988bzB96+pBnDmZIJxL2T2S4t9Serg QmMJbPnK45XLBxNXakcgNlXGs+Ujq5Ogjeo5F6P7f8C1Ax05XRblyf/yDkwtRsNp0CKE 7M/KluCR6SsugVGYrxHoFwXEbFqEUAWYcooM4XoqPsg1uo55ymrhqpoc8pKUsE7VICSk M/cw== X-Gm-Message-State: AOAM530IoJse8xsqq6kLhHQcUOvgy9pL//ihN6IvlsfhABqpjsH08VgT BaVEieGC2Ix3G1kwqxDSMd44MIq4jiw= X-Received: by 2002:a5d:5647:: with SMTP id j7mr19578441wrw.242.1595852640076; Mon, 27 Jul 2020 05:24:00 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id o2sm3934205wmh.5.2020.07.27.05.23.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:23:58 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 793AE1FF87; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 01/16] shippable: add one more qemu to registry url Date: Mon, 27 Jul 2020 13:23:42 +0100 Message-Id: <20200727122357.31263-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The registry url is //qemu/ Perhaps we should rationalise that some day but for now. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200724064509.331-2-alex.bennee@linaro.org> -- 2.20.1 diff --git a/.shippable.yml b/.shippable.yml index f6b742432e5..89d8be4291b 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -27,7 +27,7 @@ env: TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user build: pre_ci_boot: - image_name: registry.gitlab.com/qemu-project/qemu/${IMAGE} + image_name: registry.gitlab.com/qemu-project/qemu/qemu/${IMAGE} image_tag: latest pull: true options: "-e HOME=/root" From patchwork Mon Jul 27 12:23:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247168 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4754996ilg; Mon, 27 Jul 2020 05:26:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4Ju7/7rWkpNUYnpBQr0pC2k8CyhmBNkUaNTWLPQmn2pnPGXkFasqVAMn7tJb2KJ1dn0ZQ X-Received: by 2002:a25:b2a7:: with SMTP id k39mr27856345ybj.107.1595852776900; Mon, 27 Jul 2020 05:26:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852776; cv=none; d=google.com; s=arc-20160816; b=fVYe1j5jNUAJuy3YL2ONI59MPXaueOuHFyPqZRG848dviKLdA/7613ZPQg+KQu85Kg IojjkNTVpP541YerXmJlGMy40O42YNcfe2PEh15l9N5YmnxYo/pi8Rxo7axdgibDN2QN p9j4NCB8qZAJEN+vTVjmrFIQb6rjfMNpsafALYiJsAWFBjYX38kMfRg+L6yXlNrg0auj zBP3mKTqPOWJVtQgwx3+LGVUIECJcF6YIPf451WY/CAP6GFik8QoAkerCkK3hdJawee9 Ahg9ddpOaVY0AIIswuKCZTbNMN+FxHsazfAp+ZeZGZvL3K7j2WxS0ufMSEhowNIb2vUj iMrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=YtPMokqpNUHAcEyVMeHPzcW1sXNfgMsM9HjJyWOt79M=; b=eLPzvj5mAiLljymaXqtK2CUewKavFVbSAtfK8ux/dOnfg6eg/CRVWtBra9HKkePmr/ pi2UFErMGrWxnYCBP0YS/zH9ScdgxACALx4B5/EiCM21r2ut5zpW9+CG33LGQIcIDG5q 1t92/e5Fdbyu3FA/TgnLy9xugfQZHt+up8lEPOmjG61IWbMxK/6kKqNC9i5RiEa6n893 Uaz+dEF+qUEeAUp8jXwWeH0GIZASl0mfD9ukP5SA56JvAlPMKlOpYfTnNj77RbJ1sla4 93ONr12pmsbJ9T7RTRmBNnk4Mi0cqVVYL/bj9jDo4bTLvcI58Bn+hz+D6K/s2QNwXzXj QqzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="gpTNYJl/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e126si5484994ybe.49.2020.07.27.05.26.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:26:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="gpTNYJl/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48694 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02Cu-00022h-CA for patch@linaro.org; Mon, 27 Jul 2020 08:26:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02An-0006qi-2e for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:05 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:36972) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ak-0006Pm-U3 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:04 -0400 Received: by mail-wr1-x436.google.com with SMTP id y3so14671710wrl.4 for ; Mon, 27 Jul 2020 05:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YtPMokqpNUHAcEyVMeHPzcW1sXNfgMsM9HjJyWOt79M=; b=gpTNYJl/2hPGKLyupstu5Kgrdv2hu4wqDtsm95xx6JS+Iv589tEl3XU1oQmzAxzpIW k1X2D9mnD7aF6q7a9uDpsrdOWnS0berCjacwIbAfP1SfuYMU+Qn1YUOQqriAmr4Lx3X0 +24qOfR4lzfogEkzOkYbcl5NqXpLFSedAibIomOQA8TAupF21hc7jTWvYmldhRqCpXiP XcQBbuOQ+8yE91+l3OTFEXGVq67tZ2VUD9AifQQjJAn8fXzZRy7JztfYTZjCRPeWbbNH u9B7RO1WXPWtq67+HvncnP8ZY9ViDaBdXWTYijyWxate3x37BahmDN51lDwSAIECDCkr 6T9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YtPMokqpNUHAcEyVMeHPzcW1sXNfgMsM9HjJyWOt79M=; b=jw0MaivaCKotdWCdHQX5p510Gi+XFN5idvtRbkAUUeUzj7N8GSrO/8WiRhvToxpwmH 1QloZ854rcvyTgTlGO/wW9Mpytzvp6j5Q/3LnPGG8EcXT1FfKQi8dpDS+b0tpgRqaBhV 2BQMwqiiKCg7pWW1Z7Sq51Chakwdkou+5sv6yh3nET4bbW1SMsMYTl/UxW91gwI4s6pb 5/VlO7jaOpISN1rzbCZ1mgKeiszq7fwYeyWgaHmNaYN4oIG58htsXRink08Ay+/N6+gl 702TsdSCv+TVSlWhIuPoeBEP4DhI4aRHeGpHKAVgzSY9EG+DoAgjHNluukgv+njAnD40 dcdQ== X-Gm-Message-State: AOAM532AM7kXXa39Dj93dsYDNDeqQNnQ3WmVbda4X/LwCGyPKgaXdUXU C8PA+6Ojmnwmo1tAmUDN3eT8FA== X-Received: by 2002:adf:ee06:: with SMTP id y6mr20218228wrn.225.1595852641204; Mon, 27 Jul 2020 05:24:01 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id j8sm12779117wrd.85.2020.07.27.05.23.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:23:59 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8F2781FF8C; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 02/16] semihosting: defer connect_chardevs a little more to use serialx Date: Mon, 27 Jul 2020 13:23:43 +0100 Message-Id: <20200727122357.31263-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Richard Henderson , KONRAD Frederic , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Paolo Bonzini Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: KONRAD Frederic With that we can just use -semihosting-config chardev=serial0. [AJB: tweak commit message] Signed-off-by: KONRAD Frederic Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <1592215252-26742-1-git-send-email-frederic.konrad@adacore.com> Message-Id: <20200724064509.331-3-alex.bennee@linaro.org> -- 2.20.1 diff --git a/softmmu/vl.c b/softmmu/vl.c index 660537a7098..4eb9d1f7fd5 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -4127,8 +4127,6 @@ void qemu_init(int argc, char **argv, char **envp) qemu_opts_foreach(qemu_find_opts("chardev"), chardev_init_func, NULL, &error_fatal); - /* now chardevs have been created we may have semihosting to connect */ - qemu_semihosting_connect_chardevs(); #ifdef CONFIG_VIRTFS qemu_opts_foreach(qemu_find_opts("fsdev"), @@ -4279,6 +4277,9 @@ void qemu_init(int argc, char **argv, char **envp) if (foreach_device_config(DEV_DEBUGCON, debugcon_parse) < 0) exit(1); + /* now chardevs have been created we may have semihosting to connect */ + qemu_semihosting_connect_chardevs(); + /* If no default VGA is requested, the default is "none". */ if (default_vga) { vga_model = get_default_vga_model(machine_class); From patchwork Mon Jul 27 12:23:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247169 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4755286ilg; Mon, 27 Jul 2020 05:26:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwqhYSrmkVmHCP89MKE+6MGZ2UwxxCK0KXODWhKg1IYarSa8Wfetxqq7ofIdQ4OaaQ/Ibvj X-Received: by 2002:a25:6f83:: with SMTP id k125mr6937593ybc.204.1595852804296; Mon, 27 Jul 2020 05:26:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852804; cv=none; d=google.com; s=arc-20160816; b=OUpWAJ0LdA2vRNFhF6hC/s9F1Eo+WefEKiEQh0rOhyBHKDXB9IooPpPHAiWYPdJJ9F Gbq24tQdIYG0JM9RHa1qS3IpA/4rCZ44DmMIjIuaY6QIT0vBoQGdviWQL1WiMgYWkt/z N7k7LllBXTlGsC9WgEcEwVe7OSWMqbLl7zQ9EXyrceU4Yt9VwXdF9uKMHGUPbOOu7uyp y/uB1JqmV/KSgaEmK1pUiAo3A3+BB2Qtd33miNRDh6CHZ3XyqnbgtcdyeYL8snAwTOrr JZJ1IjuTWrJpmfL1bo16eWvrq2uN68LWDEEEXAyMY5czPU45uURxnmkBTmrjxkXxb0yu PqPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=RdPhdnzXcxoBzSFWnxkcl0n4uuKjKBt4ReAJhvFqFBI=; b=NCjA2An95Ckk7RscJkyY5JCCJTbPDfiBPhOuCHs7Eg8gKVMiKk8ne2uQHDUzHrbOGx FXm0YvkbILN0y7X7WrKQYgGkYt1qYyIDtRGmm6lxXmqC8r8IW1rQIJfIoL+aXjB6k4bN j8UQXaQZbSCJGoyphl3oTH3gcwhP1ITQv88Q27BiZZGAh6S+U/2MR/xIH/DR6ueNVg82 jJsVoFZ0Vk1p1L6PRjSUbE46be/7ayh9i/QPg3Lb/W5pawlFx76tJRQQenGRj24pOvdO QJX2kzhL6dzoXCN14nwtVtQW7+k+ReQ1MogU+DFYNH5s/j9rxm3uA1/yxjBnNRJrGgWd 4mQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WtLVazLl; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id l202si7312866ybf.425.2020.07.27.05.26.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:26:44 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WtLVazLl; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48490 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02DL-0001w7-Pc for patch@linaro.org; Mon, 27 Jul 2020 08:26:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36954) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Ao-0006sX-5t for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:06 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:40784) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Am-0006Q2-Io for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:05 -0400 Received: by mail-wm1-x331.google.com with SMTP id k20so6899922wmi.5 for ; Mon, 27 Jul 2020 05:24:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RdPhdnzXcxoBzSFWnxkcl0n4uuKjKBt4ReAJhvFqFBI=; b=WtLVazLlyGxLumWMvSSxOsNXsmQ0Lh/G+iOj3NWwWumK0qlSskgMd7Y2wwn13xk4JV lBKkbt2YGwpH7FFBT/Rd0V+hjBJ0SLGZ7GgJUGUvaT+PZCMg53eGMFPxtHXZUPlGN6os fqA7Osuszb7+DF8AnhDqzrZ6iWJ37RMRAWL4YFQxWoWrY6mdqgrhZckRJYxUONsutzGs 564kCea/6yhTubf+CrO7v/TB20fjeJO01NlE5BCcLEaoE2KDWfm5kB5k/oe1m4eSYns0 fGC9eGtbaouRslv/MK8L/xQsWZqLM4wTDLNKp4oe5ldUMkgF9GG/n/rHq2BJDDpvufp4 n6yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RdPhdnzXcxoBzSFWnxkcl0n4uuKjKBt4ReAJhvFqFBI=; b=adW/5NZ4/7L+yuSzbS7ET34BpxZ187vu/iJ6Tkhu+TZjpS3TWV04vBVqquk8uAyan/ uXT7OZuns0usRX5bVs93ld1EKOzRWos0uVx7adzWUEXxT0hG+yYtv75ZSvifc6llA3EY KLxqO6yYnV2zhjLEGZEUAAy2bL6bD2S7O4V+n3PsdDE6++u1vP67I+wXLisKMeLEJfB6 U2E2/MFJFuFc0KR41IdqxhZDhlLYZejnYl9iiLZ07/nnMJcnSFSaDwywOYzATJw8GGNR Jvefai2Se/rqfgLvTHFuoVcXb/IdBymXN9n0fHvBJTGyLFWFFzgk+9fMHl/nqppPEiue IXcQ== X-Gm-Message-State: AOAM5330jX35PmI1xudCPL9AbYGeFDFSi7DObSgj4JcJCo8OAEd+kcOp ChWZXj+6ETGN+0w1RRJyNVOptQ== X-Received: by 2002:a1c:19c4:: with SMTP id 187mr21077590wmz.100.1595852642942; Mon, 27 Jul 2020 05:24:02 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id c10sm12649159wro.84.2020.07.27.05.23.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:00 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id A2E0F1FF8F; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 03/16] semihosting: don't send the trailing '\0' Date: Mon, 27 Jul 2020 13:23:44 +0100 Message-Id: <20200727122357.31263-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , KONRAD Frederic , Richard Henderson , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: KONRAD Frederic Don't send the trailing 0 from the string. Signed-off-by: KONRAD Frederic Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <1592215252-26742-2-git-send-email-frederic.konrad@adacore.com> Message-Id: <20200724064509.331-4-alex.bennee@linaro.org> -- 2.20.1 diff --git a/hw/semihosting/console.c b/hw/semihosting/console.c index 22e7827824a..9b4fee92602 100644 --- a/hw/semihosting/console.c +++ b/hw/semihosting/console.c @@ -52,7 +52,9 @@ static GString *copy_user_string(CPUArchState *env, target_ulong addr) do { if (cpu_memory_rw_debug(cpu, addr++, &c, 1, 0) == 0) { - s = g_string_append_c(s, c); + if (c) { + s = g_string_append_c(s, c); + } } else { qemu_log_mask(LOG_GUEST_ERROR, "%s: passed inaccessible address " TARGET_FMT_lx, From patchwork Mon Jul 27 12:23:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247164 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4753692ilg; Mon, 27 Jul 2020 05:24:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy1ta7xK1+AjUn7bJOx8RSOWWePqFLne2bh37+k0gwR6ar708B9kXsZ87Ttidpx3LV3XXsx X-Received: by 2002:a25:7283:: with SMTP id n125mr3624830ybc.28.1595852659662; Mon, 27 Jul 2020 05:24:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852659; cv=none; d=google.com; s=arc-20160816; b=MWBvq6G9JQ3K4TfmdSyweMLNPacmCXwXREXFFtcvC1hnqLgpsn8UpcmU5jTzfJ30G7 t2VP6D7OrmHbOVf5YhlTS8kWkN5B9lmrtJPuu3TYiCjZt0W3YbWfRMxSOrBdMGUvSMA9 g+yZ3rYmxAYvbfZuus+1TwFPFWQFQqDfnVlLDhZGOwHvIQCwAvio+K5qlRQQU91gwL6s eWVi5PDbSKdr8cF822uQ2FpbaR5+S0oDmS7V8J4PGCaE301rLpSSn4JVeIjtOjW4jKkv oKWV/REtbJa3w9TPffSlJm8A6pNoeI3P18ECIaB2cLeqn5wWhLPhlVVHcZnT+2taLA1g /pDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=4DkH+HsKr59a1msZyNsGwSRnaJGoXL2y3SWKWzOhSpU=; b=vO19Vi7+sVWMz2T0g+BUVcTukhWwhn+nEd71iiHHF/O4ryZKnt/+wpCj6KJUAqSXwW UrORTJRp5saXBnXWoa+MUP/y+njJiPW4OzsgufKf0ppmS6NYxeZYdJbYIiycR0muSeb+ 4IhG8fNnUFuiMHZmFBi4IjHbSRdTjAryjAHIsoPY3hBLurH06OIWA3OF46k/0pW/quJE FOyqKWHm0WTDcMBMXMW1/z57y0NN1UF++l/EybH4PsqodnzJl1y2ScIaqkQeejOKsTNh zPVKHR+iU9tkybDZQy958KIRTlNsuJxpQpI2e6HgJ9Nsaz5FOjgKAzcaUv7RvZpYByw3 J1bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Ivz7bepB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id p82si9670876yba.69.2020.07.27.05.24.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:24:19 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Ivz7bepB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40514 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02B1-0006xB-55 for patch@linaro.org; Mon, 27 Jul 2020 08:24:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Ao-0006uP-UA for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:06 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:40034) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02An-0006QD-8h for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:06 -0400 Received: by mail-wr1-x442.google.com with SMTP id l2so4115412wrc.7 for ; Mon, 27 Jul 2020 05:24:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4DkH+HsKr59a1msZyNsGwSRnaJGoXL2y3SWKWzOhSpU=; b=Ivz7bepBEmniKPvFEH8tB/o+eAqzW/oFlp7mg/i9blICyxhA1aNpA+DxYBbf/JF94G g8RXFZ0+oGq148PVBbjW0n8MEaLcgda8xj8ovrO+uNF25Fl8EbNoGd+zjtKHiJREwKAW bKEpeJjwniXV3d3DHWFXtaU9+2yjPOvq8iUYVVq3EYetCBjqLtni4x1P3y99/6WIgSpl gGpi6RYAp5PcoP8U/naRBC7foGjpTybY2Wj82Rdpl0q1v2M08OS2MBXPIXrxCdru+4B6 oRrPx+FT/GbgH6Ha12Wf1p2NIDxeFiz1I1yB9f6OOSnlcrku421dI9z0A2EJHWLTXkf7 wNUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4DkH+HsKr59a1msZyNsGwSRnaJGoXL2y3SWKWzOhSpU=; b=qV+JhOOehBj+V356wl4S7i7K1RQVzHitq/EyvEQBY84/0H0Ydzh+OUY3YuokvMI48D EWOpQikQ3PVAt6HlhxWDhdfrt4m8ou2ph3cK8I+zZNh7P3HhrNAV99W0woQ6OgRPbmpA 13NXtZjCsx+b/LxmC6mcORKH0U6do03iNyIRcNswdX5ldKpSBjHqQpuALeyPJM1kKuRD tBHxBP1I7K1K904oL2VJFVghuyjmJHpaTjfOLgqduW+kTx8iQ23HNlXtF0BH3w76De9P nKpC4v1QzDli2tpxpcvLkFyxDdZz4COuEKaB56PvkLvRWlUyMfw4j6lOiRvkMfECee07 KubQ== X-Gm-Message-State: AOAM532YJf46Q7byhBDp7zzo9sq3za+cyAB0DvBTpJo1j0YltkzFdUEC RMxqNfMyMFZQ7aQGx+y8Hub9mQ== X-Received: by 2002:adf:83c5:: with SMTP id 63mr19833097wre.321.1595852643909; Mon, 27 Jul 2020 05:24:03 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id z11sm12067528wrw.93.2020.07.27.05.23.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:00 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id BC7A21FF90; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 04/16] util: add qemu_get_host_physmem utility function Date: Mon, 27 Jul 2020 13:23:45 +0100 Message-Id: <20200727122357.31263-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Stefan Weil , Richard Henderson , qemu-devel@nongnu.org, Christian Ehrhardt , Paolo Bonzini , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This will be used in a future patch. For POSIX systems _SC_PHYS_PAGES isn't standardised but at least appears in the man pages for Open/FreeBSD. The result is advisory so any users of it shouldn't just fail if we can't work it out. The win32 stub currently returns 0 until someone with a Windows system can develop and test a patch. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Cc: BALATON Zoltan Cc: Christian Ehrhardt Message-Id: <20200724064509.331-5-alex.bennee@linaro.org> -- 2.20.1 diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 45c217aa280..0b1298b3c91 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -668,4 +668,16 @@ static inline void qemu_reset_optind(void) */ char *qemu_get_host_name(Error **errp); +/** + * qemu_get_host_physmem: + * + * Operating system agnostic way of querying host memory. + * + * Returns amount of physical memory on the system. This is purely + * advisery and may return 0 if we can't work it out. At the other + * end we saturate to SIZE_MAX if you are lucky enough to have that + * much memory. + */ +size_t qemu_get_host_physmem(void); + #endif diff --git a/util/oslib-posix.c b/util/oslib-posix.c index d9236746248..ad8001a4ad8 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -841,3 +841,18 @@ char *qemu_get_host_name(Error **errp) return g_steal_pointer(&hostname); } + +size_t qemu_get_host_physmem(void) +{ +#ifdef _SC_PHYS_PAGES + long pages = sysconf(_SC_PHYS_PAGES); + if (pages > 0) { + if (pages > SIZE_MAX / qemu_real_host_page_size) { + return SIZE_MAX; + } else { + return pages * qemu_real_host_page_size; + } + } +#endif + return 0; +} diff --git a/util/oslib-win32.c b/util/oslib-win32.c index 7eedbe5859a..31030463cc9 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -828,3 +828,9 @@ char *qemu_get_host_name(Error **errp) return g_utf16_to_utf8(tmp, size, NULL, NULL, NULL); } + +size_t qemu_get_host_physmem(void) +{ + /* currently unimplemented */ + return 0; +} From patchwork Mon Jul 27 12:23:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247167 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4754029ilg; Mon, 27 Jul 2020 05:24:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxzY1xp58OubVhqbBLHgBbdf7rBYlZdOfctBb7tN3KLUNI1eLxztNjUYLPdRXaJm5vRhy+5 X-Received: by 2002:a25:61c7:: with SMTP id v190mr31614341ybb.168.1595852691956; Mon, 27 Jul 2020 05:24:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852691; cv=none; d=google.com; s=arc-20160816; b=PMHE3ThIIo3tpPmMYfiefEAWaUn0QzTAQdRFx3sB8ab8P8TRJq+VY+N2JNh8jNXGZF yoltZnb2+VDwmii5SA4WRio2Yc1Wsb4Ideo36hDegHv4w41qRQ2ROx3aymljaFxIWKX9 txRXBimIqnsyZupeq/gBmFh/MCZne7hgirwBiqvxUucA0EqKA/lBHGBvNbKvShJuB799 3980yRRw7hn4Y98/fqHkPXAdoSs5YqUW9OpPodn24AQIIzyTjpGPZ/JalDEuaEUdHcb9 x5ewOls12UicBy9FSyDOw7my941tRwiXxOpailQw73s8snk4oCUv+x2/s6dai2KxdPOt qEKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=BEKbRdaWfA3EKdWk/JBxm74i5sf9oIyCkFpxTRpGyXY=; b=JLHWaF1RW4GlCrW8xhMxHA/tpaFUMu/5dxqiU+YtFmCNA6ow36JSDmC/nGdJqHQupS nfmP7ibftyAtnhF3p6kpXRhTPXluJvRb05Rmhb42eX9O7WFSCCPix3+moqtu4wcffXXb IvMPD+6hYxqPOhVgxxvQFYMyGTb6+JmTLbglRJg75pCp0ZeHWi6vXckiD3mf0N/JfTeA 9o0IuibwQ/sjSF9FH97/RUKUnpH0/dzF4yYEGV3S/mzEP0eHscu6GYHyMKzGp0HE7/rS cWmwivpuHfsfTA+0OGLyX+lPC9QOVUcZ/JcmXNKsSiMNFXhLZ+yvzmXaGbed5b4N5iO4 YxKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Za26vszN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id z7si9124091ybc.460.2020.07.27.05.24.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:24:51 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Za26vszN; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40660 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02BX-00070x-Dq for patch@linaro.org; Mon, 27 Jul 2020 08:24:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Aq-0006ww-6F for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:08 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:40787) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ao-0006QR-Jd for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:07 -0400 Received: by mail-wm1-x334.google.com with SMTP id k20so6900021wmi.5 for ; Mon, 27 Jul 2020 05:24:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BEKbRdaWfA3EKdWk/JBxm74i5sf9oIyCkFpxTRpGyXY=; b=Za26vszNCFXvCPy9yuU7fyuU8ug2Lf44IhLIK8d0YpO8Vlrp8FWyk/4LopByn2DQXT cexUQDfnw0qWhawEzbNMai6mDv0YzXA7Dtce1FjLnv2XgrxgELa3e//0lIrten7B24dj m7ssmasbu9z8jX8xNbCF7DWH7CRUheF/S9bMKF5m5jTyJzfhYhA4em0Pk6XhhPmLHXpG 2Kvl/0yL09MixOLMmRAMK+RW36lKh8Im+1wNWocW3WDbMZVwfjkJp5ewh117w9uk3dkv tck2R86abZMT/UgvmaJfI/BT5mOlq+7Pzlaoa1AhVNboKe74Irs3SgRJrHfYUUIr+fS0 8VmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BEKbRdaWfA3EKdWk/JBxm74i5sf9oIyCkFpxTRpGyXY=; b=UeLeHLMasKmpIrXuLuGz2Lsq4ADe3SZNCkWvqPkG9011q8Gt1pHjlkeueaFlivE/GS 1R02P/Fgq+TkQIEXg7iwZfTvkGRVuaFaTd1ze0dqyWT0FD15TnMztnT5taHMYiQT9Ye6 Kqeo+dklBo3XHVXLdpZdsJBItXg/ooU91qDsRU4s8xihCllY3ozhk7IVDNRIuwpI0v1i gVZovHcBWzRcP+j/UZ67seQaldfMG2s/QH6UshKBdLlmvaCn+BZjJRcHKJAowfRLv78c QC749MpMGbsU3tw3rXlIMYof3LuWS7FYBZTCZtxSMd4cIxS+/ePpzXb2d3tourt7dUzX pwNQ== X-Gm-Message-State: AOAM5303tD5m4I+ZBsv2bEf2tkWPOErjNBE7fZX3VL6i5PqxIF7FwZRQ 0umFq/yjn3jkzKQEZcgNByNhKA== X-Received: by 2002:a1c:9e4c:: with SMTP id h73mr21829259wme.177.1595852645233; Mon, 27 Jul 2020 05:24:05 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h13sm12119585wrx.17.2020.07.27.05.23.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:01 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id D56781FF91; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 05/16] util/oslib-win32: add qemu_get_host_physmem implementation Date: Mon, 27 Jul 2020 13:23:46 +0100 Message-Id: <20200727122357.31263-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x334.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Stefan Weil , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Compile tested only. Signed-off-by: Alex Bennée Reviewed-by: Stefan Weil Message-Id: <20200724064509.331-6-alex.bennee@linaro.org> -- 2.20.1 diff --git a/util/oslib-win32.c b/util/oslib-win32.c index 31030463cc9..c654dafd937 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -831,6 +831,11 @@ char *qemu_get_host_name(Error **errp) size_t qemu_get_host_physmem(void) { - /* currently unimplemented */ + MEMORYSTATUSEX statex; + statex.dwLength = sizeof(statex); + + if (GlobalMemoryStatusEx(&statex)) { + return statex.ullTotalPhys; + } return 0; } From patchwork Mon Jul 27 12:23:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247170 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4755344ilg; Mon, 27 Jul 2020 05:26:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeB3B6vqpH8XAUo04kU3Tj5Y85RfifZd2MnMJcoNA3nujpxvx2yXlqABjkV/WxMA6aax5c X-Received: by 2002:a5b:102:: with SMTP id 2mr33899621ybx.335.1595852808887; Mon, 27 Jul 2020 05:26:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852808; cv=none; d=google.com; s=arc-20160816; b=mfcjvTL+kynfnRWxZfqfASaHnQWYHAqYA5kaW4VcRZcDp6M2FMpb451fBjyBXJxort Qpo9L1dsLAjYwkQl444nw3n+UoO15qXuahoy5+CVtAaY90VZCGzlyR/+6oXWnI7NbyT/ ouJFduHRAVfCtU4F6C7DweAU/3TdvuZqHIsWsPTKUmpyZUua68nUX2OrPln4bWEE8mji XjAwUzUwKE22xyMnn+spokWOqqSBiwqh8t/cSHgF9FBqcuR9/UFe5kq68CLMnB72dsX0 NY3T0Db3AZUhMrpduOzRvyDpGLLkUJWvVngyyYlzoZWxsJiTVwpsbtoJV+E37HLP5XhW cDWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=PRLfK+qPAC6gSDd74XPBGh+NxN06ki9WKWBJWChAWs0=; b=VDUtq2PQUA6VjPiJhuFgRglQtAKHqfpTPd3Ja5uIangTBC53Ye0v84+j07Sx43Wjn+ wEwK0C1bpcAaH/2FXhV+j6YJKpU06dYHW8NrkRyAnSRE9+VcQ7Vce6DbHLPuXMAAtF6/ 9HxJol11s0XwSioyQpc/Aim9dIQVtwwBZuGxQY2uGvBkHC8x7xcuQI+H4PNsQC2YWzPg K4N3MxbawqMRpy9QGSLo4mDDJ4MJVchfGkgjSSooSWg+A68XwU6mVMgQJYzVtlJKpXmB nAbZ8+g9fmrxTjht7ghK/JocHZvYL8qWYkIcSiP9kAkC0F6ClvbIOkm8SAyuuNDsLdIn LUUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=z5fcyUrL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id v7si9359998ybl.243.2020.07.27.05.26.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:26:48 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=z5fcyUrL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49076 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02DQ-0002Bj-Cf for patch@linaro.org; Mon, 27 Jul 2020 08:26:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Ar-00070I-Hx for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:09 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:40279) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ap-0006Qg-SC for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:09 -0400 Received: by mail-wr1-x436.google.com with SMTP id l2so4115583wrc.7 for ; Mon, 27 Jul 2020 05:24:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PRLfK+qPAC6gSDd74XPBGh+NxN06ki9WKWBJWChAWs0=; b=z5fcyUrLACUZTWdlc4vMHpSStzN3FIcdIAMod3h5V4Cmtcd2iPCVN7uM+OedNYAGya qiERAyWYLM+eb9Wa/6W6jMX1oLUf2+WUCy22QYtvsPH3TFQhCvbrEQHzUO7v11thLVNL eMcnVSuwfL+b9QYwM6rsTXZ/GrFf12EYH59dFChKwiPomKV1CxVCJG+HqXq/E5E77s1x ydQ8SKofD97L//1aJKrmFyHG0u6x1dvnZr11PdviM71FC4DRVf8wFiDEmn3KRVrKQ6u5 Oo7QwwpzzmU1oGiwHEfZY0vK+3G4rj7fycOZQcdaLrj7rPQjloqPX81U36wvtRh/Ikh8 9V6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PRLfK+qPAC6gSDd74XPBGh+NxN06ki9WKWBJWChAWs0=; b=S467ZN5fWB0QmeX4xMR2oaD64uU+GZM+SsAk85b5k1NXqejQWA6jQgbLYaRqVBiUq9 ba2B504I07mK6U6AZ5pHegF3v5r+gC8r8vrXsY418o1YFiIJCIDLt6DD4izxwkfW5tIE vO+lhKGzTZvzJN0RdMLMtY4nQ4ZWCe+KjWLWWokmYJ5dIvrJklLZcW3z1fg8bZslfZ8L I5WQCoZGPT0tUGGe+UVNHZDotw0ApNXhdtPt1T6474txsBe9P9JmeBEQ7RBCH+9jkclc AroH5TnQUS5KXmiZ/KQvXMlWEIBXtSeOJLCsm2dkHHNCrpr5rRF3v/OdnUOyr7iQv80v gNwQ== X-Gm-Message-State: AOAM532pBYfZFcLOdFsWUdEAAXY94HjB8E/vKh0XC9RW5dlerlWcm7wh R7ZyodLCgcqmtKTNhcuDxNHLEg== X-Received: by 2002:a5d:658a:: with SMTP id q10mr19243983wru.1.1595852646497; Mon, 27 Jul 2020 05:24:06 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 128sm1890066wmz.43.2020.07.27.05.23.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:01 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id EA0F61FF92; Mon, 27 Jul 2020 13:23:57 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 06/16] accel/tcg: better handle memory constrained systems Date: Mon, 27 Jul 2020 13:23:47 +0100 Message-Id: <20200727122357.31263-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Robert Foley , Richard Henderson , qemu-devel@nongnu.org, Christian Ehrhardt , Paolo Bonzini , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" It turns out there are some 64 bit systems that have relatively low amounts of physical memory available to them (typically CI system). Even with swapping available a 1GB translation buffer that fills up can put the machine under increased memory pressure. Detect these low memory situations and reduce tb_size appropriately. Fixes: 600e17b2615 ("accel/tcg: increase default code gen buffer size for 64 bit") Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Reviewed-by: Robert Foley Cc: BALATON Zoltan Cc: Christian Ehrhardt Message-Id: <20200724064509.331-7-alex.bennee@linaro.org> -- 2.20.1 Tested-by: Christian Ehrhardt Reviewed-by: Christian Ehrhardt Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Robert Foley <robert.foley@linaro.org>
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 2afa46bd2b1..2d83013633b 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -976,7 +976,12 @@ static inline size_t size_code_gen_buffer(size_t tb_size) { /* Size the buffer. */ if (tb_size == 0) { - tb_size = DEFAULT_CODE_GEN_BUFFER_SIZE; + size_t phys_mem = qemu_get_host_physmem(); + if (phys_mem == 0) { + tb_size = DEFAULT_CODE_GEN_BUFFER_SIZE; + } else { + tb_size = MIN(DEFAULT_CODE_GEN_BUFFER_SIZE, phys_mem / 8); + } } if (tb_size < MIN_CODE_GEN_BUFFER_SIZE) { tb_size = MIN_CODE_GEN_BUFFER_SIZE; From patchwork Mon Jul 27 12:23:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247174 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4757264ilg; Mon, 27 Jul 2020 05:29:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzhUqajVsuyqSSXVgGQhQrl9kUcopwd4uf8aAA8tqt0AHouqrg7Q8hJ91Br3XZBVWNuhmbO X-Received: by 2002:a25:cc88:: with SMTP id l130mr4083223ybf.74.1595852988997; Mon, 27 Jul 2020 05:29:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852988; cv=none; d=google.com; s=arc-20160816; b=Mog2T8wr7O1O+xrtswab8krmTJh0oe/2Ybd4jRc9NoNYgP9ss3ZZLeUOMwKTpU9rT8 B4ZlfuAlnWjb3tlkgw92PR8kF5kqODsEL1ZOAWiVgBTTNUSG2FJMBr7PaSsQ4O0lYx5o 16Wxx9MxvqmDWDTOrZJRPi1nMnN0Os7SYTni5DabqsyebxpPJN4S1XPM0IbeWCCWZO4B n3f7ED/vOSfb3ApTraUZ7NoFon/4jgxZcA4KfMOAGqqIsNG1EQ0bfOwSf/BuHNtKoNH1 uGsVDvKLFFqzT7Zutv38p2Ty+vLRHwMDcQuBB/dYNFcpseVo8zTuXjfiOosa9oi7Ofew f+GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=VC8GsT9wkxwuItfaFLaXiwG0+wSZibnk+UOd4SzLhKU=; b=YSK0t5GVAzZksU6ef0YHtKjUR2Nmc6vbPGlVY7dMLbJkC8JJOjsKqMSUdDdwqZhfp/ eB5xJk3FogzDUnNe+cAn6ldsTx7zaZ2hVdeR9fNMsKtI6m6suXhKZ3x+zSgoOmE8zW7X fiWeDvjL7svQ+ZMHKNG7SE0tzsVAE4krz4Zny5S+BcQKdNXguN31pc213g0yB7P0b5FG iwT7olDVCGNYiBgADss3H8Cw2/n/+CA/GW8qVEKabsPwQ9UBl3ocygdavE7t2EWQE28T VNykcujABqkJKtzPfE8GO7olaahFCshfQR/6Rc4BJwVT30q8j3txOs3sIVTSXcgSy0CH sFsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=U4pVzY0u; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id t5si9418759ybp.39.2020.07.27.05.29.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:29:48 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=U4pVzY0u; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02GK-0007Bf-DX for patch@linaro.org; Mon, 27 Jul 2020 08:29:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Av-0007CB-Tt for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:13 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:37271) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02As-0006RA-TC for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:13 -0400 Received: by mail-wm1-x32d.google.com with SMTP id k8so4228129wma.2 for ; Mon, 27 Jul 2020 05:24:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VC8GsT9wkxwuItfaFLaXiwG0+wSZibnk+UOd4SzLhKU=; b=U4pVzY0uhpFCmmmicP3+EddVLEi2Y8FGZgqpX4l7M/pJ/39KCTiQMu45V4zO1gQuyj AECYuQ9NECqDY4ILTNtQYNYyWKVXrMnRPODYCrGa0urN6BvYZvg9grmTxAhCHliPgCB8 zOHpihHXHo/eGQ8YYtbZ5gdjaXdfVlOHPEyYvdvDpc8UH0cDEr4ubarwsMnlKF6xkY7W z9fBNFFfG23te81ummInFr6VSdiMGniEPufNGWZgcOf53aK7U+WL9YWqjPitigg11uJ0 5vflvRTZUDel7Kq9PvertkhKm9evp+Jsy8Wg+CjVli8cczxxclXDBRs9Q8DySZn0cCqF aIEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VC8GsT9wkxwuItfaFLaXiwG0+wSZibnk+UOd4SzLhKU=; b=W6BiwKsVqMCx2I9aqsmWHVIODlsKuNOCqkYFZhJMA007t3MJZoc1tt5C7XoHdh9cUP DI5Jf2hzxsVZQ8VsjmRL+qfkgz18N6PvkZvvBPtHGdjvi+9vprc5hfMWw0JVYEiIFKgI UfogbdaJke4wzqnAu23SNJv5K0yJcvQCtulnRWjhBIToPmn4DZWm7JLYoop8fqQBcy8V EmTvSQazTrJEsP9C93yzgXbYv/IeaLAZOtJAqGC/Bzc6vTNe4JwMXO3WjuBUV/3+XFNt CWvtZUH57nE8Q4hZLcYD0TV3bTVFviKBBmhK0ZxU8u48ykNR3xUxzA/2To8R5KD9pSpy DiJQ== X-Gm-Message-State: AOAM532oFmSULNhlg4Gc1Ab5eGiLTLrao+Id9S5Hiu1uFvEXtEb5iTIk +A4BQWRomiiES2pp8HKnFwJZYQ== X-Received: by 2002:a1c:2109:: with SMTP id h9mr19789133wmh.174.1595852649360; Mon, 27 Jul 2020 05:24:09 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 68sm12790871wra.39.2020.07.27.05.24.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:04 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 0E9BA1FF93; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 07/16] target/i386: floatx80: avoid compound literals in static initializers Date: Mon, 27 Jul 2020 13:23:48 +0100 Message-Id: <20200727122357.31263-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Eduardo Habkost , Laszlo Ersek , Richard Henderson , qemu-devel@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Joseph Myers , Paolo Bonzini , =?utf-8?q?Alex_Benn=C3=A9e?= , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Laszlo Ersek Quoting ISO C99 6.7.8p4, "All the expressions in an initializer for an object that has static storage duration shall be constant expressions or string literals". The compound literal produced by the make_floatx80() macro is not such a constant expression, per 6.6p7-9. (An implementation may accept it, according to 6.6p10, but is not required to.) Therefore using "floatx80_zero" and make_floatx80() for initializing "f2xm1_table" and "fpatan_table" is not portable. And gcc-4.8 in RHEL-7.6 actually chokes on them: > target/i386/fpu_helper.c:871:5: error: initializer element is not constant > { make_floatx80(0xbfff, 0x8000000000000000ULL), > ^ We've had the make_floatx80_init() macro for this purpose since commit 3bf7e40ab914 ("softfloat: fix for C99", 2012-03-17), so let's use that macro again. Fixes: eca30647fc0 ("target/i386: reimplement f2xm1 using floatx80 operations") Fixes: ff57bb7b632 ("target/i386: reimplement fpatan using floatx80 operations") Signed-off-by: Laszlo Ersek Signed-off-by: Alex Bennée Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Cc: Aurelien Jarno Cc: Eduardo Habkost Cc: Joseph Myers Cc: Paolo Bonzini Cc: Peter Maydell Link: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06566.html Link: https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg04714.html Message-Id: <20200716144251.23004-1-lersek@redhat.com> Message-Id: <20200724064509.331-8-alex.bennee@linaro.org> -- 2.20.1 diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h index f1a19df066b..659218b5c78 100644 --- a/include/fpu/softfloat.h +++ b/include/fpu/softfloat.h @@ -822,6 +822,7 @@ static inline bool floatx80_invalid_encoding(floatx80 a) } #define floatx80_zero make_floatx80(0x0000, 0x0000000000000000LL) +#define floatx80_zero_init make_floatx80_init(0x0000, 0x0000000000000000LL) #define floatx80_one make_floatx80(0x3fff, 0x8000000000000000LL) #define floatx80_ln2 make_floatx80(0x3ffe, 0xb17217f7d1cf79acLL) #define floatx80_pi make_floatx80(0x4000, 0xc90fdaa22168c235LL) diff --git a/target/i386/fpu_helper.c b/target/i386/fpu_helper.c index f5e6c4b88d4..4ea73874d83 100644 --- a/target/i386/fpu_helper.c +++ b/target/i386/fpu_helper.c @@ -868,201 +868,201 @@ struct f2xm1_data { }; static const struct f2xm1_data f2xm1_table[65] = { - { make_floatx80(0xbfff, 0x8000000000000000ULL), - make_floatx80(0x3ffe, 0x8000000000000000ULL), - make_floatx80(0xbffe, 0x8000000000000000ULL) }, - { make_floatx80(0xbffe, 0xf800000000002e7eULL), - make_floatx80(0x3ffe, 0x82cd8698ac2b9160ULL), - make_floatx80(0xbffd, 0xfa64f2cea7a8dd40ULL) }, - { make_floatx80(0xbffe, 0xefffffffffffe960ULL), - make_floatx80(0x3ffe, 0x85aac367cc488345ULL), - make_floatx80(0xbffd, 0xf4aa7930676ef976ULL) }, - { make_floatx80(0xbffe, 0xe800000000006f10ULL), - make_floatx80(0x3ffe, 0x88980e8092da5c14ULL), - make_floatx80(0xbffd, 0xeecfe2feda4b47d8ULL) }, - { make_floatx80(0xbffe, 0xe000000000008a45ULL), - make_floatx80(0x3ffe, 0x8b95c1e3ea8ba2a5ULL), - make_floatx80(0xbffd, 0xe8d47c382ae8bab6ULL) }, - { make_floatx80(0xbffe, 0xd7ffffffffff8a9eULL), - make_floatx80(0x3ffe, 0x8ea4398b45cd8116ULL), - make_floatx80(0xbffd, 0xe2b78ce97464fdd4ULL) }, - { make_floatx80(0xbffe, 0xd0000000000019a0ULL), - make_floatx80(0x3ffe, 0x91c3d373ab11b919ULL), - make_floatx80(0xbffd, 0xdc785918a9dc8dceULL) }, - { make_floatx80(0xbffe, 0xc7ffffffffff14dfULL), - make_floatx80(0x3ffe, 0x94f4efa8fef76836ULL), - make_floatx80(0xbffd, 0xd61620ae02112f94ULL) }, - { make_floatx80(0xbffe, 0xc000000000006530ULL), - make_floatx80(0x3ffe, 0x9837f0518db87fbbULL), - make_floatx80(0xbffd, 0xcf901f5ce48f008aULL) }, - { make_floatx80(0xbffe, 0xb7ffffffffff1723ULL), - make_floatx80(0x3ffe, 0x9b8d39b9d54eb74cULL), - make_floatx80(0xbffd, 0xc8e58c8c55629168ULL) }, - { make_floatx80(0xbffe, 0xb00000000000b5e1ULL), - make_floatx80(0x3ffe, 0x9ef5326091a0c366ULL), - make_floatx80(0xbffd, 0xc2159b3edcbe7934ULL) }, - { make_floatx80(0xbffe, 0xa800000000006f8aULL), - make_floatx80(0x3ffe, 0xa27043030c49370aULL), - make_floatx80(0xbffd, 0xbb1f79f9e76d91ecULL) }, - { make_floatx80(0xbffe, 0x9fffffffffff816aULL), - make_floatx80(0x3ffe, 0xa5fed6a9b15171cfULL), - make_floatx80(0xbffd, 0xb40252ac9d5d1c62ULL) }, - { make_floatx80(0xbffe, 0x97ffffffffffb621ULL), - make_floatx80(0x3ffe, 0xa9a15ab4ea7c30e6ULL), - make_floatx80(0xbffd, 0xacbd4a962b079e34ULL) }, - { make_floatx80(0xbffe, 0x8fffffffffff162bULL), - make_floatx80(0x3ffe, 0xad583eea42a1b886ULL), - make_floatx80(0xbffd, 0xa54f822b7abc8ef4ULL) }, - { make_floatx80(0xbffe, 0x87ffffffffff4d34ULL), - make_floatx80(0x3ffe, 0xb123f581d2ac7b51ULL), - make_floatx80(0xbffd, 0x9db814fc5aa7095eULL) }, - { make_floatx80(0xbffe, 0x800000000000227dULL), - make_floatx80(0x3ffe, 0xb504f333f9de539dULL), - make_floatx80(0xbffd, 0x95f619980c4358c6ULL) }, - { make_floatx80(0xbffd, 0xefffffffffff3978ULL), - make_floatx80(0x3ffe, 0xb8fbaf4762fbd0a1ULL), - make_floatx80(0xbffd, 0x8e08a1713a085ebeULL) }, - { make_floatx80(0xbffd, 0xe00000000000df81ULL), - make_floatx80(0x3ffe, 0xbd08a39f580bfd8cULL), - make_floatx80(0xbffd, 0x85eeb8c14fe804e8ULL) }, - { make_floatx80(0xbffd, 0xd00000000000bccfULL), - make_floatx80(0x3ffe, 0xc12c4cca667062f6ULL), - make_floatx80(0xbffc, 0xfb4eccd6663e7428ULL) }, - { make_floatx80(0xbffd, 0xc00000000000eff0ULL), - make_floatx80(0x3ffe, 0xc5672a1155069abeULL), - make_floatx80(0xbffc, 0xea6357baabe59508ULL) }, - { make_floatx80(0xbffd, 0xb000000000000fe6ULL), - make_floatx80(0x3ffe, 0xc9b9bd866e2f234bULL), - make_floatx80(0xbffc, 0xd91909e6474372d4ULL) }, - { make_floatx80(0xbffd, 0x9fffffffffff2172ULL), - make_floatx80(0x3ffe, 0xce248c151f84bf00ULL), - make_floatx80(0xbffc, 0xc76dcfab81ed0400ULL) }, - { make_floatx80(0xbffd, 0x8fffffffffffafffULL), - make_floatx80(0x3ffe, 0xd2a81d91f12afb2bULL), - make_floatx80(0xbffc, 0xb55f89b83b541354ULL) }, - { make_floatx80(0xbffc, 0xffffffffffff81a3ULL), - make_floatx80(0x3ffe, 0xd744fccad69d7d5eULL), - make_floatx80(0xbffc, 0xa2ec0cd4a58a0a88ULL) }, - { make_floatx80(0xbffc, 0xdfffffffffff1568ULL), - make_floatx80(0x3ffe, 0xdbfbb797daf25a44ULL), - make_floatx80(0xbffc, 0x901121a0943696f0ULL) }, - { make_floatx80(0xbffc, 0xbfffffffffff68daULL), - make_floatx80(0x3ffe, 0xe0ccdeec2a94f811ULL), - make_floatx80(0xbffb, 0xf999089eab583f78ULL) }, - { make_floatx80(0xbffc, 0x9fffffffffff4690ULL), - make_floatx80(0x3ffe, 0xe5b906e77c83657eULL), - make_floatx80(0xbffb, 0xd237c8c41be4d410ULL) }, - { make_floatx80(0xbffb, 0xffffffffffff8aeeULL), - make_floatx80(0x3ffe, 0xeac0c6e7dd24427cULL), - make_floatx80(0xbffb, 0xa9f9c8c116ddec20ULL) }, - { make_floatx80(0xbffb, 0xbfffffffffff2d18ULL), - make_floatx80(0x3ffe, 0xefe4b99bdcdb06ebULL), - make_floatx80(0xbffb, 0x80da33211927c8a8ULL) }, - { make_floatx80(0xbffa, 0xffffffffffff8ccbULL), - make_floatx80(0x3ffe, 0xf5257d152486d0f4ULL), - make_floatx80(0xbffa, 0xada82eadb792f0c0ULL) }, - { make_floatx80(0xbff9, 0xffffffffffff11feULL), - make_floatx80(0x3ffe, 0xfa83b2db722a0846ULL), - make_floatx80(0xbff9, 0xaf89a491babef740ULL) }, - { floatx80_zero, - make_floatx80(0x3fff, 0x8000000000000000ULL), - floatx80_zero }, - { make_floatx80(0x3ff9, 0xffffffffffff2680ULL), - make_floatx80(0x3fff, 0x82cd8698ac2b9f6fULL), - make_floatx80(0x3ff9, 0xb361a62b0ae7dbc0ULL) }, - { make_floatx80(0x3ffb, 0x800000000000b500ULL), - make_floatx80(0x3fff, 0x85aac367cc488345ULL), - make_floatx80(0x3ffa, 0xb5586cf9891068a0ULL) }, - { make_floatx80(0x3ffb, 0xbfffffffffff4b67ULL), - make_floatx80(0x3fff, 0x88980e8092da7cceULL), - make_floatx80(0x3ffb, 0x8980e8092da7cce0ULL) }, - { make_floatx80(0x3ffb, 0xffffffffffffff57ULL), - make_floatx80(0x3fff, 0x8b95c1e3ea8bd6dfULL), - make_floatx80(0x3ffb, 0xb95c1e3ea8bd6df0ULL) }, - { make_floatx80(0x3ffc, 0x9fffffffffff811fULL), - make_floatx80(0x3fff, 0x8ea4398b45cd4780ULL), - make_floatx80(0x3ffb, 0xea4398b45cd47800ULL) }, - { make_floatx80(0x3ffc, 0xbfffffffffff9980ULL), - make_floatx80(0x3fff, 0x91c3d373ab11b919ULL), - make_floatx80(0x3ffc, 0x8e1e9b9d588dc8c8ULL) }, - { make_floatx80(0x3ffc, 0xdffffffffffff631ULL), - make_floatx80(0x3fff, 0x94f4efa8fef70864ULL), - make_floatx80(0x3ffc, 0xa7a77d47f7b84320ULL) }, - { make_floatx80(0x3ffc, 0xffffffffffff2499ULL), - make_floatx80(0x3fff, 0x9837f0518db892d4ULL), - make_floatx80(0x3ffc, 0xc1bf828c6dc496a0ULL) }, - { make_floatx80(0x3ffd, 0x8fffffffffff80fbULL), - make_floatx80(0x3fff, 0x9b8d39b9d54e3a79ULL), - make_floatx80(0x3ffc, 0xdc69cdceaa71d3c8ULL) }, - { make_floatx80(0x3ffd, 0x9fffffffffffbc23ULL), - make_floatx80(0x3fff, 0x9ef5326091a10313ULL), - make_floatx80(0x3ffc, 0xf7a993048d081898ULL) }, - { make_floatx80(0x3ffd, 0xafffffffffff20ecULL), - make_floatx80(0x3fff, 0xa27043030c49370aULL), - make_floatx80(0x3ffd, 0x89c10c0c3124dc28ULL) }, - { make_floatx80(0x3ffd, 0xc00000000000fd2cULL), - make_floatx80(0x3fff, 0xa5fed6a9b15171cfULL), - make_floatx80(0x3ffd, 0x97fb5aa6c545c73cULL) }, - { make_floatx80(0x3ffd, 0xd0000000000093beULL), - make_floatx80(0x3fff, 0xa9a15ab4ea7c30e6ULL), - make_floatx80(0x3ffd, 0xa6856ad3a9f0c398ULL) }, - { make_floatx80(0x3ffd, 0xe00000000000c2aeULL), - make_floatx80(0x3fff, 0xad583eea42a17876ULL), - make_floatx80(0x3ffd, 0xb560fba90a85e1d8ULL) }, - { make_floatx80(0x3ffd, 0xefffffffffff1e3fULL), - make_floatx80(0x3fff, 0xb123f581d2abef6cULL), - make_floatx80(0x3ffd, 0xc48fd6074aafbdb0ULL) }, - { make_floatx80(0x3ffd, 0xffffffffffff1c23ULL), - make_floatx80(0x3fff, 0xb504f333f9de2cadULL), - make_floatx80(0x3ffd, 0xd413cccfe778b2b4ULL) }, - { make_floatx80(0x3ffe, 0x8800000000006344ULL), - make_floatx80(0x3fff, 0xb8fbaf4762fbd0a1ULL), - make_floatx80(0x3ffd, 0xe3eebd1d8bef4284ULL) }, - { make_floatx80(0x3ffe, 0x9000000000005d67ULL), - make_floatx80(0x3fff, 0xbd08a39f580c668dULL), - make_floatx80(0x3ffd, 0xf4228e7d60319a34ULL) }, - { make_floatx80(0x3ffe, 0x9800000000009127ULL), - make_floatx80(0x3fff, 0xc12c4cca6670e042ULL), - make_floatx80(0x3ffe, 0x82589994cce1c084ULL) }, - { make_floatx80(0x3ffe, 0x9fffffffffff06f9ULL), - make_floatx80(0x3fff, 0xc5672a11550655c3ULL), - make_floatx80(0x3ffe, 0x8ace5422aa0cab86ULL) }, - { make_floatx80(0x3ffe, 0xa7fffffffffff80dULL), - make_floatx80(0x3fff, 0xc9b9bd866e2f234bULL), - make_floatx80(0x3ffe, 0x93737b0cdc5e4696ULL) }, - { make_floatx80(0x3ffe, 0xafffffffffff1470ULL), - make_floatx80(0x3fff, 0xce248c151f83fd69ULL), - make_floatx80(0x3ffe, 0x9c49182a3f07fad2ULL) }, - { make_floatx80(0x3ffe, 0xb800000000000e0aULL), - make_floatx80(0x3fff, 0xd2a81d91f12aec5cULL), - make_floatx80(0x3ffe, 0xa5503b23e255d8b8ULL) }, - { make_floatx80(0x3ffe, 0xc00000000000b7faULL), - make_floatx80(0x3fff, 0xd744fccad69dd630ULL), - make_floatx80(0x3ffe, 0xae89f995ad3bac60ULL) }, - { make_floatx80(0x3ffe, 0xc800000000003aa6ULL), - make_floatx80(0x3fff, 0xdbfbb797daf25a44ULL), - make_floatx80(0x3ffe, 0xb7f76f2fb5e4b488ULL) }, - { make_floatx80(0x3ffe, 0xd00000000000a6aeULL), - make_floatx80(0x3fff, 0xe0ccdeec2a954685ULL), - make_floatx80(0x3ffe, 0xc199bdd8552a8d0aULL) }, - { make_floatx80(0x3ffe, 0xd800000000004165ULL), - make_floatx80(0x3fff, 0xe5b906e77c837155ULL), - make_floatx80(0x3ffe, 0xcb720dcef906e2aaULL) }, - { make_floatx80(0x3ffe, 0xe00000000000582cULL), - make_floatx80(0x3fff, 0xeac0c6e7dd24713aULL), - make_floatx80(0x3ffe, 0xd5818dcfba48e274ULL) }, - { make_floatx80(0x3ffe, 0xe800000000001a5dULL), - make_floatx80(0x3fff, 0xefe4b99bdcdb06ebULL), - make_floatx80(0x3ffe, 0xdfc97337b9b60dd6ULL) }, - { make_floatx80(0x3ffe, 0xefffffffffffc1efULL), - make_floatx80(0x3fff, 0xf5257d152486a2faULL), - make_floatx80(0x3ffe, 0xea4afa2a490d45f4ULL) }, - { make_floatx80(0x3ffe, 0xf800000000001069ULL), - make_floatx80(0x3fff, 0xfa83b2db722a0e5cULL), - make_floatx80(0x3ffe, 0xf50765b6e4541cb8ULL) }, - { make_floatx80(0x3fff, 0x8000000000000000ULL), - make_floatx80(0x4000, 0x8000000000000000ULL), - make_floatx80(0x3fff, 0x8000000000000000ULL) }, + { make_floatx80_init(0xbfff, 0x8000000000000000ULL), + make_floatx80_init(0x3ffe, 0x8000000000000000ULL), + make_floatx80_init(0xbffe, 0x8000000000000000ULL) }, + { make_floatx80_init(0xbffe, 0xf800000000002e7eULL), + make_floatx80_init(0x3ffe, 0x82cd8698ac2b9160ULL), + make_floatx80_init(0xbffd, 0xfa64f2cea7a8dd40ULL) }, + { make_floatx80_init(0xbffe, 0xefffffffffffe960ULL), + make_floatx80_init(0x3ffe, 0x85aac367cc488345ULL), + make_floatx80_init(0xbffd, 0xf4aa7930676ef976ULL) }, + { make_floatx80_init(0xbffe, 0xe800000000006f10ULL), + make_floatx80_init(0x3ffe, 0x88980e8092da5c14ULL), + make_floatx80_init(0xbffd, 0xeecfe2feda4b47d8ULL) }, + { make_floatx80_init(0xbffe, 0xe000000000008a45ULL), + make_floatx80_init(0x3ffe, 0x8b95c1e3ea8ba2a5ULL), + make_floatx80_init(0xbffd, 0xe8d47c382ae8bab6ULL) }, + { make_floatx80_init(0xbffe, 0xd7ffffffffff8a9eULL), + make_floatx80_init(0x3ffe, 0x8ea4398b45cd8116ULL), + make_floatx80_init(0xbffd, 0xe2b78ce97464fdd4ULL) }, + { make_floatx80_init(0xbffe, 0xd0000000000019a0ULL), + make_floatx80_init(0x3ffe, 0x91c3d373ab11b919ULL), + make_floatx80_init(0xbffd, 0xdc785918a9dc8dceULL) }, + { make_floatx80_init(0xbffe, 0xc7ffffffffff14dfULL), + make_floatx80_init(0x3ffe, 0x94f4efa8fef76836ULL), + make_floatx80_init(0xbffd, 0xd61620ae02112f94ULL) }, + { make_floatx80_init(0xbffe, 0xc000000000006530ULL), + make_floatx80_init(0x3ffe, 0x9837f0518db87fbbULL), + make_floatx80_init(0xbffd, 0xcf901f5ce48f008aULL) }, + { make_floatx80_init(0xbffe, 0xb7ffffffffff1723ULL), + make_floatx80_init(0x3ffe, 0x9b8d39b9d54eb74cULL), + make_floatx80_init(0xbffd, 0xc8e58c8c55629168ULL) }, + { make_floatx80_init(0xbffe, 0xb00000000000b5e1ULL), + make_floatx80_init(0x3ffe, 0x9ef5326091a0c366ULL), + make_floatx80_init(0xbffd, 0xc2159b3edcbe7934ULL) }, + { make_floatx80_init(0xbffe, 0xa800000000006f8aULL), + make_floatx80_init(0x3ffe, 0xa27043030c49370aULL), + make_floatx80_init(0xbffd, 0xbb1f79f9e76d91ecULL) }, + { make_floatx80_init(0xbffe, 0x9fffffffffff816aULL), + make_floatx80_init(0x3ffe, 0xa5fed6a9b15171cfULL), + make_floatx80_init(0xbffd, 0xb40252ac9d5d1c62ULL) }, + { make_floatx80_init(0xbffe, 0x97ffffffffffb621ULL), + make_floatx80_init(0x3ffe, 0xa9a15ab4ea7c30e6ULL), + make_floatx80_init(0xbffd, 0xacbd4a962b079e34ULL) }, + { make_floatx80_init(0xbffe, 0x8fffffffffff162bULL), + make_floatx80_init(0x3ffe, 0xad583eea42a1b886ULL), + make_floatx80_init(0xbffd, 0xa54f822b7abc8ef4ULL) }, + { make_floatx80_init(0xbffe, 0x87ffffffffff4d34ULL), + make_floatx80_init(0x3ffe, 0xb123f581d2ac7b51ULL), + make_floatx80_init(0xbffd, 0x9db814fc5aa7095eULL) }, + { make_floatx80_init(0xbffe, 0x800000000000227dULL), + make_floatx80_init(0x3ffe, 0xb504f333f9de539dULL), + make_floatx80_init(0xbffd, 0x95f619980c4358c6ULL) }, + { make_floatx80_init(0xbffd, 0xefffffffffff3978ULL), + make_floatx80_init(0x3ffe, 0xb8fbaf4762fbd0a1ULL), + make_floatx80_init(0xbffd, 0x8e08a1713a085ebeULL) }, + { make_floatx80_init(0xbffd, 0xe00000000000df81ULL), + make_floatx80_init(0x3ffe, 0xbd08a39f580bfd8cULL), + make_floatx80_init(0xbffd, 0x85eeb8c14fe804e8ULL) }, + { make_floatx80_init(0xbffd, 0xd00000000000bccfULL), + make_floatx80_init(0x3ffe, 0xc12c4cca667062f6ULL), + make_floatx80_init(0xbffc, 0xfb4eccd6663e7428ULL) }, + { make_floatx80_init(0xbffd, 0xc00000000000eff0ULL), + make_floatx80_init(0x3ffe, 0xc5672a1155069abeULL), + make_floatx80_init(0xbffc, 0xea6357baabe59508ULL) }, + { make_floatx80_init(0xbffd, 0xb000000000000fe6ULL), + make_floatx80_init(0x3ffe, 0xc9b9bd866e2f234bULL), + make_floatx80_init(0xbffc, 0xd91909e6474372d4ULL) }, + { make_floatx80_init(0xbffd, 0x9fffffffffff2172ULL), + make_floatx80_init(0x3ffe, 0xce248c151f84bf00ULL), + make_floatx80_init(0xbffc, 0xc76dcfab81ed0400ULL) }, + { make_floatx80_init(0xbffd, 0x8fffffffffffafffULL), + make_floatx80_init(0x3ffe, 0xd2a81d91f12afb2bULL), + make_floatx80_init(0xbffc, 0xb55f89b83b541354ULL) }, + { make_floatx80_init(0xbffc, 0xffffffffffff81a3ULL), + make_floatx80_init(0x3ffe, 0xd744fccad69d7d5eULL), + make_floatx80_init(0xbffc, 0xa2ec0cd4a58a0a88ULL) }, + { make_floatx80_init(0xbffc, 0xdfffffffffff1568ULL), + make_floatx80_init(0x3ffe, 0xdbfbb797daf25a44ULL), + make_floatx80_init(0xbffc, 0x901121a0943696f0ULL) }, + { make_floatx80_init(0xbffc, 0xbfffffffffff68daULL), + make_floatx80_init(0x3ffe, 0xe0ccdeec2a94f811ULL), + make_floatx80_init(0xbffb, 0xf999089eab583f78ULL) }, + { make_floatx80_init(0xbffc, 0x9fffffffffff4690ULL), + make_floatx80_init(0x3ffe, 0xe5b906e77c83657eULL), + make_floatx80_init(0xbffb, 0xd237c8c41be4d410ULL) }, + { make_floatx80_init(0xbffb, 0xffffffffffff8aeeULL), + make_floatx80_init(0x3ffe, 0xeac0c6e7dd24427cULL), + make_floatx80_init(0xbffb, 0xa9f9c8c116ddec20ULL) }, + { make_floatx80_init(0xbffb, 0xbfffffffffff2d18ULL), + make_floatx80_init(0x3ffe, 0xefe4b99bdcdb06ebULL), + make_floatx80_init(0xbffb, 0x80da33211927c8a8ULL) }, + { make_floatx80_init(0xbffa, 0xffffffffffff8ccbULL), + make_floatx80_init(0x3ffe, 0xf5257d152486d0f4ULL), + make_floatx80_init(0xbffa, 0xada82eadb792f0c0ULL) }, + { make_floatx80_init(0xbff9, 0xffffffffffff11feULL), + make_floatx80_init(0x3ffe, 0xfa83b2db722a0846ULL), + make_floatx80_init(0xbff9, 0xaf89a491babef740ULL) }, + { floatx80_zero_init, + make_floatx80_init(0x3fff, 0x8000000000000000ULL), + floatx80_zero_init }, + { make_floatx80_init(0x3ff9, 0xffffffffffff2680ULL), + make_floatx80_init(0x3fff, 0x82cd8698ac2b9f6fULL), + make_floatx80_init(0x3ff9, 0xb361a62b0ae7dbc0ULL) }, + { make_floatx80_init(0x3ffb, 0x800000000000b500ULL), + make_floatx80_init(0x3fff, 0x85aac367cc488345ULL), + make_floatx80_init(0x3ffa, 0xb5586cf9891068a0ULL) }, + { make_floatx80_init(0x3ffb, 0xbfffffffffff4b67ULL), + make_floatx80_init(0x3fff, 0x88980e8092da7cceULL), + make_floatx80_init(0x3ffb, 0x8980e8092da7cce0ULL) }, + { make_floatx80_init(0x3ffb, 0xffffffffffffff57ULL), + make_floatx80_init(0x3fff, 0x8b95c1e3ea8bd6dfULL), + make_floatx80_init(0x3ffb, 0xb95c1e3ea8bd6df0ULL) }, + { make_floatx80_init(0x3ffc, 0x9fffffffffff811fULL), + make_floatx80_init(0x3fff, 0x8ea4398b45cd4780ULL), + make_floatx80_init(0x3ffb, 0xea4398b45cd47800ULL) }, + { make_floatx80_init(0x3ffc, 0xbfffffffffff9980ULL), + make_floatx80_init(0x3fff, 0x91c3d373ab11b919ULL), + make_floatx80_init(0x3ffc, 0x8e1e9b9d588dc8c8ULL) }, + { make_floatx80_init(0x3ffc, 0xdffffffffffff631ULL), + make_floatx80_init(0x3fff, 0x94f4efa8fef70864ULL), + make_floatx80_init(0x3ffc, 0xa7a77d47f7b84320ULL) }, + { make_floatx80_init(0x3ffc, 0xffffffffffff2499ULL), + make_floatx80_init(0x3fff, 0x9837f0518db892d4ULL), + make_floatx80_init(0x3ffc, 0xc1bf828c6dc496a0ULL) }, + { make_floatx80_init(0x3ffd, 0x8fffffffffff80fbULL), + make_floatx80_init(0x3fff, 0x9b8d39b9d54e3a79ULL), + make_floatx80_init(0x3ffc, 0xdc69cdceaa71d3c8ULL) }, + { make_floatx80_init(0x3ffd, 0x9fffffffffffbc23ULL), + make_floatx80_init(0x3fff, 0x9ef5326091a10313ULL), + make_floatx80_init(0x3ffc, 0xf7a993048d081898ULL) }, + { make_floatx80_init(0x3ffd, 0xafffffffffff20ecULL), + make_floatx80_init(0x3fff, 0xa27043030c49370aULL), + make_floatx80_init(0x3ffd, 0x89c10c0c3124dc28ULL) }, + { make_floatx80_init(0x3ffd, 0xc00000000000fd2cULL), + make_floatx80_init(0x3fff, 0xa5fed6a9b15171cfULL), + make_floatx80_init(0x3ffd, 0x97fb5aa6c545c73cULL) }, + { make_floatx80_init(0x3ffd, 0xd0000000000093beULL), + make_floatx80_init(0x3fff, 0xa9a15ab4ea7c30e6ULL), + make_floatx80_init(0x3ffd, 0xa6856ad3a9f0c398ULL) }, + { make_floatx80_init(0x3ffd, 0xe00000000000c2aeULL), + make_floatx80_init(0x3fff, 0xad583eea42a17876ULL), + make_floatx80_init(0x3ffd, 0xb560fba90a85e1d8ULL) }, + { make_floatx80_init(0x3ffd, 0xefffffffffff1e3fULL), + make_floatx80_init(0x3fff, 0xb123f581d2abef6cULL), + make_floatx80_init(0x3ffd, 0xc48fd6074aafbdb0ULL) }, + { make_floatx80_init(0x3ffd, 0xffffffffffff1c23ULL), + make_floatx80_init(0x3fff, 0xb504f333f9de2cadULL), + make_floatx80_init(0x3ffd, 0xd413cccfe778b2b4ULL) }, + { make_floatx80_init(0x3ffe, 0x8800000000006344ULL), + make_floatx80_init(0x3fff, 0xb8fbaf4762fbd0a1ULL), + make_floatx80_init(0x3ffd, 0xe3eebd1d8bef4284ULL) }, + { make_floatx80_init(0x3ffe, 0x9000000000005d67ULL), + make_floatx80_init(0x3fff, 0xbd08a39f580c668dULL), + make_floatx80_init(0x3ffd, 0xf4228e7d60319a34ULL) }, + { make_floatx80_init(0x3ffe, 0x9800000000009127ULL), + make_floatx80_init(0x3fff, 0xc12c4cca6670e042ULL), + make_floatx80_init(0x3ffe, 0x82589994cce1c084ULL) }, + { make_floatx80_init(0x3ffe, 0x9fffffffffff06f9ULL), + make_floatx80_init(0x3fff, 0xc5672a11550655c3ULL), + make_floatx80_init(0x3ffe, 0x8ace5422aa0cab86ULL) }, + { make_floatx80_init(0x3ffe, 0xa7fffffffffff80dULL), + make_floatx80_init(0x3fff, 0xc9b9bd866e2f234bULL), + make_floatx80_init(0x3ffe, 0x93737b0cdc5e4696ULL) }, + { make_floatx80_init(0x3ffe, 0xafffffffffff1470ULL), + make_floatx80_init(0x3fff, 0xce248c151f83fd69ULL), + make_floatx80_init(0x3ffe, 0x9c49182a3f07fad2ULL) }, + { make_floatx80_init(0x3ffe, 0xb800000000000e0aULL), + make_floatx80_init(0x3fff, 0xd2a81d91f12aec5cULL), + make_floatx80_init(0x3ffe, 0xa5503b23e255d8b8ULL) }, + { make_floatx80_init(0x3ffe, 0xc00000000000b7faULL), + make_floatx80_init(0x3fff, 0xd744fccad69dd630ULL), + make_floatx80_init(0x3ffe, 0xae89f995ad3bac60ULL) }, + { make_floatx80_init(0x3ffe, 0xc800000000003aa6ULL), + make_floatx80_init(0x3fff, 0xdbfbb797daf25a44ULL), + make_floatx80_init(0x3ffe, 0xb7f76f2fb5e4b488ULL) }, + { make_floatx80_init(0x3ffe, 0xd00000000000a6aeULL), + make_floatx80_init(0x3fff, 0xe0ccdeec2a954685ULL), + make_floatx80_init(0x3ffe, 0xc199bdd8552a8d0aULL) }, + { make_floatx80_init(0x3ffe, 0xd800000000004165ULL), + make_floatx80_init(0x3fff, 0xe5b906e77c837155ULL), + make_floatx80_init(0x3ffe, 0xcb720dcef906e2aaULL) }, + { make_floatx80_init(0x3ffe, 0xe00000000000582cULL), + make_floatx80_init(0x3fff, 0xeac0c6e7dd24713aULL), + make_floatx80_init(0x3ffe, 0xd5818dcfba48e274ULL) }, + { make_floatx80_init(0x3ffe, 0xe800000000001a5dULL), + make_floatx80_init(0x3fff, 0xefe4b99bdcdb06ebULL), + make_floatx80_init(0x3ffe, 0xdfc97337b9b60dd6ULL) }, + { make_floatx80_init(0x3ffe, 0xefffffffffffc1efULL), + make_floatx80_init(0x3fff, 0xf5257d152486a2faULL), + make_floatx80_init(0x3ffe, 0xea4afa2a490d45f4ULL) }, + { make_floatx80_init(0x3ffe, 0xf800000000001069ULL), + make_floatx80_init(0x3fff, 0xfa83b2db722a0e5cULL), + make_floatx80_init(0x3ffe, 0xf50765b6e4541cb8ULL) }, + { make_floatx80_init(0x3fff, 0x8000000000000000ULL), + make_floatx80_init(0x4000, 0x8000000000000000ULL), + make_floatx80_init(0x3fff, 0x8000000000000000ULL) }, }; void helper_f2xm1(CPUX86State *env) @@ -1275,24 +1275,24 @@ struct fpatan_data { }; static const struct fpatan_data fpatan_table[9] = { - { floatx80_zero, - floatx80_zero }, - { make_floatx80(0x3ffb, 0xfeadd4d5617b6e33ULL), - make_floatx80(0xbfb9, 0xdda19d8305ddc420ULL) }, - { make_floatx80(0x3ffc, 0xfadbafc96406eb15ULL), - make_floatx80(0x3fbb, 0xdb8f3debef442fccULL) }, - { make_floatx80(0x3ffd, 0xb7b0ca0f26f78474ULL), - make_floatx80(0xbfbc, 0xeab9bdba460376faULL) }, - { make_floatx80(0x3ffd, 0xed63382b0dda7b45ULL), - make_floatx80(0x3fbc, 0xdfc88bd978751a06ULL) }, - { make_floatx80(0x3ffe, 0x8f005d5ef7f59f9bULL), - make_floatx80(0x3fbd, 0xb906bc2ccb886e90ULL) }, - { make_floatx80(0x3ffe, 0xa4bc7d1934f70924ULL), - make_floatx80(0x3fbb, 0xcd43f9522bed64f8ULL) }, - { make_floatx80(0x3ffe, 0xb8053e2bc2319e74ULL), - make_floatx80(0xbfbc, 0xd3496ab7bd6eef0cULL) }, - { make_floatx80(0x3ffe, 0xc90fdaa22168c235ULL), - make_floatx80(0xbfbc, 0xece675d1fc8f8cbcULL) }, + { floatx80_zero_init, + floatx80_zero_init }, + { make_floatx80_init(0x3ffb, 0xfeadd4d5617b6e33ULL), + make_floatx80_init(0xbfb9, 0xdda19d8305ddc420ULL) }, + { make_floatx80_init(0x3ffc, 0xfadbafc96406eb15ULL), + make_floatx80_init(0x3fbb, 0xdb8f3debef442fccULL) }, + { make_floatx80_init(0x3ffd, 0xb7b0ca0f26f78474ULL), + make_floatx80_init(0xbfbc, 0xeab9bdba460376faULL) }, + { make_floatx80_init(0x3ffd, 0xed63382b0dda7b45ULL), + make_floatx80_init(0x3fbc, 0xdfc88bd978751a06ULL) }, + { make_floatx80_init(0x3ffe, 0x8f005d5ef7f59f9bULL), + make_floatx80_init(0x3fbd, 0xb906bc2ccb886e90ULL) }, + { make_floatx80_init(0x3ffe, 0xa4bc7d1934f70924ULL), + make_floatx80_init(0x3fbb, 0xcd43f9522bed64f8ULL) }, + { make_floatx80_init(0x3ffe, 0xb8053e2bc2319e74ULL), + make_floatx80_init(0xbfbc, 0xd3496ab7bd6eef0cULL) }, + { make_floatx80_init(0x3ffe, 0xc90fdaa22168c235ULL), + make_floatx80_init(0xbfbc, 0xece675d1fc8f8cbcULL) }, }; void helper_fpatan(CPUX86State *env) From patchwork Mon Jul 27 12:23:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247172 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4756267ilg; Mon, 27 Jul 2020 05:28:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzB82aVr2vA51fHbp6MzVH1m01jMkmqYe8tFSOZIpH+euRAwG/gM9Tyb1JJcuyhvtS/bPLV X-Received: by 2002:a25:109:: with SMTP id 9mr32221958ybb.46.1595852899690; Mon, 27 Jul 2020 05:28:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852899; cv=none; d=google.com; s=arc-20160816; b=oLgqRVZMJGDb3nGQ451yJAF83ClHYsxhvq9egxwAwSRcNBsS0L00VjTJ6N4ooztQSo Cz+mqV+2YoLyXmG/RoKCM+W9nwV6pw4r5+HcalQG20Br+NgidGC7hottINlmSQOTE8Q4 qmj5EX1k4Lqy5mX0FG+sDfoVXvXqPnslr6Dft/Bu6G1UGkuQ6f7y8mqk5k27FI2RsZpN jo7Y5BrbfhrMtmVDw1lbDwcKtinVweKLR4Nkvho2nDjl1kDsf7sQmkNoM3nZCzEj6gIi tH8HvMehOlPimdKuI7t7YK1bCABYe5LpJCX8iXg+OrQFZgO9XMshwnihMFUjL5j90VcH VfdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=376gksLE0t2X1o47gQBQYWuWEK67vP0MVufWmCqpGJE=; b=tO2KfUtqWqyCk/76Q20fgYT2pAXSrQ70x/PMFRpKnfLuxex0Y6ejV/TPgWLIveZ7QF oiH9Lj9sekGS8LKIDYDjm3aPig4ZfFlsQfZ9LGUrpuMr7q9xGYOEsR4AfQojgNzU2IYT zp0W5NvPycCto25gK6pnrU1tyFiOSSrOFFINUPlEu4QFFEO2jcXoxl812Ija4D9xj24K j+zFQ7xPj4j3jZLtzaWetHnSEnOFBWI2nleMCLcGlNHGN0VvccoLIktcNAvnrpWjbv4b mTqGCIa1lyhWft19brTvgEeNYw71JkqfMagcH/8KNpNpnY+Krq8EX3lyW+/vFucoxHA8 O0Xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=pJ5LGBBm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id i205si8744752ybc.61.2020.07.27.05.28.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:28:19 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=pJ5LGBBm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:56120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02Et-00050r-7Q for patch@linaro.org; Mon, 27 Jul 2020 08:28:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37008) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02At-00075N-D4 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:11 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:38731) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ar-0006Qx-IW for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:11 -0400 Received: by mail-wr1-x441.google.com with SMTP id a14so14694294wra.5 for ; Mon, 27 Jul 2020 05:24:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=376gksLE0t2X1o47gQBQYWuWEK67vP0MVufWmCqpGJE=; b=pJ5LGBBmooA25MiX7uQOM2uAseNIGPbCjcRpIe3XrAAc8OQgw/6Kvh31AlzcMpUotr qTcnjS3UZUmfNdcwj1ZLhxfIqUiBKQTXjrEKbbIBllz3qFxIvjDQ5GTKVwfgFq9Ej3lF ckVj4JDbA3xhHZospNZFTGa2m4N9Icx54mSxVdjLICdHkxf7OJuFtc+1HIWcLkoEpanc EBg2Bfz4cZiT8mszclI6Se6qAenSkeznH5R7qI/8CfIu2ygbHsHg4hSWaSCpAA/vQOnR b8tsH5NrresCklGtwBt2Y14Yb1f4TTKE2SPxyjd6Bbmp+oTeSZdEYiJDtcxgor+YhuIF NW5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=376gksLE0t2X1o47gQBQYWuWEK67vP0MVufWmCqpGJE=; b=oZ98ORQsZcCJ6+KSE0D1HddVWY48bQJnCjeACdW2ZbtywVpDIzZpqGuBY1BzVMJHo0 LOV6hYNqmXGB2kB3MlH1US5T+xLdaCY+hQkAJEbmqTlWsEczNng7KkRZL8t/GnkfIXMD 3xPQEBtuUKqZQFcAh6cK+vniA3vqKKjykGD2+t0rp+gN8mXSI3UMyE8N2QWUIYr5XILP 1Xby/6Gh/88y0rwm9GQsDetMDfidMLLQo8ue3zOWVmjmMwRQ+PYXZ2QqBeSBjwZqPsFc 40qlxTI2jDVBu007BZ/xZ7L7hBT+uXrmt2PfZuMy478ruQskMoBJBT94TraBNz/IBc6G p2rQ== X-Gm-Message-State: AOAM530rdxqC7XSvH6xYf8nPPjdr9DjJtZWsKrNO2f3dDYehnNux51uL w5mqJyDOrH7KBnOfSbx+5erI2A== X-Received: by 2002:a5d:5710:: with SMTP id a16mr12623788wrv.217.1595852648232; Mon, 27 Jul 2020 05:24:08 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id x204sm22274048wmg.2.2020.07.27.05.24.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:03 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 2735F1FF96; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 08/16] linux-user: don't use MAP_FIXED in pgd_find_hole_fallback Date: Mon, 27 Jul 2020 13:23:49 +0100 Message-Id: <20200727122357.31263-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , qemu-devel@nongnu.org, Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Plain MAP_FIXED has the undesirable behaviour of splatting exiting maps so we don't actually achieve what we want when looking for gaps. We should be using MAP_FIXED_NOREPLACE. As this isn't always available we need to potentially check the returned address to see if the kernel gave us what we asked for. Fixes: ad592e37dfc ("linux-user: provide fallback pgd_find_hole for bare chroots") Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200724064509.331-9-alex.bennee@linaro.org> -- 2.20.1 diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 0b1298b3c91..20872e793e4 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -173,6 +173,9 @@ extern int daemon(int, int); #ifndef MAP_ANONYMOUS #define MAP_ANONYMOUS MAP_ANON #endif +#ifndef MAP_FIXED_NOREPLACE +#define MAP_FIXED_NOREPLACE 0 +#endif #ifndef ENOMEDIUM #define ENOMEDIUM ENODEV #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7e7f642332d..fe9dfe795dd 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -2134,12 +2134,15 @@ static uintptr_t pgd_find_hole_fallback(uintptr_t guest_size, uintptr_t brk, /* we have run out of space */ return -1; } else { - int flags = MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE | MAP_FIXED; + int flags = MAP_ANONYMOUS | MAP_PRIVATE | MAP_NORESERVE | + MAP_FIXED_NOREPLACE; void * mmap_start = mmap((void *) align_start, guest_size, PROT_NONE, flags, -1, 0); if (mmap_start != MAP_FAILED) { munmap((void *) align_start, guest_size); - return (uintptr_t) mmap_start + offset; + if (MAP_FIXED_NOREPLACE || mmap_start == (void *) align_start) { + return (uintptr_t) mmap_start + offset; + } } base += qemu_host_page_size; } @@ -2307,9 +2310,8 @@ static void pgb_reserved_va(const char *image_name, abi_ulong guest_loaddr, /* Widen the "image" to the entire reserved address space. */ pgb_static(image_name, 0, reserved_va, align); -#ifdef MAP_FIXED_NOREPLACE + /* osdep.h defines this as 0 if it's missing */ flags |= MAP_FIXED_NOREPLACE; -#endif /* Reserve the memory on the host. */ assert(guest_base != 0); From patchwork Mon Jul 27 12:23:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247177 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4759823ilg; Mon, 27 Jul 2020 05:33:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhOFreBvU8VienjTk8OO5IrI3NFM6m3nI0mN9LxoEpmVVVr64E4JGplQV/9gbLE1Yr4Uk3 X-Received: by 2002:a25:e016:: with SMTP id x22mr5102159ybg.9.1595853193108; Mon, 27 Jul 2020 05:33:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853193; cv=none; d=google.com; s=arc-20160816; b=GFhW6kGX979SDXt/j0o0hC4WYRhfrY+Occdb65dmulEYqk9rzj3+s/zOy/H9wGEBXf uuCExceMu0oK4MfL9daST+ZmAz70JRVLYDBfBbKl1FxsO9DonuVEu6S79am1RZijsj+2 eErhkyVzs8nyCPOm4OhQV5yUVPAnzQuOKBXXDfhNZEvnXbQ4vQf1jlTeUkwzqg2Vrs8Z J0UcC4kQTK2dJjjPTWJ7Ux+4awxazr+FXZKf0sPf8q167KcOhI66ChCoEGYw7AEYwPOf L9ePBBDL1ipmFKcQRtaEEAIofa+YLHm4gAbn1QvRR5blZG235fdCwx1JBf8ZpGUmWSnx lKHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=RKEsFJMIWwY073toT6Xkvo3y6i6P51ZDeJuJoM8XuRk=; b=kwQNrJyQIaGoTtPfoEFJ+VzqdkAK7wiQ8mHUntPthYfuHHZa//mf+CbAeM3zj5yedi geLJ4nxqfAzOXCXvSyMMmZ7Yw9MKj5IWt1/S3znmVh4uuo7htga4uCqeK5ehBi1xSGrU CDMkXEgexVXohqIWqWufK83eQJq/nMtdJYRBvTp8YzgF34zcn2mnb46cFEnVeJeXX7TG OQAPMJJ5pGPgo8oSidFxJZXBVI3L/PCtQ14+M8vqRJo7P4GKkZGwQ4BjfKgjVO9Sb3Cm LXiCnV3cgfkIzHQIqNt6HxBLIdMcOzMUz1dIxeSGaspdQcv92bAp5F9xYc54u1gkKMXk ryCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=YEjmhsae; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id j63si9242341ybb.47.2020.07.27.05.33.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:33:13 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=YEjmhsae; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:42908 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02Jc-0002n0-LD for patch@linaro.org; Mon, 27 Jul 2020 08:33:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37102) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Az-0007MK-KD for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:17 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:52690) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ax-0006Rl-Sk for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:17 -0400 Received: by mail-wm1-x32f.google.com with SMTP id x5so13423788wmi.2 for ; Mon, 27 Jul 2020 05:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RKEsFJMIWwY073toT6Xkvo3y6i6P51ZDeJuJoM8XuRk=; b=YEjmhsaengNg6bkktVpVNv8GJwUaknWjpM8E1sJXf/F4hwGIf6yrLPLSMSsdHWofSp 8o/4Y57ZHg+6dC2uBPuIIRw5bwaNVxxX3+Ck2Dhe0B6JMxirr6ujhuYxq3FvIYXZ/pH5 l+r3VjlxVFQlgEMPEmCws0YKGVdRCvkA4nWvdEKixEzF5zpq7CTl5ogR2gQH2aFWZTT/ IGGpRtdAn7hTro+ra0JFipim49+gO7hIXgtfQbH2QWhSr9jAFuwROEt/+OhSo+77PU4m vHhHfmcf7mMkPes72JNLFKQHLapPCmJdMgNXYBdzOG/u1d6LoTlGBl5PjkbBSYw4rmWO Tj5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RKEsFJMIWwY073toT6Xkvo3y6i6P51ZDeJuJoM8XuRk=; b=ZlhX7Zyk+Hcu0/2HSI6VcRZGWTYJIAkk2GoJQjNtz9svC4LX4/CE6ukvfo47EXIyHr /yMpzrM8cMkzoZW4f3L+AuU3AJ8BVG7iQ24YLw5r4a/Wwt5GCp35/QWO8e7ANWfrerEa TQntqfexFYF05LdoMu0Fu4RFKoeC9KOUzQ4sKxZKzAWGj+EOTNg+/nVgzzAAPsH0V2ZT N6p1JYhKkHWVp9pLl4o4GlRezfg8lJ5/eiC+T0PAsyb9Zw1fqnW+TB7IbhoZ20BHS7ac QUUEed3VRiAMaWOH5XrB45r0mUEegbHqokGj90zEkGAWHDIYRqUiJy1ju9x13pIkDoLx LKOQ== X-Gm-Message-State: AOAM532fxT3DTIkoUS819vc6Esj25Ka/ZRi/0eR3wx7v/uCaVECb0IgG /y/b+PXRcwCbgpR+w14F6NDZqQ== X-Received: by 2002:a1c:27c1:: with SMTP id n184mr21283442wmn.6.1595852654480; Mon, 27 Jul 2020 05:24:14 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g3sm13638572wrb.59.2020.07.27.05.24.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:06 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 3FA9D1FF98; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 09/16] tests/docker: fix update command due to python3 str/bytes distinction Date: Mon, 27 Jul 2020 13:23:50 +0100 Message-Id: <20200727122357.31263-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32f.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Does this seem convoluted to you? It feels a little complicated to me. Signed-off-by: Alex Bennée Message-Id: <20200724064509.331-10-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/docker/docker.py b/tests/docker/docker.py index c9f20d8d093..356d7618f1a 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -24,7 +24,7 @@ import tempfile import re import signal from tarfile import TarFile, TarInfo -from io import StringIO +from io import StringIO, BytesIO from shutil import copy, rmtree from pwd import getpwuid from datetime import datetime, timedelta @@ -541,13 +541,14 @@ class UpdateCommand(SubCommand): # Create a Docker buildfile df = StringIO() - df.write("FROM %s\n" % args.tag) - df.write("ADD . /\n") - df.seek(0) + df.write(u"FROM %s\n" % args.tag) + df.write(u"ADD . /\n") + + df_bytes = BytesIO(bytes(df.getvalue(), "UTF-8")) df_tar = TarInfo(name="Dockerfile") - df_tar.size = len(df.buf) - tmp_tar.addfile(df_tar, fileobj=df) + df_tar.size = df_bytes.getbuffer().nbytes + tmp_tar.addfile(df_tar, fileobj=df_bytes) tmp_tar.close() From patchwork Mon Jul 27 12:23:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247171 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4755801ilg; Mon, 27 Jul 2020 05:27:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyPTqiuo1yL/V7uqixUwIc4UaYqlpCaLf3Pti64JIRlmuqWctdIGbFVmYCj/divXj3tUwRF X-Received: by 2002:a25:8392:: with SMTP id t18mr35467822ybk.397.1595852853223; Mon, 27 Jul 2020 05:27:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852853; cv=none; d=google.com; s=arc-20160816; b=jcIX5o/4JoTK0nlyQWgqjA3AIgRDya003nigp2QbTZv3elT56lgl+ksb3CnRafpYD4 1EdeJU9Bw/yVLXDxzhRhICOWZltFMwL9lG55Tc5vIv9p4E5ITFDDeTH50CHhL7BmNPM6 LxzTf/NmiEQ3tey/syBzeQCvBJ4C3urIiexaQmUA0K2jptKudBPhNdoHxeRWXUMMlSxd ltiwCnTn//SEBDQ9T5QR8LFVOFROGpx3sVg/sCdz/qjOT7sZmPlJgtY1iQ8CbQ4y+bZ9 O5EwLzy4zlDEJc7+UPbTCtErhXlnAA5RixoY+699VbousZqEuFJIwfGaXlAz8Bm2PP0E P4mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=ei48b0uDUhSj4MD+V6eDHkE9M1JkoDFRqMV7PUyL3fQ=; b=PGp3tVfVSjWVvRn8Y2YWSt66aTEk0ODdOxLq+zxNJY+CCw/Z2g7TRxw9FDUrUMAJjS SZNbmHYQLVCgxLKvocYCcQr29bnAfrxSQjffmkknXqf7puXNR7V2ZWlhFCz/WoycibWI Zdm7CjEyyiMhBGkmTkACbUHe1JHNkTPVrgHkTq+Uj3bmJMIzwRVhTU682SEqJpwsd7mz qPdIqS61rdl1awlv97b6YqkfVT5yH5Z6vWYlseM4lXULr2M4/cfD5YIZKHBfbXdKp7nx BoyDqnMuMz2ya9kelYqiXHytfjarUB9uGrqMZe1jZo1aZVapVbW9bbreiMpbcxn2Yneq ZMhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=XCyEgsUV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id n81si10528905ybc.339.2020.07.27.05.27.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:27:33 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=XCyEgsUV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:55696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02E8-0004qo-Mp for patch@linaro.org; Mon, 27 Jul 2020 08:27:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02B0-0007Oc-I6 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:18 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:52691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Ay-0006Ry-Q9 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:18 -0400 Received: by mail-wm1-x330.google.com with SMTP id x5so13423843wmi.2 for ; Mon, 27 Jul 2020 05:24:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ei48b0uDUhSj4MD+V6eDHkE9M1JkoDFRqMV7PUyL3fQ=; b=XCyEgsUVDcvczbvVMmV+bvSMdVel7YOM6/ooWYtSIfe2oyohh8Bk27/JQjv0QCTt3/ RGj9hDMkjHUPfg/rAod8VN+Sg8EkoPDuodzW2hQ4TXAuuALQRUh/IeohEXUGd1BbNPHF ZXMIkYTWg+NdxRmJHl/uKt/10tcKcYed77apVQq2JkxiCxidd/lQ4z34lJW5Vd2jB2Vc xkjtN91k0NF21DfKRUqyi45T6TJ7ISkkbjykE5REoXaJ5eJvOXtuhqOB3mNG57ioNy8N Jk5B/NPGnNplnLGhXwYwywKglmMM7EZ+HoG1JEltYy5++Rc5wYsO5UTcwQ90jvtjsJrQ mhiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ei48b0uDUhSj4MD+V6eDHkE9M1JkoDFRqMV7PUyL3fQ=; b=gKw0qscBeXcTQHwWYLhd8difeCphkGoqpABieUWsAiID1+IMn7g8ofnJ1Pp2ngvMSH g8nzdQaFCIDKMeaItB0ps1W/5OLWC0ZQXloM23/AM7aXvwdNg/lOeGYz0cxaJEIoQlEm RlR99eBq1ai45nNT9rZgXE3ztjnj1NcMMt/kILmDgHXoSLbNQSEbMlbAYVgEfvgP8mfX ZF6enwuq6Brip6k65pDFhMfB/ef+7Fc/GxxKodRovw5byFTgY4G1Eb9jNmSduwHUw1Nh PuIf9QEHNRKtNFV3fWcIhccc0p8h20LzSAelZZwgpZnRI/ptFhDnoYXk2GeF0EwB/Nr8 cFSw== X-Gm-Message-State: AOAM532reQlqQOR7wlgnkfqAyKTwp/3VFJtSmg36KEeyIjzXegJ/i9dZ R8KidKDslI7BDaNPiTgcQeOXyA== X-Received: by 2002:a1c:9e4c:: with SMTP id h73mr21829926wme.177.1595852655390; Mon, 27 Jul 2020 05:24:15 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id y203sm9379214wmc.29.2020.07.27.05.24.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:06 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 556111FF99; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 10/16] tests/docker: fix binfmt_misc image building Date: Mon, 27 Jul 2020 13:23:51 +0100 Message-Id: <20200727122357.31263-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" When we updated the arguments for docker.py we missed a bit. Fixes: dfae628459 ("docker.py/build: support -t and -f arguments") Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200724064509.331-11-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index a104e9df281..9119dff97de 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -78,7 +78,7 @@ docker-binfmt-image-debian-%: $(DOCKER_FILES_DIR)/debian-bootstrap.docker DEB_ARCH=$(DEB_ARCH) \ DEB_TYPE=$(DEB_TYPE) \ $(if $(DEB_URL),DEB_URL=$(DEB_URL),) \ - $(DOCKER_SCRIPT) build qemu/debian-$* $< \ + $(DOCKER_SCRIPT) build -t qemu/debian-$* -f $< \ $(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \ $(if $(NOUSER),,--add-current-user) \ $(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES)) \ From patchwork Mon Jul 27 12:23:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247173 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4757195ilg; Mon, 27 Jul 2020 05:29:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEB58UHDeFTi7n/KPUPz4RNvKNDhVYsp+g6c3xBvUQTVHgGfI9qEKyShTpmIFJUiizgm6l X-Received: by 2002:a25:4252:: with SMTP id p79mr34757010yba.159.1595852981600; Mon, 27 Jul 2020 05:29:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595852981; cv=none; d=google.com; s=arc-20160816; b=Iw0kx89KP9x4NQ6yuEat5yBSg5y2GPj31acRSZppuliLF+VqOY68FXS4Y2k6cXPsEC iMcCWR9s/c9dQAO9PlAcHq3NQRGJpKq7tpCuc0ympwjl0FNudyXtdUiBKIY13LFQ3Mc0 xerr7zWSCNDTon7FQyxOU0Z+ECtUTSDPMXEo3tSdgK8nJDBznauFTcIQJUs7MseJqfw1 cSTPQzjMqsdWZRGroxu8OqY3K4M8NEyB31vzrPV3HnFGmv4ZfS3YeDFPbD0dHBEMzJu/ 43GinzahaAumFF7lPH+39nBqNg2ufSQS9bVCRLatK4Z8bsA2VD+dLZyEuC3zKr/4hmYI 8bUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=a9EvgEdBVuLI76HbSujJ5mYXWXYqdvnxohcwrpyH65M=; b=ecrSHYVNxutQIghetmoC75wtHUNzuYO/AWOt3xuHuJMz7/66Qc9FBoruAt3s4apV4F Un7SypwZorbvQrTlnUS/3EpICRm0v5MTT56/narWowIGyKQGDdakQ+IOrLQsgBslrjrz ra80KUcVb7ri21LoiyD6PDVsIIY/pym0GdRn+BT3WRSDc3pTn16E3hrwUtMNlWUcURuu o/bMQKQDEXSOEuiZBNNhAtGUsVyR3P5ASn+KuEWvcXDxWaKQm4oO2JnOg2TxuEeTl+VE ZbiAveOwCffYQrxlISF8viC7MKTKOE1kk4K2A+TOCIMdDCc1ebvyNE4qrYDUxMPHNb8Z xZaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=fMMntSOp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d25si10257143ybe.407.2020.07.27.05.29.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:29:41 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=fMMntSOp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:32794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02GD-00070s-2w for patch@linaro.org; Mon, 27 Jul 2020 08:29:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37124) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02B2-0007Sz-5i for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:20 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:40278) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02B0-0006SA-CC for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:19 -0400 Received: by mail-wr1-x433.google.com with SMTP id l2so4116183wrc.7 for ; Mon, 27 Jul 2020 05:24:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=a9EvgEdBVuLI76HbSujJ5mYXWXYqdvnxohcwrpyH65M=; b=fMMntSOpw1y0nccc5yEPvcQcvTWTbr8gsbSWvcQ/URszXIzWDzLVx7TRO3DTq3dDoL plXy2PZ/2zGkj6c/i/iLjrMZB7dYQxfwrdWgOnVUMS6WK5CtNgsO6YwsNT+8bgnI6bJq SG+8OBpTgrg6AH0/Z8Zu9qOGKdoTZx0vnuptQKqgfFGGEArwR5raNDk8+wWGVlq+VdKk HAltWb7rvA3Ef9DEzXPiYl4YuUhN3n45KCOIyX3NxmM6Xcexb5/Jc1Br1eGkZ3ZE9Zzy krxTdmuQ8iZO8dW1HywiFNIuyy5Tyuzj/v3F9hd5DfOMJzNSQKqt8/dsr43PdZZs+SP3 05fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=a9EvgEdBVuLI76HbSujJ5mYXWXYqdvnxohcwrpyH65M=; b=ft3Yr1u+K/S9GXHrR/ifI+i7EiQKlKz0tGT5TW38Lcj61hXEfxJUUJ/f4pbQXAf05J eZo/VoN5GZ79KFIMQCp1Dv+34VD4SjP8E328Xq1je37gqT3gPIpfu/rQcPFEd4RjfzI0 EyVJksF3DtQTJh2cle8UUyKMY6DUSfpV6+RCmGKMKYWs6aSrvzp5Tp0iU/0QDTSxwGf2 juYvH/NKlb9YcBNP4uWqyAP4uaeoIPKmhuOAg51F+gK/rwnlmdMGcmKzC6akV7a/3kE2 37nQ8enT8DpcHIQ0FHNz/BqJnfAykqgdFPmXtuiVEFxxegtXmYPUNIlOLSCnpLd0WQKT vgyg== X-Gm-Message-State: AOAM530pWrl0mD/+h7MAb/wrI3FxP6Uvjs8ECLNCD4FdjCpFDv4MIYd7 uxtY1wtDp0nptnoUbpcDJMLbwQ== X-Received: by 2002:a5d:490c:: with SMTP id x12mr19399070wrq.238.1595852657093; Mon, 27 Jul 2020 05:24:17 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id w7sm18622137wmc.32.2020.07.27.05.24.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:06 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 6A49B1FF9A; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 11/16] tests/docker: add support for DEB_KEYRING Date: Mon, 27 Jul 2020 13:23:52 +0100 Message-Id: <20200727122357.31263-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x433.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , qemu-devel@nongnu.org, =?utf-8?q?Phil?= =?utf-8?q?ippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" For installing stuff from sid or ports you may need to manually specify the location of the keyring. You can even import keys into your personal keyring and point it there, e.g.: gpg --keyserver keyring.debian.org --recv-keys 84C573CD4E1AFD6C make docker-binfmt-image-debian-sid-hppa DEB_TYPE=sid DEB_ARCH=hppa \ DEB_URL=http://ftp.ports.debian.org/debian-ports/ \ EXECUTABLE=./hppa-linux-user/qemu-hppa V=1 \ DEB_KEYRING=${HOME}/.gnupg/pubring.kbx Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20200724064509.331-12-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/docker/dockerfiles/debian-bootstrap.pre b/tests/docker/dockerfiles/debian-bootstrap.pre index c164778c302..35c85f7db8a 100755 --- a/tests/docker/dockerfiles/debian-bootstrap.pre +++ b/tests/docker/dockerfiles/debian-bootstrap.pre @@ -79,6 +79,13 @@ else fi fi +# +# Add optional args +# +if [ -n "${DEB_KEYRING}" ]; then + DEBOOTSTRAP="${DEBOOTSTRAP} --keyring=${DEB_KEYRING}" +fi + # # Finally check to see if any qemu's are installed # From patchwork Mon Jul 27 12:23:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247176 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4758507ilg; Mon, 27 Jul 2020 05:31:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgQnb4Ylicnld3cmfcuM3WeXXkf01rFW3uq/VuOTH2mWp96ZEpjfU3a2tB4oUToFxHVIUI X-Received: by 2002:a25:5545:: with SMTP id j66mr7262027ybb.232.1595853080978; Mon, 27 Jul 2020 05:31:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853080; cv=none; d=google.com; s=arc-20160816; b=ltLMx9f9fm8syL/7sJfZqTz/CbiGheSOV85wD1tBKBeP+UhOYHzcEZOonnwHBfe97/ J1OP4B0jErOFxhxfdxAogROlLabe8GldHRbs+ySIB/jx7rDXLZ0PkiUEobKZz3ol8vDa 3UdRSkKCj3KPren1eadGCRvSJnpKEsf+ofK+2ygP17QEBcGmAN6HF0VXBNTbnPLle00M KLzhNjkjnaqPgVq1S3Cu5Ibf8TEnsiFo85Xw+j7OuMsjMx0Xjl8CYFCKRcCZ0PGvtzJ6 eiQ11cQs2qB9EoUJMt+4H5KhNinnEoxvrsKwXwx2wxDg6LDwtyK5YVMbuQDmk3/SD5Is MNJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=A1EXBcwTpNFpPkUTTl0N+dnXsHPfdMclDDa4XH/uy3c=; b=AujJsoNSMudZ5vZJWGHuMe0ZjCOAmvYEC02/bkcpViPew7x5qZAgBZO+vwxqUxixxy FbypQGKXTNFtgXLpTokDZ0GPo9z8yfqlc4r2ph+6S6qkmbADbaH1vALMSksGJ54CM1Fd xPt1tjxdoxvKEUC9pgeaFDVIItukDSiJ59cEzRIR/Ew454or9l3kjXmcRswn1nLuyBu5 Jf+8rV52a9VEW21VJri9eNCyIFL71cg9suR34r3xNeiwPq5rkQqCxT7Z1WgusIQRK7kf iF/yJ3tOfc2sR1ux16F9Nyx0O35L4yXmWkt0Pkox1cCHoovTFSIWki+Wn4msjNNzAs7r X97A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=GpDxS6kJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id i3si9648739ybq.145.2020.07.27.05.31.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:31:20 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=GpDxS6kJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:38810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02Ho-00015B-EU for patch@linaro.org; Mon, 27 Jul 2020 08:31:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02Ay-0007Hl-0p for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:16 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:39735) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02Aw-0006RT-7f for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:15 -0400 Received: by mail-wr1-x443.google.com with SMTP id a5so4689632wrm.6 for ; Mon, 27 Jul 2020 05:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A1EXBcwTpNFpPkUTTl0N+dnXsHPfdMclDDa4XH/uy3c=; b=GpDxS6kJwD6PpBilKFPpAq0t7I7YaSo7GEP5XxSugJv2CnQkFEJv4K5ZqFMEv6NTSD ClqBtKPxjY2aFrolaWyO+UwQQUMHdhFZ7+t0Euo9EjvvBuyDXOLt0GCnHwBuNa8LNc6t NCibKexDPzrteSoaxwlhUPYatsmlKm/eISas3HHODoA8YMIeidk8i4yTwNfxWT4mBNbF 5INJN7wUlsuQe4dv26lCwf3EGGeM8foRJlxpceBnmWstFHYK53ZWWvdi31lxwgJ+qjKr KDGSKPFDV/Vc85nDdpioFA6fwAaZGAzlji20WAfcPAy1V6/ldXJZuF2xAVMeuFiyHvof /GbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A1EXBcwTpNFpPkUTTl0N+dnXsHPfdMclDDa4XH/uy3c=; b=Jehq1maJYkT0mjIIilYRVlfNz+6Tc4E7te8QinNFCkLvALhMYsztiKcmwZewYLi/vJ 0FYS7sbGrZfxAs11lNoiXNDAWc/Hp5Mq0rifgDHgjX/+/8A3OfvSdNhHrSu7dzG8A0nq UZHyXpmNf5d9TOm2XCIzuGXFz4SJ5WHH2MKyOMn4e0VZcQ+Mmke/kaD9sYPU8xEdFItp vZ86TYxsfIUsQFonOvwVB9GaeHMF280wrrtYhAKCkY7hGb3a7YNsKDkLFeW4eH/gLhr8 pVd8Zgg5vrC1QJ4d5jMo5Gf3I7VQBBtX5kk/I/TFxDYb6Lu7uSoqaZMrVmRIy9OWWkmL YlyQ== X-Gm-Message-State: AOAM530Ean0TEPS79lLdhwr7AjtLgMabs5aybO5C3Jm8BGfQPBS+uNaY hbj+Nq6HdoNhqr3LKBO3dXjdvw== X-Received: by 2002:adf:e902:: with SMTP id f2mr11465106wrm.174.1595852652822; Mon, 27 Jul 2020 05:24:12 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h14sm7341410wml.30.2020.07.27.05.24.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:06 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 7EAA41FF9B; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 12/16] linux-user: fix clock_nanosleep() Date: Mon, 27 Jul 2020 13:23:53 +0100 Message-Id: <20200727122357.31263-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Richard Henderson , =?utf-8?q?Philippe_M?= =?utf-8?q?athieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Laurent Vivier If the call is interrupted by a signal handler, it fails with error EINTR and if "remain" is not NULL and "flags" is not TIMER_ABSTIME, it returns the remaining unslept time in "remain". Update linux-user to not overwrite the "remain" structure if there is no error. Found with "make check-tcg", linux-test fails on nanosleep test: TEST linux-test on x86_64 .../tests/tcg/multiarch/linux-test.c:242: nanosleep Reported-by: Philippe Mathieu-Daudé Signed-off-by: Laurent Vivier Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200722174612.2917566-2-laurent@vivier.eu> Message-Id: <20200724064509.331-13-alex.bennee@linaro.org> -- 2.20.1 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 1211e759c26..43a6e283961 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -11831,8 +11831,14 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, target_to_host_timespec(&ts, arg3); ret = get_errno(safe_clock_nanosleep(arg1, arg2, &ts, arg4 ? &ts : NULL)); - if (arg4) + /* + * if the call is interrupted by a signal handler, it fails + * with error -TARGET_EINTR and if arg4 is not NULL and arg2 is not + * TIMER_ABSTIME, it returns the remaining unslept time in arg4. + */ + if (ret == -TARGET_EINTR && arg4 && arg2 != TIMER_ABSTIME) { host_to_target_timespec(arg4, &ts); + } #if defined(TARGET_PPC) /* clock_nanosleep is odd in that it returns positive errno values. From patchwork Mon Jul 27 12:23:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247178 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4760243ilg; Mon, 27 Jul 2020 05:33:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7CIgwunrAK0bJ2s3t3XQe5U7pTKiTxC61NwxuQqHPUpil6lZJbEqP/vtuhnWsSvA/0xMA X-Received: by 2002:a25:18d7:: with SMTP id 206mr35014428yby.473.1595853229393; Mon, 27 Jul 2020 05:33:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853229; cv=none; d=google.com; s=arc-20160816; b=V/r0JFt0N6rQ+p0JI6hVT3G825jM2jUr92Lb4K3SF1yI1IAw2syL6+Wh3ybWzs5BfB lcfZnTjHgSIu5vX+0kdbWrrckBSRahxH31wWXEF9x8vVIz1cRXRs2kKDxDf9zGSWRie5 SI2RcH4DaoVF83fj9oxt8SrcxhIY/9XMoMgbRchj2yACKrSlMApaRoBXVoS8IIvM8nZT /UjJq17giCVX7Oyx8huRVxfM0itJ/ocQ9hqLIDkdDSH900KErCOTuqCUOxTQjtSV/CLM 4X/aPevtFfH5/AKS3bOGw4A4m5RShigskWT/t9lw6Cr0tlwtf4wpdk0tacfDQBSab7d9 ljVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=rLNmNXPwsek6Q6dP3H8DkSo9b+2a+VCiz0OAeSbTq64=; b=XlgYy9VOIEhs/J/owEdoQk+CtgGqqjaKg+lRtGmXi9FjYhJY3Jkz/JZ1GBXZLSfBiC 9aHmScysCSC8LY3ZeUNyTjdidRBdgLVDz8URw+sTwyKQLQvX7hNLa82xZc7FXM86Dyxv ZZdB73E+U/Qx4t3kffo2bL+K/o0WhQaJgpApS1nu01KxuM97TL5thBjLAAGrNpuJcAVS Tn2VcVg+1JgL9J6gRJPnh/bJvF6NZCN17FVp5rnEQqkgcodh3vH80taIzkTm38MGCEKK 7S9+CEMezmoFdUdPX4MwqaSHsFnOUe/kgkbcxmUAXnLwrhQk0McaKPPHe20KTuQfRHOP Q9lg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=gqQHbu9C; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id m78si10038148ybm.302.2020.07.27.05.33.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:33:49 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=gqQHbu9C; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:45030 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02KC-0003gr-Uw for patch@linaro.org; Mon, 27 Jul 2020 08:33:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37150) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02B4-0007UW-Ey for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:24 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:45947) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02B2-0006SQ-SU for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:22 -0400 Received: by mail-wr1-x444.google.com with SMTP id z18so11111917wrm.12 for ; Mon, 27 Jul 2020 05:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rLNmNXPwsek6Q6dP3H8DkSo9b+2a+VCiz0OAeSbTq64=; b=gqQHbu9CU8GC8dEucl7MtjH6MmL/xPXpYh3QqF71Q8SpSL5VcHnlbey+Qob+y6rJvE n8eWPy4Dz7SAlLCmAukC/6H8kYH8HjVegw/Z/Z4djMZaS3aQMC8V48UNQ75yJFzkmpbv 1GWvbMPY73S5ql1IH1Gay641Nu0EIgzH93oEjhA7J1JBxg6wxTCptMffzbOlryUoMBPu 0P9xOToM8h/gEyl/NnGiM0rRdoGFDTqxyURJSS0BM6/+AGwTA1J0tzZ2bNSV3vgQJj9M qPyGdAtd7cnwySlRhoOgatvI0syCbM05qnZzntHI9sk0NctA/yk8TeQJVlqhpPp9y41+ 9riQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rLNmNXPwsek6Q6dP3H8DkSo9b+2a+VCiz0OAeSbTq64=; b=MU+iAM9flakoicIykhiJ9+w6yAaNaGGzgCdqLOeh9S9h1KUaCe3SDTRMefyAOldOlG 2ET6jOqzyYiydKtCmokwv3Wti3WJ+1YN3LR5EtLIgpp/gsNuUF0lNUc3IzLBiSYptbAW RbmDm6JQrlL4fKl2USI5AIk7mTYcSuHqmVMCehjV1zlhK591Y/iwifFN0dibSHon5elQ 76UoRIpSIJN24RAtaG1VND27fh7dqPqFoUyoLLb362nnLjQd2xNq5aDkDI5N6RVoaM9U lLpi4R9BcXakRkDLpcQZ0m/kW6HUOEjl7lSLkvCXCQUXvgZuEyvdVcFkOUH1rkKY2rS3 tOeg== X-Gm-Message-State: AOAM530gD5+iA942cNxc7UepuZE/OPmRLlYuLCzANgsY1Z223Ybg3crk 9ouOuzw70+AvHZWREdNZuWTbfA== X-Received: by 2002:adf:b352:: with SMTP id k18mr21051035wrd.386.1595852659480; Mon, 27 Jul 2020 05:24:19 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id b186sm18759864wme.1.2020.07.27.05.24.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:09 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 91EE91FF9C; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 13/16] linux-user, ppc: fix clock_nanosleep() for linux-user-ppc Date: Mon, 27 Jul 2020 13:23:54 +0100 Message-Id: <20200727122357.31263-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , qemu-devel@nongnu.org, Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Laurent Vivier Our safe_clock_nanosleep() returns -1 and updates errno. We don't need to update the CRF bit in syscall.c because it will be updated in ppc/cpu_loop.c as the return value is negative. Signed-off-by: Laurent Vivier Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200722174612.2917566-3-laurent@vivier.eu> Message-Id: <20200724064509.331-14-alex.bennee@linaro.org> -- 2.20.1 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 43a6e283961..f5c4f6b95db 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -11840,13 +11840,6 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, host_to_target_timespec(arg4, &ts); } -#if defined(TARGET_PPC) - /* clock_nanosleep is odd in that it returns positive errno values. - * On PPC, CR0 bit 3 should be set in such a situation. */ - if (ret && ret != -TARGET_ERESTARTSYS) { - ((CPUPPCState *)cpu_env)->crf[0] |= 1; - } -#endif return ret; } #endif From patchwork Mon Jul 27 12:23:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247175 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4758371ilg; Mon, 27 Jul 2020 05:31:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx7euD1UdWEy0vzPJ69ZbRoipijgEbThpHO2nulgyonth9XIIlHA/5DToD9TrNiUBq/lmaT X-Received: by 2002:a5b:602:: with SMTP id d2mr22333343ybq.451.1595853071876; Mon, 27 Jul 2020 05:31:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853071; cv=none; d=google.com; s=arc-20160816; b=bxWDHKbScXwJzaSRpTf1YRUzNb//vfGC96hquMencpZThonw/xbgCs6okB71ARnSOl R1PiVy45Y//8PNvsqr2TZ6Q5kxveixcc2y1ML+6Uxq8yIES9UzYV/5noMiZosrI81R38 rQhBXt0zQjx9hTKyl5ErvLiu9gZ51WcC4u/XTy8SElMqt3DSRSwzjgl1ora//UhpXKbT UIO7YWUaSaZEb4MbHkPvrbmczU+1sZThVJ7VD+3eBwz6tHwGx/VBMUmujh5GObhH4wgH IaAI/QAxloeq659p168t6nOP6sfTlHZqy5juCfs0SXu6RctONUelNixZPHyZaLzaqZhu xx7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=rjsRSDGtJjMEQxhz0G+U/kI6w5pgukPBopF+vgNZ2Io=; b=zN2aGVIHWt/kCimE7qpVv3/gkgP/i+75ltlNQ+y3GhH7fx9TZ6lp96UpwjAU2aiPmC HVU4JGRALdsPBHLghj2ODyO4tE5E23JkqmsCTkwo7S6BrNvt1qzBNANUsjjM5WJjhSd1 mAZs92/jJU37W+9/nO17IoLuEujo9Lw7PEf4G9K6mf2+7QDuay41BDLUA8oDc4UTa4a0 o3UrCtnpPHdAYaH2Kg80HnLc53anWXIROzzjv5UJSYLOPYGBioNO0JnBoOPqyAl8ysEa pjkBPN4OfUYCycIupKhunImQzS8blAeXZFnefEhMZwrfTHxohrIj6Z1trfSMH8oh82hG /Wgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=kafMP2lL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id x3si13301081ybt.216.2020.07.27.05.31.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:31:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=kafMP2lL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:38298 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02Hf-0000sX-Ar for patch@linaro.org; Mon, 27 Jul 2020 08:31:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37142) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02B3-0007UU-EB for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:24 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:40280) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02B1-0006SJ-J3 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:24:21 -0400 Received: by mail-wr1-x435.google.com with SMTP id l2so4116234wrc.7 for ; Mon, 27 Jul 2020 05:24:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rjsRSDGtJjMEQxhz0G+U/kI6w5pgukPBopF+vgNZ2Io=; b=kafMP2lLrcvQTVRd4gSyevAhwZcDyE5G24Kq/oeBd3EHXGRFg69Ry4mkUudGCTuyvM LZqzVEABV7JyIbbs5jLQe+gMTQ4vQhWQ6ssoF9qUB9fQUAKsExsTZ4V/14u7I+ucvYYV kbDPfPc3/VxLkhfiB8agRBBJwGAZFwjrgF89eN/hQ2GWitK9ztJE/Tpi/oBGHGSvMzxk n7twUjL9Yii1g2GDhQovrrMbF5H3vb1YOv/VPW/VyqgufCq2rY5epUAGDuMtvfe9debI hKU6bXHVMJIVf7lxZpdQcgKeIFp7O3PNCObXtssL8HoQUZ1BkANx92k0RvfMN/B+O+1w bbHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rjsRSDGtJjMEQxhz0G+U/kI6w5pgukPBopF+vgNZ2Io=; b=Yg81NePeqUehiaqnZ947PHVDHL5S8bCLBTRAWg/stohN6jm0YxsEa4+zwdWUh/lFhm 2/P6+tG/DpVHK7CEftZ+03r7QvV0HTkGdLLEQTt75GKzFxa6phAXLnQPK+ozC+HzPltO uwR8htxWEFLRnf5gFFjYAUfPlrUhIEQgMVKgjNOXJpQYaUHM1nb5n+LPaOQhdUFfdRq9 RVhTiKcuK4uM3NWU3D1wY7spTPzgV13Xzt1SRH6TIAETkZArb1HiLNcK5jQaBHfeGhZ9 DiTc1th8HT3+dXr6zB1JjdWwoF7utoHpe67EO0reEAUiuPjhgMSeZVfopzPdLIsOFiE7 FwOQ== X-Gm-Message-State: AOAM530d8N0lny4ydJIorQt5T5SXBAqiMYqW8u9VuxJrSe1g1L6zPNz8 compKQ1vjSwPC/lWm3NhcmXWPw== X-Received: by 2002:a5d:438c:: with SMTP id i12mr21595404wrq.210.1595852658235; Mon, 27 Jul 2020 05:24:18 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g16sm12065159wrs.88.2020.07.27.05.24.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:24:09 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id AB1AE1FF9D; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 14/16] python/qemu: Cleanup changes to ConsoleSocket Date: Mon, 27 Jul 2020 13:23:55 +0100 Message-Id: <20200727122357.31263-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x435.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Eduardo Habkost , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= , qemu-devel@nongnu.org, Cleber Rosa , =?utf-8?q?Alex?= =?utf-8?q?_Benn=C3=A9e?= , Robert Foley Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Robert Foley The changes to console_socket.py and machine.py are to cleanup for pylint and flake8. Signed-off-by: Robert Foley Signed-off-by: Alex Bennée Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200717203041.9867-2-robert.foley@linaro.org> Message-Id: <20200724064509.331-15-alex.bennee@linaro.org> -- 2.20.1 diff --git a/python/qemu/console_socket.py b/python/qemu/console_socket.py index 830cb7c6282..09986bc2152 100644 --- a/python/qemu/console_socket.py +++ b/python/qemu/console_socket.py @@ -1,12 +1,9 @@ -#!/usr/bin/env python3 -# -# This python module implements a ConsoleSocket object which is -# designed always drain the socket itself, and place -# the bytes into a in memory buffer for later processing. -# -# Optionally a file path can be passed in and we will also -# dump the characters to this file for debug. -# +""" +QEMU Console Socket Module: + +This python module implements a ConsoleSocket object, +which can drain a socket and optionally dump the bytes to file. +""" # Copyright 2020 Linaro # # Authors: @@ -15,20 +12,27 @@ # This code is licensed under the GPL version 2 or later. See # the COPYING file in the top-level directory. # + import asyncore import socket import threading -import io -import os -import sys from collections import deque import time -import traceback + class ConsoleSocket(asyncore.dispatcher): + """ + ConsoleSocket represents a socket attached to a char device. + Drains the socket and places the bytes into an in memory buffer + for later processing. + + Optionally a file path can be passed in and we will also + dump the characters to this file for debugging purposes. + """ def __init__(self, address, file=None): self._recv_timeout_sec = 300 + self._sleep_time = 0.5 self._buffer = deque() self._asyncore_thread = None self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) @@ -70,31 +74,28 @@ class ConsoleSocket(asyncore.dispatcher): def handle_read(self): """process arriving characters into in memory _buffer""" - try: - data = asyncore.dispatcher.recv(self, 1) - # latin1 is needed since there are some chars - # we are receiving that cannot be encoded to utf-8 - # such as 0xe2, 0x80, 0xA6. - string = data.decode("latin1") - except: - print("Exception seen.") - traceback.print_exc() - return + data = asyncore.dispatcher.recv(self, 1) + # latin1 is needed since there are some chars + # we are receiving that cannot be encoded to utf-8 + # such as 0xe2, 0x80, 0xA6. + string = data.decode("latin1") if self._logfile: self._logfile.write("{}".format(string)) self._logfile.flush() for c in string: self._buffer.extend(c) - def recv(self, n=1, sleep_delay_s=0.1): - """Return chars from in memory buffer""" + def recv(self, buffer_size=1): + """Return chars from in memory buffer. + Maintains the same API as socket.socket.recv. + """ start_time = time.time() - while len(self._buffer) < n: - time.sleep(sleep_delay_s) + while len(self._buffer) < buffer_size: + time.sleep(self._sleep_time) elapsed_sec = time.time() - start_time if elapsed_sec > self._recv_timeout_sec: raise socket.timeout - chars = ''.join([self._buffer.popleft() for i in range(n)]) + chars = ''.join([self._buffer.popleft() for i in range(buffer_size)]) # We choose to use latin1 to remain consistent with # handle_read() and give back the same data as the user would # receive if they were reading directly from the diff --git a/python/qemu/machine.py b/python/qemu/machine.py index 51aa255ef96..a09768e9f92 100644 --- a/python/qemu/machine.py +++ b/python/qemu/machine.py @@ -27,7 +27,7 @@ import socket import tempfile from typing import Optional, Type from types import TracebackType -from qemu.console_socket import ConsoleSocket +from . import console_socket from . import qmp @@ -674,8 +674,9 @@ class QEMUMachine: """ if self._console_socket is None: if self._drain_console: - self._console_socket = ConsoleSocket(self._console_address, - file=self._console_log_path) + self._console_socket = console_socket.ConsoleSocket( + self._console_address, + file=self._console_log_path) else: self._console_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) diff --git a/python/qemu/pylintrc b/python/qemu/pylintrc index 5d6ae7367d8..3f69205000d 100644 --- a/python/qemu/pylintrc +++ b/python/qemu/pylintrc @@ -33,7 +33,7 @@ good-names=i, Run, _, fd, - + c, [VARIABLES] [STRING] From patchwork Mon Jul 27 12:23:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247179 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4762381ilg; Mon, 27 Jul 2020 05:36:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweOzwCx0tHjwkM7cOWi15Nz0ikITJpUzWTgTNYy5lwzjOxvXgZKbcY100x/lTOq9T9GqVc X-Received: by 2002:a25:7641:: with SMTP id r62mr25626719ybc.466.1595853408373; Mon, 27 Jul 2020 05:36:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853408; cv=none; d=google.com; s=arc-20160816; b=PZoCT7Jw5ajOPLopyPutvatcAjnBSwtnWdnecvjUK52qzqk/vCaXM/91nGYTBpLUPb N3uo8Jo4lLfqRW2/pZd/ZJufMJrrJCt0QfxuRCN9ov2TAHX1n9WXyYWtUREYN9BlW2vR p9439oTWi3dCa9Y5bH2VtXA+kQTQvGljiLpzCytwzKhY77Z5jmfCX7uZOy2yUYjO8MWx SPcJNTW/Eu+OX1DbZVhmB1R51PEX+pCOen3TFJl10VJmMaqfZ99KFMSCZjSp0bYqgEKX GxlyUYpCzr0IZ5avktEGhx5PjimwS/XQJl/k8id9KdBM6WNqWm3+IGhhCVEiab5PWduq u9gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=8y6ixeIPgJW86fjgIL3Yvs/KvQizsaV1ZAK37O5WFus=; b=XO6tWdRXbnTD2hk+2OrNN3zsgWsyeAQR+B6LrQ9AgkVPyYBab+EkbDggXUfZC92yVR RLJlvHIsF+qmV+BKOwVWI3N7uclVronJJd4KTbUMX4zhBbkEeCu9GtdWdzoyXJjHrt1L tydrtahbZcEThfqa8sVk0aeDoXY6hG3zjLffDlEEaNrjRyh6IHNYHpvq3cWZPxXSZm7N 2Iudc3bzmwn2P33pNws4/elvV3iP5CPZONg+c9udj2+nl2ZkMR71qwiH8sw/7crs06bm WSAzzgj/pLpXyVDapw4a8TZgoNuHI4An649D5JdQHaEgHTzR4KAg+hoH/oSesUa5idZd HjfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=DM3WCwv7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e3si9505510ybr.111.2020.07.27.05.36.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:36:48 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=DM3WCwv7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02N5-0006il-Rj for patch@linaro.org; Mon, 27 Jul 2020 08:36:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39062) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02JB-0002no-K8 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:32:46 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:34506) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02J7-0007Sw-Qt for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:32:45 -0400 Received: by mail-wr1-x42f.google.com with SMTP id f7so14724188wrw.1 for ; Mon, 27 Jul 2020 05:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8y6ixeIPgJW86fjgIL3Yvs/KvQizsaV1ZAK37O5WFus=; b=DM3WCwv71sJo7LObRORAeYVh+LMSx0nkIQA5OEYmXGC9KE6aVC9HbDFNb1OkVgXIgg kdhLMxacNe8u2Z6TedyPuT41tl5NWo2bnbUX06Esw3p2VRFHcJlUp1oXQjTHdMHd3Yla JoekFOsble9nEyLd96S9hyCTiQpXzlwa5JhihoBynbFeZXE7H8zJrhIsEqt3e8PAeGaF vZCgnygMP47IwcahfewsafNVuNypJaU6btd0s+Fm3pbh3NHoZbRwwmn/vrH8MIKHeKkG qZbGZI1PV8r7hJTP3BaMn7W2bgyTXWJx/S21QsFIN7A2q0B7oUd6tXO7X1kdWUxtTgeA P6eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8y6ixeIPgJW86fjgIL3Yvs/KvQizsaV1ZAK37O5WFus=; b=mLygHTE6Y7YkMJw2rSxbmMzP59F7GUw+/6rXGqhuL9CfuxSlX4+0yQmxLLgO6YtjCu T/PkaxmuLX6mZcyhpIuBY7iriDKKGKLfzjiKKj9Kr8SzhURHeU1UUvxyN5GpcCTpDwJe FO+xgB9M7QxdXN2wmc3TXFSMgwtIItVdFql+DLpWOM+JK4oBZcn/p1ZQFYYqeNKMEnVg 5kYjE2583zl36uTxavG9WgXblJaTrthxlOWp5NDCVk4eZ9ZBeFly3YCqKQViAuxytdEo A3laDpRGbw9J7Cxp04dok9zUW1n5VGB0yZpj71cHCGZuLnLyd4V3T8tcMPiPuvG+gAxr HJRQ== X-Gm-Message-State: AOAM531oqF+lREaTCqowIrxLb1VxSxQYNO7fDVyWKxgKqxrOk67CAxB9 6rcDrkRnRhWvGKYnQ+lzsWqWaA== X-Received: by 2002:a5d:4611:: with SMTP id t17mr19041904wrq.243.1595853157251; Mon, 27 Jul 2020 05:32:37 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id z6sm12993226wrs.36.2020.07.27.05.32.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:32:35 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C3E121FF9E; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 15/16] python/qemu: Change ConsoleSocket to optionally drain socket. Date: Mon, 27 Jul 2020 13:23:56 +0100 Message-Id: <20200727122357.31263-16-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Cleber Rosa , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Eduardo Habkost , Robert Foley Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Robert Foley The primary purpose of this change is to clean up machine.py's console_socket property to return a single type, a ConsoleSocket. ConsoleSocket now derives from a socket, which means that in the default case (of not draining), machine.py will see the same behavior as it did prior to ConsoleSocket. Signed-off-by: Robert Foley Signed-off-by: Alex Bennée Message-Id: <20200717203041.9867-3-robert.foley@linaro.org> Message-Id: <20200724064509.331-16-alex.bennee@linaro.org> -- 2.20.1 diff --git a/python/qemu/console_socket.py b/python/qemu/console_socket.py index 09986bc2152..70869fbbdc4 100644 --- a/python/qemu/console_socket.py +++ b/python/qemu/console_socket.py @@ -13,68 +13,75 @@ which can drain a socket and optionally dump the bytes to file. # the COPYING file in the top-level directory. # -import asyncore import socket import threading from collections import deque import time -class ConsoleSocket(asyncore.dispatcher): +class ConsoleSocket(socket.socket): """ ConsoleSocket represents a socket attached to a char device. - Drains the socket and places the bytes into an in memory buffer - for later processing. + Optionally (if drain==True), drains the socket and places the bytes + into an in memory buffer for later processing. Optionally a file path can be passed in and we will also dump the characters to this file for debugging purposes. """ - def __init__(self, address, file=None): + def __init__(self, address, file=None, drain=False): self._recv_timeout_sec = 300 self._sleep_time = 0.5 self._buffer = deque() - self._asyncore_thread = None - self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - self._sock.connect(address) + socket.socket.__init__(self, socket.AF_UNIX, socket.SOCK_STREAM) + self.connect(address) self._logfile = None if file: self._logfile = open(file, "w") - asyncore.dispatcher.__init__(self, sock=self._sock) self._open = True - self._thread_start() + if drain: + self._drain_thread = self._thread_start() + else: + self._drain_thread = None - def _thread_start(self): - """Kick off a thread to wait on the asyncore.loop""" - if self._asyncore_thread is not None: - return - self._asyncore_thread = threading.Thread(target=asyncore.loop, - kwargs={'timeout':1}) - self._asyncore_thread.daemon = True - self._asyncore_thread.start() + def _drain_fn(self): + """Drains the socket and runs while the socket is open.""" + while self._open: + try: + self._drain_socket() + except socket.timeout: + # The socket is expected to timeout since we set a + # short timeout to allow the thread to exit when + # self._open is set to False. + time.sleep(self._sleep_time) - def handle_close(self): - """redirect close to base class""" - # Call the base class close, but not self.close() since - # handle_close() occurs in the context of the thread which - # self.close() attempts to join. - asyncore.dispatcher.close(self) + def _thread_start(self): + """Kick off a thread to drain the socket.""" + # Configure socket to not block and timeout. + # This allows our drain thread to not block + # on recieve and exit smoothly. + socket.socket.setblocking(self, False) + socket.socket.settimeout(self, 1) + drain_thread = threading.Thread(target=self._drain_fn) + drain_thread.daemon = True + drain_thread.start() + return drain_thread def close(self): """Close the base object and wait for the thread to terminate""" if self._open: self._open = False - asyncore.dispatcher.close(self) - if self._asyncore_thread is not None: - thread, self._asyncore_thread = self._asyncore_thread, None + if self._drain_thread is not None: + thread, self._drain_thread = self._drain_thread, None thread.join() + socket.socket.close(self) if self._logfile: self._logfile.close() self._logfile = None - def handle_read(self): + def _drain_socket(self): """process arriving characters into in memory _buffer""" - data = asyncore.dispatcher.recv(self, 1) + data = socket.socket.recv(self, 1) # latin1 is needed since there are some chars # we are receiving that cannot be encoded to utf-8 # such as 0xe2, 0x80, 0xA6. @@ -85,27 +92,38 @@ class ConsoleSocket(asyncore.dispatcher): for c in string: self._buffer.extend(c) - def recv(self, buffer_size=1): + def recv(self, bufsize=1): """Return chars from in memory buffer. Maintains the same API as socket.socket.recv. """ + if self._drain_thread is None: + # Not buffering the socket, pass thru to socket. + return socket.socket.recv(self, bufsize) start_time = time.time() - while len(self._buffer) < buffer_size: + while len(self._buffer) < bufsize: time.sleep(self._sleep_time) elapsed_sec = time.time() - start_time if elapsed_sec > self._recv_timeout_sec: raise socket.timeout - chars = ''.join([self._buffer.popleft() for i in range(buffer_size)]) + chars = ''.join([self._buffer.popleft() for i in range(bufsize)]) # We choose to use latin1 to remain consistent with # handle_read() and give back the same data as the user would # receive if they were reading directly from the # socket w/o our intervention. return chars.encode("latin1") - def set_blocking(self): - """Maintain compatibility with socket API""" - pass + def setblocking(self, value): + """When not draining we pass thru to the socket, + since when draining we control socket blocking. + """ + if self._drain_thread is None: + socket.socket.setblocking(self, value) def settimeout(self, seconds): - """Set current timeout on recv""" - self._recv_timeout_sec = seconds + """When not draining we pass thru to the socket, + since when draining we control the timeout. + """ + if seconds is not None: + self._recv_timeout_sec = seconds + if self._drain_thread is None: + socket.socket.settimeout(self, seconds) diff --git a/python/qemu/machine.py b/python/qemu/machine.py index a09768e9f92..82f3731fc3f 100644 --- a/python/qemu/machine.py +++ b/python/qemu/machine.py @@ -23,7 +23,6 @@ import os import subprocess import shutil import signal -import socket import tempfile from typing import Optional, Type from types import TracebackType @@ -673,12 +672,8 @@ class QEMUMachine: Returns a socket connected to the console """ if self._console_socket is None: - if self._drain_console: - self._console_socket = console_socket.ConsoleSocket( - self._console_address, - file=self._console_log_path) - else: - self._console_socket = socket.socket(socket.AF_UNIX, - socket.SOCK_STREAM) - self._console_socket.connect(self._console_address) + self._console_socket = console_socket.ConsoleSocket( + self._console_address, + file=self._console_log_path, + drain=self._drain_console) return self._console_socket From patchwork Mon Jul 27 12:23:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 247180 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp4763152ilg; Mon, 27 Jul 2020 05:37:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJdbFc5hGOg3bW0RKy2QFIvJQNuQOn54ffzLSFGOqVye8rYPu8GvBgVeH8wc9tIWvcbci1 X-Received: by 2002:a25:7344:: with SMTP id o65mr14819052ybc.417.1595853473696; Mon, 27 Jul 2020 05:37:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595853473; cv=none; d=google.com; s=arc-20160816; b=i71RM4K+j/q1fE1W1Gp8jD0Egv3yZwQx9/9DhsbGNeMLmmUPM0sKjgDYnHHManacg4 iGlbf4UZi+weJCRUfktKNH54qtdBthtODF8THszbpMnhIUn7mzjYHR7EZ4U1CRuM4/ZM tzjFDcb2oWezXT7zeTMnafxdZTIwlanj4F1aZluzz6lR0tSFM8KeQrNq9/Wn87si4rwp BdFzLhnpqCYM0OcXe6T6vFTUWsTKemNnDM07k1VoR/LycRR+nzi26hIycO+IBWqiloos LkrItk1q7nVSauwSNx/jwQkqLCNV6Sa2VsN1w2Sezq6W+zgIzO3jp456uCwkvejd3cuK FKCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=tOI4eNCeOvJeLfp6drp84GLtLjEuFDD1qv2L6pFrH6Y=; b=BoEy44JnV1sRCyyBw4dxn0Qyxty+Mwst3W9YInTjujWyOAgUs+MU+PODuUPbPdPJz9 Bwdmg+xI4/RV14z8fOlW1ZtspymA52mKStQPdANZGrl4hF4Xu+H/rM8JIlS9HlHrOY8L DVXqC83wqT27btAHyp/JLtQqTt3CbeyyoVF7qFgKb7n1lD8SKEO0ntqapVBDLekqJi52 q8vaSUiBfjW4CTtTZkJqQinDoisJDUo+WNh29mUp7Jn+BICpWHnnPXBB/i3Mo6uCtSwV UwaLz24HLQzWQOI41KJ6jRzORh7SAlHcB81OZkkioDpXHFxeMsAAVrpgOzfe0J0T468o umKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=LwSJmrv6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id p6si9351650ybm.376.2020.07.27.05.37.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2020 05:37:53 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=LwSJmrv6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:56334 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k02O9-0008RD-5z for patch@linaro.org; Mon, 27 Jul 2020 08:37:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k02JC-0002o5-B4 for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:32:46 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:50642) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k02J7-0007T4-Qt for qemu-devel@nongnu.org; Mon, 27 Jul 2020 08:32:46 -0400 Received: by mail-wm1-x344.google.com with SMTP id c80so14006873wme.0 for ; Mon, 27 Jul 2020 05:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tOI4eNCeOvJeLfp6drp84GLtLjEuFDD1qv2L6pFrH6Y=; b=LwSJmrv6jhy4JDNIv539CsKeG1Avbu7HIGfZ/lW15nBAg/Xn/jDeQKPyaFk4P7kbBK GGncrHjB4qRy4uilpxoYhUnXm4dyRG/xZLegHQPNxn2aPAOo5GiBymMp7/KJbsUJS9/C 3ejlbixcMX9vfP/kgtorWPkCPCLiRFVteRfTFtxY7wT/wTddHlZfJ1hUKpsBrGBIrVNU 9IZm/5yVWBU5lN8lHevGDTa3R0ySsFbrv6NRpfBFtQo7ZIfVcGErOgtdtULmeEC+jvW2 Sf9rJrDkh1HyVgmbUNrbrAyho5xugXoaEiy5N+gmSje9tSuj729oeT72gPeJsP+EgCzL ebLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tOI4eNCeOvJeLfp6drp84GLtLjEuFDD1qv2L6pFrH6Y=; b=V1aXOWqSnohobd5tUtiYCH5Azw6s64yF+3WxaSQ1LqJWG5mbR1rSCBVsmNG+LPC7wS 3NtHI9CtbIctCtbw/WV0qk009wLO2qHcFxrYP0/ux9rDNHGJHrqmi0Dri2ymPpLMOJeW ZBpm26s49YYvtwM3R6e/Z1bv532eGWyC+WoGUI0BynCF5g78+HrBoAHsKpGLE0cBiG1g rpTwRCUeiSJT844WbQi8wThGPp0Sjbai5ITebhLSg8WbzdkaPO7CbCBPIsxjGBGppXDn JDRkMyCdzonyv2VUjc03QFNfdq3fmCafeOzKVQFSV9Wv4tbigueHtd8289gpxbNCYhp6 zWbw== X-Gm-Message-State: AOAM533Mq8BJ1Kbycxbayk5zX2O5jcypXQNrUBwa8eFtPKs9TGPvE/QI bGRPZHcoSkOvmOakkD9KTKEmQQ== X-Received: by 2002:a1c:e382:: with SMTP id a124mr20435395wmh.11.1595853158389; Mon, 27 Jul 2020 05:32:38 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id o126sm6776581wma.20.2020.07.27.05.32.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 05:32:35 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id D7CC61FF9F; Mon, 27 Jul 2020 13:23:58 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 16/16] tests/vm: add shutdown timeout in basevm.py Date: Mon, 27 Jul 2020 13:23:57 +0100 Message-Id: <20200727122357.31263-17-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200727122357.31263-1-alex.bennee@linaro.org> References: <20200727122357.31263-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Robert Foley Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Robert Foley We are adding the shutdown timeout to solve an issue we now see where the aarch64 VMs timeout on shutdown under TCG. There is a new 3 second timeout in machine.py, which we override in basevm.py when shutting down. Signed-off-by: Robert Foley Signed-off-by: Alex Bennée Message-Id: <20200717203041.9867-4-robert.foley@linaro.org> Message-Id: <20200724064509.331-17-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 7acb48b8761..3fac20e929a 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -80,6 +80,8 @@ class BaseVM(object): arch = "#arch" # command to halt the guest, can be overridden by subclasses poweroff = "poweroff" + # Time to wait for shutdown to finish. + shutdown_timeout_default = 30 # enable IPv6 networking ipv6 = True # This is the timeout on the wait for console bytes. @@ -87,7 +89,7 @@ class BaseVM(object): # Scale up some timeouts under TCG. # 4 is arbitrary, but greater than 2, # since we found we need to wait more than twice as long. - tcg_ssh_timeout_multiplier = 4 + tcg_timeout_multiplier = 4 def __init__(self, args, config=None): self._guest = None self._genisoimage = args.genisoimage @@ -141,9 +143,12 @@ class BaseVM(object): if args.jobs and args.jobs > 1: self._args += ["-smp", "%d" % args.jobs] if kvm_available(self.arch): + self._shutdown_timeout = self.shutdown_timeout_default self._args += ["-enable-kvm"] else: logging.info("KVM not available, not using -enable-kvm") + self._shutdown_timeout = \ + self.shutdown_timeout_default * self.tcg_timeout_multiplier self._data_args = [] if self._config['qemu_args'] != None: @@ -423,7 +428,7 @@ class BaseVM(object): def wait_ssh(self, wait_root=False, seconds=300, cmd="exit 0"): # Allow more time for VM to boot under TCG. if not kvm_available(self.arch): - seconds *= self.tcg_ssh_timeout_multiplier + seconds *= self.tcg_timeout_multiplier starttime = datetime.datetime.now() endtime = starttime + datetime.timedelta(seconds=seconds) cmd_success = False @@ -441,14 +446,14 @@ class BaseVM(object): raise Exception("Timeout while waiting for guest ssh") def shutdown(self): - self._guest.shutdown() + self._guest.shutdown(timeout=self._shutdown_timeout) def wait(self): - self._guest.wait() + self._guest.wait(timeout=self._shutdown_timeout) def graceful_shutdown(self): self.ssh_root(self.poweroff) - self._guest.wait() + self._guest.wait(timeout=self._shutdown_timeout) def qmp(self, *args, **kwargs): return self._guest.qmp(*args, **kwargs)