From patchwork Thu May 21 19:15:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187082 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1826352ilb; Thu, 21 May 2020 12:16:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy1gDr/WJdjOi3LJBCbyyJknM4+sDOhSVayUVbIK9tLEMpwTxI5kmPqzpPKiT6KBWiJ+olP X-Received: by 2002:ac8:260b:: with SMTP id u11mr12182375qtu.380.1590088593018; Thu, 21 May 2020 12:16:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088593; cv=none; d=google.com; s=arc-20160816; b=zvu0BCq4YRbyGXFHepNu3I4U4tlV2b+aRdPcI9j7duiHJgbWIPEz8XGqaJIOT2/eGt kcecPTxfqyGLyv6F03pgQHKW83nZ7N3igMInuBDyqye+Nckb+xpfKuqGUX9+r3N0B5Py xS+MdwKGBoxyhzfZd1GOaumbrpDz/WOOCBXYxbIyth7b8P4jQOqoB6sx5v699gzeTiBy MdGs2dLfRgxCjHzYccJnUzQchodV0mVn2M9Wh6GiJ+DHb6ecadH8eXillR5Cwf/8i4NU qT0q/rmslK2NlJftHAeYBN1HTCpe7MlCmMXd43VbYlAF3gVC49dRg7wBpc5Jaoh+Bva/ ZTXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=0VFoy/cM3V05uBsBC12Q50YlNd/454IKTpCX5/EFXfo=; b=rvntqef91lBOXBWJAiNIYCtORRy7xPgVCxjg/tqw/0rvA1x7ohi7hRmYAyGrCjtydl 3Am3H/ajUL3gFcggjSbFIBuLtPyOnbXxDPBlUUUwSxYZksy+oDMgNA3NxSiSCDX0Yo+I ZIyHv70v7fOKdbo+9oHYoHNhfOZLTiEcHuVqwtXbmQ/UvRvTtyIOINddg5CuMgjL6Wb0 tcH4sxyyF/6ntRRqnpWwTOskov0hNdn0ppWlGxVsjEnJWtyT/wOx8IiqOEnYYGzS8xI5 ea1J6ELR8oeIg+7eb+cnBZBvKG2ySPBY/1IF1om0D+vREY4GbM+Fr6mEGZWR88ZAyo73 CqiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=y8qf+qXK; 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=pass (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 y31si3680475qtd.198.2020.05.21.12.16.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:16: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=pass header.i=@linaro.org header.s=google header.b=y8qf+qXK; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqgB-0001yZ-Cn for patch@linaro.org; Thu, 21 May 2020 15:16:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqfx-0001xR-Nj for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:17 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:37312) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqfw-0000OO-Jd for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:17 -0400 Received: by mail-wm1-x333.google.com with SMTP id z72so7561376wmc.2 for ; Thu, 21 May 2020 12:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=0VFoy/cM3V05uBsBC12Q50YlNd/454IKTpCX5/EFXfo=; b=y8qf+qXKfYIFPHgS9wt+744Ctb5HNDpDI5HJ78JuVawZ8HSrTv8jN6YHP4nls6nBIX dbBltGPiBdgCB+9dhZ5iCHVhIX2ajqjOqu/Z18iFs78DhlcWzdReQ9ZpmT7G3dXpdymw M6BxRX2QlYpMAMG9dfxv0mcMzJgF6ol1yIIs8btdBJgmfmvV5Js74a6l0dAqq3uJfqzP rkifUyTmDBy4JXp4ZSH6DZSQzv0LIA7wTsyLEyh48QOtOiyNdeQJGaRqj/XW7pOWXGlj zuFVKWHFs37MKZGFtMoFE4g1kVK+bEMrX05/o7HssVb6AbgbMIIcarP69NviY63KPaw1 CESQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0VFoy/cM3V05uBsBC12Q50YlNd/454IKTpCX5/EFXfo=; b=RIJVzLldc6wZS0mHe/wkwqXyaCP6vIjx1NulTJi481lM+FSbBJ8q1Gi987amkVtDo6 dTplgpr0TI/knxwLBhCI2UB2+3egDIs1wv+jWaoIETf4uZg6RJXqrg5+t+GEwT9J2A4r 4oQlvHw3A39H70C62Vr1tGLDsIcnAV/+WMfa3uz3kxxa5jkB3S2cvX7lf88ukC6lExRL EE6KVczRh0Lo8za5uOs0nlxt8FuwWXOdU803vNGurvbgnAiq7QSs4UD0mY0jXcIJ24EY Pxa62FYLbkjTGQBLuovYOuF9hK5Brx4XUGonGe5ur3vyDTLrN277X5NN7ccK7+4CAqRS a98w== X-Gm-Message-State: AOAM533eE3Jukv6RhrWBBeTZqJOiYWiGDmBB51fFcyt0M8sg1HaMVazc UWgdI+MACxRYm1KwUVK9psaD7hY0SZasGQ== X-Received: by 2002:a1c:c386:: with SMTP id t128mr9970909wmf.11.1590088574746; Thu, 21 May 2020 12:16:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/29] tests/acceptance: Add a test for the canon-a1100 machine Date: Thu, 21 May 2020 20:15:42 +0100 Message-Id: <20200521191610.10941-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x333.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Thomas Huth The canon-a1100 machine can be used with the Barebox firmware. The QEMU Advent Calendar 2018 features a pre-compiled image which we can use for testing. Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Reviewed-by: Wainer dos Santos Moschetta Tested-by: Wainer dos Santos Moschetta Signed-off-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Message-id: 20200514190422.23645-1-f4bug@amsat.org Message-Id: <20200129090420.13954-1-thuth@redhat.com> [PMD: Rebased MAINTAINERS] Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Peter Maydell --- MAINTAINERS | 1 + tests/acceptance/machine_arm_canona1100.py | 35 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 tests/acceptance/machine_arm_canona1100.py -- 2.20.1 diff --git a/MAINTAINERS b/MAINTAINERS index 87a412c229b..1e006c98fab 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -608,6 +608,7 @@ S: Odd Fixes F: include/hw/arm/digic.h F: hw/*/digic* F: include/hw/*/digic* +F: tests/acceptance/machine_arm_canona1100.py Goldfish RTC M: Anup Patel diff --git a/tests/acceptance/machine_arm_canona1100.py b/tests/acceptance/machine_arm_canona1100.py new file mode 100644 index 00000000000..0e5c43dbcf8 --- /dev/null +++ b/tests/acceptance/machine_arm_canona1100.py @@ -0,0 +1,35 @@ +# Functional test that boots the canon-a1100 machine with firmware +# +# Copyright (c) 2020 Red Hat, Inc. +# +# Author: +# Thomas Huth +# +# This work is licensed under the terms of the GNU GPL, version 2 or +# later. See the COPYING file in the top-level directory. + +from avocado_qemu import Test +from avocado_qemu import wait_for_console_pattern +from avocado.utils import archive + +class CanonA1100Machine(Test): + """Boots the barebox firmware and checks that the console is operational""" + + timeout = 90 + + def test_arm_canona1100(self): + """ + :avocado: tags=arch:arm + :avocado: tags=machine:canon-a1100 + :avocado: tags=device:pflash_cfi02 + """ + tar_url = ('https://www.qemu-advent-calendar.org' + '/2018/download/day18.tar.xz') + tar_hash = '068b5fc4242b29381acee94713509f8a876e9db6' + file_path = self.fetch_asset(tar_url, asset_hash=tar_hash) + archive.extract(file_path, self.workdir) + self.vm.set_console() + self.vm.add_args('-bios', + self.workdir + '/day18/barebox.canon-a1100.bin') + self.vm.launch() + wait_for_console_pattern(self, 'running /env/bin/init') From patchwork Thu May 21 19:15:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187086 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1828140ilb; Thu, 21 May 2020 12:18:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwzhiFciqMKK5daE8UcWUTlFxXpfhtyW3wAGIrf8Nj5BalBGrNv/PDKIgKQlAe2EyejAZYg X-Received: by 2002:a25:cb45:: with SMTP id b66mr186713ybg.177.1590088736564; Thu, 21 May 2020 12:18:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088736; cv=none; d=google.com; s=arc-20160816; b=gLdKG368TCPm/EQSAamt9aV2RI8zeE3g4kWMib4x38pV9hvsnAutGfHmjTwEEBTKvV /GwPjtp+/uoMQUFphHpdYzrVWBCupbYkGCRXRHxn/5eiWZwLN6kTP3IEVl3Nbt3uyt+L GgSDC7xdRGlWUDVazC0pcgBEEDU4UvWiIi2jKyHqwczDHJ+XNX77jansakzgj/PSx3gC 0GETfyt92sb6NzL7kkHjXkiaH1ldvUDkEb39H6HwHa9MkkZOhHjahDO+LHTwL8ub9Ewj TXrEVAqeQi3P2qWiSzn+/b6pd945LocxznfFDamNohdhf5RGXAVmMr/PCKRgVellcZYp bAQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=Ua66Po+S3fTZ1GQQHmrF+D0YxmGxJFJ7sLOjFuo6+sc=; b=Qf434C3MriDYdmrjfyBjU7QuDIcQFQkEvs1tLtYek3gWxXIu81GlXKEa4wq0lvPVDj gpYgPef+sLmezoG3S0eXDKbJqf+NORQkZI6qxP+GoEKYyZM3AhZ9Db6umEWrKQGSMOd0 ck3reww0qNlbsla2pEfRMziJmpQ0WjzN/J6A8fqTxS8wvLxbUlusFOBIdZbgEMohZDAz 26ETEY+n9YwUWWSQjZhs0ztGfHDRbkJyKFVc3uCybRvdURTpuBopOt7CE6h0FWGoSz0F gZL8131O2NrgSW5WudpkTVnX7zHWTJ/ko0hY7iUztZg8xFVUUs75LmuoXYzDeX5KZ9Ww EIBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sMJNYReZ; 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=pass (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 j83si5391418ybb.370.2020.05.21.12.18.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:18:56 -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=pass header.i=@linaro.org header.s=google header.b=sMJNYReZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:43620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqiV-0006jL-Vc for patch@linaro.org; Thu, 21 May 2020 15:18:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37980) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqfy-0001xY-AB for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:18 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:34834) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqfx-0000Oi-He for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:18 -0400 Received: by mail-wm1-x32b.google.com with SMTP id n5so7564593wmd.0 for ; Thu, 21 May 2020 12:16:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Ua66Po+S3fTZ1GQQHmrF+D0YxmGxJFJ7sLOjFuo6+sc=; b=sMJNYReZlzbKibgOo2Z8Lph/UOTxHaVxxJ2/lACoK8SBd+HSqYqp+fAXXoZ6TqU1AI 9NxDcS8CGkYfYJ/OvWPCV5buutAwYGVJyYYzwnTHlkRJO5N/KN18+v55rPQIeWDPlPTS K4L44uzuoxoKNYHm7Bc9bwAyMfUsv0N/OVU3kgb/nClgc5TlpvtrgKxFusCZQBKvdwfV QoOGRR0RRK9vq8Jp9DAtVHKgN/tPd6PmOi/OCEVj971gWHCMsDK/1vOxtNy4PR3k19hU FLDyssr5Fyb9cy59wIDXI96JNwwObG5+e/PsL5EZYs1yXnmbv9RZc684gnZBl6ddkSEw G8bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ua66Po+S3fTZ1GQQHmrF+D0YxmGxJFJ7sLOjFuo6+sc=; b=NjyDNEJIYOjXVYZsaGvZbLvjA/Hb9lokaKEc9oP5H+1Tz5xPXCLHhvBfDsEtEd51pk 4en6VDSqrk3s9aayfK4TYIi3BksnRSXs9t9n1+f9gh9q5G8e1WS3FoSo8tu+SfMTweNg b5GIKZo71OtkaRd40P5599z6Kw0zW1nnDEtFVodP6kcYRbNpJ6BzPKEZ5U4BF8eSNuce eagzrNzhWN3keWjG1wU72WvhLkqP49e1TBkvDa2v7b4IOZsUEjocYhSaVXmcgF2ZMC+m 3EYlKb1jOdjiWaHac4oQegqw9N/lFukPWlcuRF5Qy1Blm+g+ZZrPxL41sFmBlvJxCVfT 93Kw== X-Gm-Message-State: AOAM533o48egFe+kvYQn72V2yZCu+zO2QTvlctOnKQqZ3l/vQFDAZKhk dV2Wycv9MpDYT45AxOQ6q0lafSUCQuV48Q== X-Received: by 2002:a1c:5502:: with SMTP id j2mr10776930wmb.56.1590088575861; Thu, 21 May 2020 12:16:15 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:15 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/29] docs/system: Add 'Arm' to the Integrator/CP document title Date: Thu, 21 May 2020 20:15:43 +0100 Message-Id: <20200521191610.10941-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32b.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Add 'Arm' to the Integrator/CP document title, for consistency with the titling of the other documentation of Arm devboard models (versatile, realview). Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Reviewed-by: Alex Bennée Message-id: 20200507151819.28444-2-peter.maydell@linaro.org --- docs/system/arm/integratorcp.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.20.1 diff --git a/docs/system/arm/integratorcp.rst b/docs/system/arm/integratorcp.rst index e6f050f602b..594438008e4 100644 --- a/docs/system/arm/integratorcp.rst +++ b/docs/system/arm/integratorcp.rst @@ -1,5 +1,5 @@ -Integrator/CP (``integratorcp``) -================================ +Arm Integrator/CP (``integratorcp``) +==================================== The Arm Integrator/CP board is emulated with the following devices: From patchwork Thu May 21 19:15:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187084 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1826873ilb; Thu, 21 May 2020 12:17:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwWhN5x3yKRJZ9WEOv+twK01lVUZY1mwo8trdQcbhPpXkTkPWwNuQYZ5kceXb4X2aROLw24 X-Received: by 2002:a05:620a:22d6:: with SMTP id o22mr12061039qki.305.1590088636041; Thu, 21 May 2020 12:17:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088636; cv=none; d=google.com; s=arc-20160816; b=rFHYy1JopO3a13dAsvby7pZwb6IWcS0F/3fZ5o5etd/McFmQIPAVwPKk7EsT0YhGBq 2fzM5kciyAhoKRQY4eXNF8R2MADek2sf1SxVm91baW5iEl6yrrYSfWLm+pHiVZUXLFSF 1eIcjORocphm8izTIBzs98nNa6H5i+WR6WiF65gretUWGqkAoLOWca8qoOtP+Ix/TFKf jVvDpYKTewDAbsoUNCS2GEPdLo2Fi2z1Ce5A8MNH3GFwoPIg+qk5UPiZIA5Vv/mZhPmj UbohOCTis2oTrqEaIlXTTDfUs+OZm6LmxA3MjBDnzLOORfgAqDND8H+kdpVbit5W6Roe bfIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=u7KCiGuOgAZ7UqunOZf69lXCjQ+SrqjjB07ACAIR9HQ=; b=FuZHgWXb4shb8XzhtaHXJuNF74axeEVt2iJZwF9ZXY3FPCNqX43zjc8aaNFD+rAiHR x+LqAOlvMvjav7Vc2Co9Td75hf1smWzChCofkv28OuhycZq/MQm0GPwLF4I/M+dVhY8K SKHSmAkhpdAnp6RrMNLbUrMPRWWGCVPpL7qYUw1effOrREws2Nu5eDixKg80EI5Uhi+/ 9xNYFnx82DoQIUl3QngSG/Rmdc2j/NW2FMaPyzoCAUL3rasFA2h45FSHEvbLxFAYS21x MJFpZjcHOz5uDuwG3YZGtS38qM5SId4okZMTj2j0JJBb2m71uD7IGSdMUah9daG2gaPw KoJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Nhp2jQQm; 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=pass (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 u5si4184936qkh.191.2020.05.21.12.17.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:17: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=pass header.i=@linaro.org header.s=google header.b=Nhp2jQQm; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqgt-00022Y-GY for patch@linaro.org; Thu, 21 May 2020 15:17:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqfz-0001y1-AO for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:19 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:40848) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqfy-0000Ou-H2 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:19 -0400 Received: by mail-wm1-x32c.google.com with SMTP id n18so7557819wmj.5 for ; Thu, 21 May 2020 12:16:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=u7KCiGuOgAZ7UqunOZf69lXCjQ+SrqjjB07ACAIR9HQ=; b=Nhp2jQQmmXApv1pE5D9w1AtHZ4YqZL/UHM+CikIQ2a49cZaCvxBLcGJKzNw5qbwaFt +tov3wEl35c4dj/KyVViEh4OzRGhJs4JH8X7Unjg2qii1MOKlb2bYsm3XZM7fj0Z76un cgfh1FNJCN/FDOm5oNpNFOxp3sEd8gGwrZFHtvCjVWt354ktCuah9gnkoS/EaP7YaG14 2LwOH3yMW0ykFDMpRrxKUNjk6lKJUsZYWALNrnOnT3oD5cq+BHl2pa+KLv24Eop3AG9q kcBeyTrCc92zABMzDLFW1U6eoPwYDpkGv01pGV/1dt431U+2vMSxbj6oYUP52KPZyJw7 gfQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u7KCiGuOgAZ7UqunOZf69lXCjQ+SrqjjB07ACAIR9HQ=; b=seAMZXGkJJ7opREsaMg4uqnfz08eaD8GYUcyFYRPuA+s7sX7ln1QnDfOQiYaZGp2+b ru0V4805A4rjFzneCAU1crAE/QPnlSzVCPhaYIzeNfoKchzwuUzVBfTBjqmWKmEg7G2B q7Hz5yjtMMTDaW/FtgCTGH1KSQMCuQcMjuacxtS9vpevZTdHKh6n46qnQqenUKbRMh/e tmol9ChL5+cC5GohSHdH9wBvRTz/PQqbJeH6v2JPaRTTFGLsoeEFj7rMIf2KkLwkUY61 H360WZgLLLNHwq6vGY3kgV17qxBfQiOUv5xO3Rh5nKQaLLLaR0iW0BUn5bCx3zpd1wlk pDOg== X-Gm-Message-State: AOAM530+Yq6au7ZmYJT8O1qvuv+/dM8/QXuXFl+450rXe2at4Y3IsFmP 3lzoy6Jp/RQ5LU3zdrBC/ySTaOJeYTnQtQ== X-Received: by 2002:a1c:1b4d:: with SMTP id b74mr10059710wmb.123.1590088576824; Thu, 21 May 2020 12:16:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:16 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/29] docs/system: Sort Arm board index into alphabetical order Date: Thu, 21 May 2020 20:15:44 +0100 Message-Id: <20200521191610.10941-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32c.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Sort the board index into alphabetical order. (Note that we need to sort alphabetically by the title text of each file, which isn't the same ordering as sorting by the filename.) Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Reviewed-by: Alex Bennée Message-id: 20200507151819.28444-3-peter.maydell@linaro.org --- docs/system/target-arm.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) -- 2.20.1 diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst index 324e2af1cbc..d459efb3d20 100644 --- a/docs/system/target-arm.rst +++ b/docs/system/target-arm.rst @@ -67,19 +67,24 @@ Unfortunately many of the Arm boards QEMU supports are currently undocumented; you can get a complete list by running ``qemu-system-aarch64 --machine help``. +.. + This table of contents should be kept sorted alphabetically + by the title text of each file, which isn't the same ordering + as an alphabetical sort by filename. + .. toctree:: :maxdepth: 1 arm/integratorcp - arm/versatile arm/realview - arm/xscale - arm/palm - arm/nseries - arm/stellaris + arm/versatile arm/musicpal - arm/sx1 + arm/nseries arm/orangepi + arm/palm + arm/xscale + arm/sx1 + arm/stellaris Arm CPU features ================ From patchwork Thu May 21 19:15:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187085 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1826889ilb; Thu, 21 May 2020 12:17:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyKjhGC+HBtOZaAl7eMDKVcylGJd4QU1T97nzaJhL++svUdh5US/8AUwvglM2Jp/33JicTL X-Received: by 2002:a37:496:: with SMTP id 144mr11370458qke.50.1590088637056; Thu, 21 May 2020 12:17:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088637; cv=none; d=google.com; s=arc-20160816; b=ok+TJ/TbO//+5gYFkEy+YzLlNQlMdO/9giIj9/Cb38odi3WRh173/yLBPX5fFs/6gG A4/sKO8WjdCgKYOpnMPpd4rlgFRDDiyF7dsY8kJGUhHcERA4ER0nWyCtMWYX1k8GIrSS w5oMCk318PZ2vLf93Jg6rEYUUSAowMzKl8+1nw9UEqjnKi7dGbJDcUWuBEg4M3p9PIcQ pt9IpDHm+QngJlLrexF43wOMoB5v5RquRnaYlnV6QeeJN3euBxqsJibCswojEc2uf3A3 lTG/rQhn98lIKCErRFq2WTyO339bWW3NUm7wWNpGrcTqqDso0kUX5EgWwTJaw6wSFtog tR5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=CcIe3RQsnYbg8g+NInxK1LG4Wd7si9pCUTbnuZRw2Kg=; b=gISS4m02xmWRBw24/xXPmvSE6gUIeN0CO1hN55dkAcrbKGnLj3BExp3N+T3KT+GEgu QR1+gq1/FbzoThND6sV31foV3PUc1CjihdYJ7AJ102y5D8aJ0oMv0EKx7TctIVAPMIjP rW+7E+U/u6o2jx6+NzzlgdUvmzm83A7ZX836FUYRiSOYk6lNzcPq4lD+6eDdPhnC6R3G dF9iB5OMEeWMp4edSwzuEJY+aoxEy8bj8UbO47MZ+CQ3OoC9DMWfuhNe/u597U892cBy xn0WFAMDgmWSoGjc6QdfLR7f1W3a8On214Mb3LRxYxWZvz3qTpAWOPkb8JiNuBo9A4RS L0qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ve643H7V; 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=pass (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 b5si4028394qkl.71.2020.05.21.12.17.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:17:17 -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=pass header.i=@linaro.org header.s=google header.b=ve643H7V; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35554 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqgu-00025P-EG for patch@linaro.org; Thu, 21 May 2020 15:17:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg1-00021K-Ba for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:21 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:43146) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg0-0000P9-89 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:21 -0400 Received: by mail-wr1-x443.google.com with SMTP id i15so7731385wrx.10 for ; Thu, 21 May 2020 12:16:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CcIe3RQsnYbg8g+NInxK1LG4Wd7si9pCUTbnuZRw2Kg=; b=ve643H7V7zDSjRdar8kSOyH7SUt/JzrJN8nfsYVm8H5yIsVCL7xC4jeog31S2bRNqb jBqdMT4qlJ4VY9rga7RP/NTyRTjGwwKGuZ9wQ9w3KzDwKc6ctsF+6rvn4AHrn8EJTcVh 2zXq7DUt3MrgsYMmBdzbcF5htSo9R6s+E56Gx1oRA9GHAMwByqIZSs1TVP8E7nJLP3Sy mRA2nuXxqzd66JtPewzMpuDqcM4UyxS0SZ0idB++7nKDx3qEk4j3hGGzxcg3fqc6jQsl BU48clPzL301O889DYV+DPWvD7eN9+WjuZXZyqNuyTM7F0gQUrVke+6jtUeFqk3EBNvp GO7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CcIe3RQsnYbg8g+NInxK1LG4Wd7si9pCUTbnuZRw2Kg=; b=f8MP36Uy38APvAu7jba8fd6ya46LliHjWhBn4ktNMxbVmzif3zV8Lz2oHOoGo4fyGl vaiQnoQNQJYGJnsJxFi6Qj41oua5j0w972MYdvlWfkJ7uitoX9hl8N01gut8xunO9Ihh wsikk875ABkOiYWGxbmidDKttxPPrNFgBatiEd46iMVNAWn/FLdAYw3eN2Q0gEywAZEL hLEK7csZt4fBYt93yFKL6cKXSHx2Rtrh6yFUyZf4GTvpgaAKL7cL5iKodNgKKwXUz4n7 rRnyO+200nvju0wA8ebAXEccsz1adNfYcVSr721nmzSUtDtBo1PEfqMIBuVjccVbaVtm 9jnw== X-Gm-Message-State: AOAM533WsJhs6nNcjQubBh4+P4qcAfoC4n/dWopzrh+ZdaR/QvIZ1g09 tJSOHJeJss9ydDDAzWA9M3odmfnodWkMwA== X-Received: by 2002:adf:f601:: with SMTP id t1mr87334wrp.207.1590088578531; Thu, 21 May 2020 12:16:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/29] docs/system: Document Arm Versatile Express boards Date: Thu, 21 May 2020 20:15:45 +0100 Message-Id: <20200521191610.10941-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Provide a minimal documentation of the Versatile Express boards (vexpress-a9, vexpress-a15). Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Reviewed-by: Alex Bennée Message-id: 20200507151819.28444-4-peter.maydell@linaro.org --- docs/system/arm/vexpress.rst | 60 ++++++++++++++++++++++++++++++++++++ docs/system/target-arm.rst | 1 + MAINTAINERS | 1 + 3 files changed, 62 insertions(+) create mode 100644 docs/system/arm/vexpress.rst -- 2.20.1 diff --git a/docs/system/arm/vexpress.rst b/docs/system/arm/vexpress.rst new file mode 100644 index 00000000000..7f1bcbef078 --- /dev/null +++ b/docs/system/arm/vexpress.rst @@ -0,0 +1,60 @@ +Arm Versatile Express boards (``vexpress-a9``, ``vexpress-a15``) +================================================================ + +QEMU models two variants of the Arm Versatile Express development +board family: + +- ``vexpress-a9`` models the combination of the Versatile Express + motherboard and the CoreTile Express A9x4 daughterboard +- ``vexpress-a15`` models the combination of the Versatile Express + motherboard and the CoreTile Express A15x2 daughterboard + +Note that as this hardware does not have PCI, IDE or SCSI, +the only available storage option is emulated SD card. + +Implemented devices: + +- PL041 audio +- PL181 SD controller +- PL050 keyboard and mouse +- PL011 UARTs +- SP804 timers +- I2C controller +- PL031 RTC +- PL111 LCD display controller +- Flash memory +- LAN9118 ethernet + +Unimplemented devices: + +- SP810 system control block +- PCI-express +- USB controller (Philips ISP1761) +- Local DAP ROM +- CoreSight interfaces +- PL301 AXI interconnect +- SCC +- System counter +- HDLCD controller (``vexpress-a15``) +- SP805 watchdog +- PL341 dynamic memory controller +- DMA330 DMA controller +- PL354 static memory controller +- BP147 TrustZone Protection Controller +- TrustZone Address Space Controller + +Other differences between the hardware and the QEMU model: + +- QEMU will default to creating one CPU unless you pass a different + ``-smp`` argument +- QEMU allows the amount of RAM provided to be specified with the + ``-m`` argument +- QEMU defaults to providing a CPU which does not provide either + TrustZone or the Virtualization Extensions: if you want these you + must enable them with ``-machine secure=on`` and ``-machine + virtualization=on`` +- QEMU provides 4 virtio-mmio virtio transports; these start at + address ``0x10013000`` for ``vexpress-a9`` and at ``0x1c130000`` for + ``vexpress-a15``, and have IRQs from 40 upwards. If a dtb is + provided on the command line then QEMU will edit it to include + suitable entries describing these transports for the guest. diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst index d459efb3d20..1c759aa1a08 100644 --- a/docs/system/target-arm.rst +++ b/docs/system/target-arm.rst @@ -78,6 +78,7 @@ undocumented; you can get a complete list by running arm/integratorcp arm/realview arm/versatile + arm/vexpress arm/musicpal arm/nseries arm/orangepi diff --git a/MAINTAINERS b/MAINTAINERS index 1e006c98fab..6a9280c1b03 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -828,6 +828,7 @@ M: Peter Maydell L: qemu-arm@nongnu.org S: Maintained F: hw/arm/vexpress.c +F: docs/system/arm/vexpress.rst Versatile PB M: Peter Maydell From patchwork Thu May 21 19:15:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187091 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1829642ilb; Thu, 21 May 2020 12:21:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzKhCSCiiLiOY4UJeOEUySiG8BhoBZNf4eWNlpRntI0VTPfvtXuWQors3kHC9hDDjyoFWH7 X-Received: by 2002:a25:13c5:: with SMTP id 188mr17629418ybt.353.1590088861333; Thu, 21 May 2020 12:21:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088861; cv=none; d=google.com; s=arc-20160816; b=eIEBjlZzC033WL6IAkupvCGQP3rlFps3pfYo8kE4FiVQ+HViGDnljkYfuZYov2pIy3 RjpgoNHnN13UIyJ0cUpm0gxxE1Y8kn1uST+vb0HyHura3MJlUoQ5Q9ZGkwUVcuXYLZvk xLvIRs77+IyW8ZRzV76ZNFB5bJ0ayGmyyvLl2q8WvD1LT0CY58HDulNuWfJDQZAZbPga +GyztRjzoP+AyhmKWBxQNWve3EOLC6airQMtXsExDGWisGxcPG8LxQZgNxovBxv5w9ob tiE2GZ63dl9jw1hltvThuULKolXbYe/u72Z04MQUhrh9wqf8+45eT+Nsp6j7jim4tZTT U9TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=IaZtb9mzc1u3nnOp3gW0dG4QSP8UXW5anJbY4Gmv+gE=; b=XOkraAz2PqUWB3WCNLAbrMbmj9Pnb+MJKYTIhIYAWne514kmRXJ5Ty7EeceKT7OaCZ q/X7Zz/gweahKn6xTVrsYUqU8iIGgrRMssGTi2UwM0Hn0BC+XH40q208/8MA0xjgHHKf i/UajLBgvmgudLyaFf31CEjJ70JrUYNOg1ktc/7PBQE1Iekkcnx9frChsqtGuxZHalHz oNnVrr0sc7KAc1QxwDBjL6WvBIs47xTb2KlC8ugff4wQaoc7wsXhDbCOyGGSZuolD1T0 qv3j1hisvRWLgM6C5VlZtlBVlh1FMy4O1OU2Z/nVbkbeIdqLOUv9feYMp5HPl1dGKvBA 8zFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mPOd8aCV; 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=pass (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 x2si5902600ybq.180.2020.05.21.12.21.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:21:01 -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=pass header.i=@linaro.org header.s=google header.b=mPOd8aCV; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:51982 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqkW-0001g8-Lm for patch@linaro.org; Thu, 21 May 2020 15:21:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38000) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg2-00022j-6O for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:22 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:35787) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg1-0000PG-7q for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:21 -0400 Received: by mail-wr1-x42b.google.com with SMTP id x14so2390693wrp.2 for ; Thu, 21 May 2020 12:16:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=IaZtb9mzc1u3nnOp3gW0dG4QSP8UXW5anJbY4Gmv+gE=; b=mPOd8aCVeIw3BIrA8COwOpbC65xMtDwDGDltpBo+xW+4OzHn6PhYcHTa62esAVAmOC 6xhiLhbk8WcE+Zbwkb+wqk6cJ5TfQ+GL6mJF3P1JELEoj8MCUPNUR7x4Op2wKuMSLCvQ 20afZg4sSmBFeLkh7EOl2eOlk9PBAHtOBJyufkcChjtI/Ovks4PxIRFLKHwKNhwfc3Ey Gf41X2qi6FzKl68gAzU2/giJx1VPM97qCtkV/xywLqZdb1Jh5nz1n+GOyqlRT0LQsXVR brrOA3JT9B3FVSSA4umA3yZcE6hDDBWuZzWJPMWybRRQJX41yavg7fPbf0DlMO5hMZwO 6AZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IaZtb9mzc1u3nnOp3gW0dG4QSP8UXW5anJbY4Gmv+gE=; b=Is/vUCyNdPl7B/91N4Xda00v6/OJKb/hkDixd2cluo3bni9BmAptOj07UlM2/4jN9d oDzKlb3Ewa4OGg6unlpZfvOWBaWRNcOiHq94mlu8KUJ6lNvGXCFyCIkKycCBCbwM/ZBP 2PmF7FF9IR/AvGwsP1f7PbP+3sddyViIk2gakcO6db9TaUpbZ7q+wkBrd4y0kno4Z52f kEq2xdaPAZo41+CyFQ0B2qTvdzcWymgLEFs+8w8NF+aphPVVmFIEXVXIgMy5kaZFSOSm luIuhJgqQhr6+WtKd/VS7wExskHGeVL+qum5MxfaVMk0IX6bTcCp7V6mpvw06eUUdl// v97g== X-Gm-Message-State: AOAM5308i9T/jh6/SuowzTwQnuGZGQ7jOJL/WUrVgueJKctJg/8UhW/8 /SaB3Ho4mKObF0TJq1QcnEzXwV8/SP2vSQ== X-Received: by 2002:adf:e90b:: with SMTP id f11mr95957wrm.364.1590088579534; Thu, 21 May 2020 12:16:19 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:18 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/29] docs/system: Document the various MPS2 models Date: Thu, 21 May 2020 20:15:46 +0100 Message-Id: <20200521191610.10941-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42b.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Add basic documentation of the MPS2 board models. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Reviewed-by: Alex Bennée Message-id: 20200507151819.28444-5-peter.maydell@linaro.org --- docs/system/arm/mps2.rst | 29 +++++++++++++++++++++++++++++ docs/system/target-arm.rst | 1 + MAINTAINERS | 1 + 3 files changed, 31 insertions(+) create mode 100644 docs/system/arm/mps2.rst -- 2.20.1 diff --git a/docs/system/arm/mps2.rst b/docs/system/arm/mps2.rst new file mode 100644 index 00000000000..3a98cb59b0d --- /dev/null +++ b/docs/system/arm/mps2.rst @@ -0,0 +1,29 @@ +Arm MPS2 boards (``mps2-an385``, ``mps2-an505``, ``mps2-an511``, ``mps2-an521``) +================================================================================ + +These board models all use Arm M-profile CPUs. + +The Arm MPS2 and MPS2+ dev boards are FPGA based (the 2+ has a bigger +FPGA but is otherwise the same as the 2). Since the CPU itself +and most of the devices are in the FPGA, the details of the board +as seen by the guest depend significantly on the FPGA image. + +QEMU models the following FPGA images: + +``mps2-an385`` + Cortex-M3 as documented in ARM Application Note AN385 +``mps2-an511`` + Cortex-M3 'DesignStart' as documented in AN511 +``mps2-an505`` + Cortex-M33 as documented in ARM Application Note AN505 +``mps2-an521`` + Dual Cortex-M33 as documented in Application Note AN521 + +Differences between QEMU and real hardware: + +- AN385 remapping of low 16K of memory to either ZBT SSRAM1 or to + block RAM is unimplemented (QEMU always maps this to ZBT SSRAM1, as + if zbt_boot_ctrl is always zero) +- QEMU provides a LAN9118 ethernet rather than LAN9220; the only guest + visible difference is that the LAN9118 doesn't support checksum + offloading diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst index 1c759aa1a08..f2d9366e9b4 100644 --- a/docs/system/target-arm.rst +++ b/docs/system/target-arm.rst @@ -76,6 +76,7 @@ undocumented; you can get a complete list by running :maxdepth: 1 arm/integratorcp + arm/mps2 arm/realview arm/versatile arm/vexpress diff --git a/MAINTAINERS b/MAINTAINERS index 6a9280c1b03..520a7b74f28 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -701,6 +701,7 @@ F: hw/misc/armsse-cpuid.c F: include/hw/misc/armsse-cpuid.h F: hw/misc/armsse-mhu.c F: include/hw/misc/armsse-mhu.h +F: docs/system/arm/mps2.rst Musca M: Peter Maydell From patchwork Thu May 21 19:15:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187089 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1828919ilb; Thu, 21 May 2020 12:19:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyOP882DuTOpN2/1S77SaSPZwJR4YarTiBzm7v+XdoF6eqHIIG4mg7jdMCoSdlaoRO3Fnnh X-Received: by 2002:a25:cfd2:: with SMTP id f201mr19504336ybg.267.1590088798635; Thu, 21 May 2020 12:19:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088798; cv=none; d=google.com; s=arc-20160816; b=GK2W9FY/rKSryAm7Z9U18RNzaaYTkMQ0ovO6CmezDMo+TjDlMd3wj3bmWmGttMBI9D 4XR0uEStk5H5NMb9xBxh+c2MQIEHHhsDdmUmsrkPYgrRiQ8BY76Ne2z4/RJsoF0lCbOt 2vI88PRYVVEOeV/YQzrbzm9dmF5SEhH1R855aIj+Wk1otPlR/A+k2aeSDkt7IEj5peNT LAiywJV2iqEc56Ae6STr5NAxGJ299zyrDpXwwAPl0fYlnfpy4y155DJc3HouJ1uPS2mU 7pkPqIvXSofzMsZy5+JLBQ96xlaDykhJ/nmL7lkt8NJMV/5Oob4EFL/vGHz26ImeBeZ8 WIIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=RBS3/dvUvRdquBsGTxU/Sl3WvtmMy3/3XWW/lkBbmEE=; b=mMuQck5D7euFE0wGqREIRMs8HkK2iM1ESs5EclpcXTXBqGrc+OinG7pqg9I9Uzymwr GKWg7LcQhyyKtkgCOWJawtwjDVu8Q/kVcX9s7VPJlP2uEWRQ5d+Io7x3dOQem5UE9z72 9lUHQXSZYzMCeSinQ0D8uTY41w9E73B4Ed7r7c5UdaXYBZ9f8sMuXaqyqOWjRSaBiaV/ Bx2adX+irD5iRJDNVujRJWVnyQJfR+khcwTeO9F7MKG20LF/l+nGqJH+2Itxnq5JIToy pDINof5qFTHF1rraLYsqdbk+W6hJenmCiJiRDEg9W7fgprQ8Nrky2Jwpmo6WVrKfb84o Z1ww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LRBl0Fov; 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=pass (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 n189si5693059yba.241.2020.05.21.12.19.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:19:58 -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=pass header.i=@linaro.org header.s=google header.b=LRBl0Fov; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:47330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqjW-0008DI-26 for patch@linaro.org; Thu, 21 May 2020 15:19:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38010) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg3-00025e-HV for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:23 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:41492) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg2-0000PS-F0 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:23 -0400 Received: by mail-wr1-x433.google.com with SMTP id h17so7746202wrc.8 for ; Thu, 21 May 2020 12:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RBS3/dvUvRdquBsGTxU/Sl3WvtmMy3/3XWW/lkBbmEE=; b=LRBl0Fovz0NCnQsX2tjh08NqP+bjhuTdi3UsTZoNZ03pYdCqWajOKhEtDiG2QHOvD2 Emj/zaBcMz2f9/WloIrMeS/Go6dV+aEmGAHXBuvKCGbMq9GWDbp27c8Rth3QAyafevFc a27J3fXQHV8tjFvTH3IrZry7yoVu7TLLBwxfMGWmYgI34gqzi/KLeuBK7eCylYVBTOHK k4dXSUohPOe9GzNaTwbFC8IaVzPsyWAPJPme9MgqETLWCKBe68aDvHW1gZ9XEknpDVZt 4gRobf1RMQQ6FaA69xNIqibZHI20CObq7S5sNBXO3MoL9nI3jMaw3QI6R+Oa4g5UYdv/ bVgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RBS3/dvUvRdquBsGTxU/Sl3WvtmMy3/3XWW/lkBbmEE=; b=LYXLP1xqIt54CR+qUBdz+OP2TwNyKQFA0Y5AuNv5+WTPKyIxABmxqLUhRrVIeKl/zv fnMl98536r9JGPU/10VZ1WJBXy8gFAfVt8bT81QVR5UCajhpyOhXeqlz9Z7QNn3xHShF 8wic663kSQymoItbxkmXwNACWF8QFAsBlDP/LTn0L62GcwCowfHsRIzqCIRyy2piYDHf lBH7zcUPVZ1ZX98kR84UiewNXbfjHsraNaFXnATF4QGPoEV47rLYevOeDksa1erdbgzO PZt/6z0F57C7QLkP6wIpO/nQ1kP0mocgK/m2dXqVkVTc9e9hHfiwlm1j2SdYFuwEZfp2 lJ9A== X-Gm-Message-State: AOAM531DW7Bm9RW/eYLMTJ1aPmfJTLyh6wh+GroxtdQWeEY6mOXv0mYX a9CHQ7BfulZYDvg7xv5FyGPeEy4Bb0QVcw== X-Received: by 2002:adf:fccd:: with SMTP id f13mr100949wrs.386.1590088580725; Thu, 21 May 2020 12:16:20 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:20 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/29] docs/system: Document Musca boards Date: Thu, 21 May 2020 20:15:47 +0100 Message-Id: <20200521191610.10941-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Provide a minimal documentation of the Musca boards. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Reviewed-by: Alex Bennée Message-id: 20200507151819.28444-6-peter.maydell@linaro.org --- docs/system/arm/musca.rst | 31 +++++++++++++++++++++++++++++++ docs/system/target-arm.rst | 1 + MAINTAINERS | 1 + 3 files changed, 33 insertions(+) create mode 100644 docs/system/arm/musca.rst -- 2.20.1 diff --git a/docs/system/arm/musca.rst b/docs/system/arm/musca.rst new file mode 100644 index 00000000000..81e3dc92194 --- /dev/null +++ b/docs/system/arm/musca.rst @@ -0,0 +1,31 @@ +Arm Musca boards (``musca-a``, ``musca-b1``) +============================================ + +The Arm Musca development boards are a reference implementation +of a system using the SSE-200 Subsystem for Embedded. They are +dual Cortex-M33 systems. + +QEMU provides models of the A and B1 variants of this board. + +Unimplemented devices: + +- SPI +- |I2C| +- |I2S| +- PWM +- QSPI +- Timer +- SCC +- GPIO +- eFlash +- MHU +- PVT +- SDIO +- CryptoCell + +Note that (like the real hardware) the Musca-A machine is +asymmetric: CPU 0 does not have the FPU or DSP extensions, +but CPU 1 does. Also like the real hardware, the memory maps +for the A and B1 variants differ significantly, so guest +software must be built for the right variant. + diff --git a/docs/system/target-arm.rst b/docs/system/target-arm.rst index f2d9366e9b4..dce384cb0e3 100644 --- a/docs/system/target-arm.rst +++ b/docs/system/target-arm.rst @@ -77,6 +77,7 @@ undocumented; you can get a complete list by running arm/integratorcp arm/mps2 + arm/musca arm/realview arm/versatile arm/vexpress diff --git a/MAINTAINERS b/MAINTAINERS index 520a7b74f28..023f48d3eaa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -708,6 +708,7 @@ M: Peter Maydell L: qemu-arm@nongnu.org S: Maintained F: hw/arm/musca.c +F: docs/system/arm/musca.rst Musicpal M: Jan Kiszka From patchwork Thu May 21 19:15:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187088 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1828198ilb; Thu, 21 May 2020 12:19:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYDgbwWHxWuTKA4nh0mbrpHNm/vnsLOF9fEZy6rTy8bRRm5DwqTi1Nii1Gh4kHHh7mnNLP X-Received: by 2002:a25:b8b:: with SMTP id 133mr17491556ybl.288.1590088741556; Thu, 21 May 2020 12:19:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088741; cv=none; d=google.com; s=arc-20160816; b=E0DVAjs1d5uzj3UD8eEfXHdG7cgYEfGsPceOftWYoB1hmSHPLhSE4/Yyi0SzhX0a4R ccRN6QlOe9YcmW2nycT4UaQOYNxvJybIvzFpT7DFbTX77co1x015o9y/cmuuvc2AQFxf deScSQwR/LTDgD3ImnuOYdxNWcOruWDsi0humypr7l1GbcaR6hngx4x18W8dSnAcwdnU C1BOGpa1i17S+7uMIO7A5cv8tmdroWC3YGbvCMMZKzzU3I/Nea/SaAT5rNpqKlBl9lok kgToPuyOKV7Qi+Jb1kUP5IiBcJISNifRbu9RanNGjQBeGzPFfIMJtFuvW4bnjW8c8MEA C0ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=Loi0hc4iYGl2SyK0g+pxvj1MN6OhO1THWv4v9RyjhY0=; b=HMzXnOPQYNJsbotAmtwHvn0ifbsjKK/O4XPC6riB0dTB/I18LEUPDAAiX1R/gGh2JN iUjLpRdEqOJnxQOdEOgEYm7ViOkOnIGPcTa3sJXD9s1m/CI+sFkvWm51tlmc2vrRmh3g ctTc3i+StdcnZtUfyiar46bgJw08d5mRWSe0WnV5Kt4Wn3NmpVhmoPPKR4pCr5txbcbM zLILPP5J6UxXw1CGupAY74iXMCllSwS2Flb63ScTlMB3A/fNdLFynQnEm+gH+ySa4voF R9avdN7FWjcDfcqoil8nSRPql0KDoHMET/WKca4kxdq1E/kTbe4UJIuCvWUCkF3tKLhM VSSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Fc68X0k4; 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=pass (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 l84si5429892ybb.76.2020.05.21.12.19.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:19:01 -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=pass header.i=@linaro.org header.s=google header.b=Fc68X0k4; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:44108 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqib-0006v5-08 for patch@linaro.org; Thu, 21 May 2020 15:19:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38018) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg4-00028M-JH for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:24 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:36031) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg3-0000PZ-Bs for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:24 -0400 Received: by mail-wr1-x441.google.com with SMTP id k13so7795130wrx.3 for ; Thu, 21 May 2020 12:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Loi0hc4iYGl2SyK0g+pxvj1MN6OhO1THWv4v9RyjhY0=; b=Fc68X0k4EGip3LE+FEvBpbmykkOCQD5j1w2EoV9dJyUwnDrDW4YJdU+CCyTCFT13qz 1cp+deatGIrTOyXBser0iqsht4O/PxJNy5DGUfSWijzagCdk/J4S/hpaRvEU4wI/mgN9 +M8OHmJZvliDyPu8SbhO/qfObw/K9AFjbGQPSN29CrqsHlwfjZ73sNgs4aUDFMMuWMqg /pYu/GwgimiOp7CBvBv/9GdMTg4XG9+fZ2mrrFNeQ7jtYI0/faVfET25BY0tTNYkGYZb z5F9VvpiAknqTl7Mxb0iTp2TX5FflMRHWEUwD9ceiVYZIo7i5VMgvHmLWlewnazoPmEx boAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Loi0hc4iYGl2SyK0g+pxvj1MN6OhO1THWv4v9RyjhY0=; b=kmC1vas30m3Cy10yfntL8CJIYjAGrAR28TNV8KNcW46wHg3XwBbsPM+f4UIYMSD9Kz VTxT66n3TX31PbMoHab21bFIxsfmQfrqmhEkoUqoXwE8ONx2CKmS/jsa16tP+hD7sYfc 00dHIbah9p9fYuqxwbF+D8qBUjX+USEtlO/ooWSRtPkWpVnz7dkjKjAbQ6nmSR/E8OxV RNxoDWFKshRUFMdkFy4zeIec7ZhSlYg7gaP8yJgchub3EX0yB+fjGw6QNjmwtso8Iq/d en4/vgI3jnnP3egBHXhf+b8FZGdjIhbsse4AxHYYbrBBGb3UTBBVQFvf35XDhvL3JVnf Avlg== X-Gm-Message-State: AOAM532My2t2SBM5jIeCffreHntkQQLqgShK0QdcRplVYMnDovsJ1KON AFu9N6JUHxSoMXF+uArrl0TJuJH09Efi9A== X-Received: by 2002:a5d:6401:: with SMTP id z1mr115794wru.226.1590088581598; Thu, 21 May 2020 12:16:21 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/29] linux-user/arm: BKPT should cause SIGTRAP, not be a syscall Date: Thu, 21 May 2020 20:15:48 +0100 Message-Id: <20200521191610.10941-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" In linux-user/arm/cpu-loop.c we incorrectly treat EXCP_BKPT similarly to EXCP_SWI, which means that if the guest executes a BKPT insn then QEMU will perform a syscall for it (which syscall depends on what value happens to be in r7...). The correct behaviour is that the guest process should take a SIGTRAP. This code has been like this (more or less) since commit 06c949e62a098f in 2006 which added BKPT in the first place. This is probably because at the time the same code path was used to handle both Linux syscalls and semihosting calls, and (on M profile) BKPT with a suitable magic number is used for semihosting calls. But these days we've moved handling of semihosting out to an entirely different codepath, so we can fix this bug by simply removing this handling of EXCP_BKPT and instead making it deliver a SIGTRAP like EXCP_DEBUG (as we do already on aarch64). Reported-by: Reviewed-by: Edgar E. Iglesias Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Peter Maydell Message-id: 20200420212206.12776-2-peter.maydell@linaro.org Fixes: https://bugs.launchpad.net/qemu/+bug/1873898 Signed-off-by: Peter Maydell --- linux-user/arm/cpu_loop.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) -- 2.20.1 diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index cf618daa1ca..82d0dd3c312 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -295,32 +295,17 @@ void cpu_loop(CPUARMState *env) } break; case EXCP_SWI: - case EXCP_BKPT: { env->eabi = 1; /* system call */ - if (trapnr == EXCP_BKPT) { - if (env->thumb) { - /* FIXME - what to do if get_user() fails? */ - get_user_code_u16(insn, env->regs[15], env); - n = insn & 0xff; - env->regs[15] += 2; - } else { - /* FIXME - what to do if get_user() fails? */ - get_user_code_u32(insn, env->regs[15], env); - n = (insn & 0xf) | ((insn >> 4) & 0xff0); - env->regs[15] += 4; - } + if (env->thumb) { + /* FIXME - what to do if get_user() fails? */ + get_user_code_u16(insn, env->regs[15] - 2, env); + n = insn & 0xff; } else { - if (env->thumb) { - /* FIXME - what to do if get_user() fails? */ - get_user_code_u16(insn, env->regs[15] - 2, env); - n = insn & 0xff; - } else { - /* FIXME - what to do if get_user() fails? */ - get_user_code_u32(insn, env->regs[15] - 4, env); - n = insn & 0xffffff; - } + /* FIXME - what to do if get_user() fails? */ + get_user_code_u32(insn, env->regs[15] - 4, env); + n = insn & 0xffffff; } if (n == ARM_NR_cacheflush) { @@ -396,6 +381,7 @@ void cpu_loop(CPUARMState *env) } break; case EXCP_DEBUG: + case EXCP_BKPT: excp_debug: info.si_signo = TARGET_SIGTRAP; info.si_errno = 0; From patchwork Thu May 21 19:15:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187093 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1830357ilb; Thu, 21 May 2020 12:22:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw8r8X8IqFaZshFbwi9zBrJhF1kN7pmEvWfJ/Ie10o89iQ0WroHxpXh0ANVpt9X0zi8gn/X X-Received: by 2002:a25:3610:: with SMTP id d16mr17755326yba.222.1590088922539; Thu, 21 May 2020 12:22:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088922; cv=none; d=google.com; s=arc-20160816; b=nlQlH2PYLhoF+AneGvMnD+1BAtDvopv9LNiBOhSu8b3ITLjBWYQ+46RpBn0mTCygO7 WgM4Ra7tLCIWi4NNIetmMb7rNjGWs2eP0fqEi1LfCCYgC6W/xNOfdV1/Gz7oY1c0JAXs vrbSg+iIVuqX6PWeEu2ho2FTsX/nTx4M7hWLnxVy7cLl+UGqRvRRJUl9Y3ZqRD1RHQCD YSL+hxDPHddyRJE7beStZC6oJlpvha041hUbvsqAGCbr1xxsm1c+mEE7CXfB9jn6NyNw zRm7TPDynXx94vurpHGHxr/I2CPm0MzquWOUNtNbekWUR9QfRc/iOIGe7fvaA3sLsd4h llFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=+UWd65MNaXy/OQDuLVzrQNt/oF82AvY7dMV37Xy5Rco=; b=ttGFbaAeaifoOCKCAh1bFPgBL/BhR5cDUuqHMiT1d1XKtPGk4eim+LOVjVk4YmXBlY xf69bSQdhN/YWlEgBfB0XUa0ME8OALX3ihoQiJTMGd7WhmiG5iExC83npScRrgDHt/QT 8JPXrx5nM1eJG0g+sQkbJhI8tAn5SZ65IcvZTVH42IE0JQwcP4OjKB23KcQOnCgBZjvU mKTH0QXgq7Blc25b/Sr3DYPJsfQS1pJJP6ZLpJyn8Vd64iJ3DgYdG+ajrnfdaCEWK3BT OUfdWoGcrw9x+XsFNgNgAKhYmP+OXFX34S2Mmt9VGVQVwzhshGwWHDNV9h50mRN0UpD/ s+kA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mau7wHTl; 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=pass (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 b132si1812943ybg.314.2020.05.21.12.22.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:22:02 -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=pass header.i=@linaro.org header.s=google header.b=mau7wHTl; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:55854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqlV-0003Qq-Tz for patch@linaro.org; Thu, 21 May 2020 15:22:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg5-0002AO-EQ for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:25 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:55223) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg4-0000Pf-DU for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:25 -0400 Received: by mail-wm1-x344.google.com with SMTP id h4so6505528wmb.4 for ; Thu, 21 May 2020 12:16:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+UWd65MNaXy/OQDuLVzrQNt/oF82AvY7dMV37Xy5Rco=; b=mau7wHTlx20GUrMORsDr55dfX3PsdozLoDNwGmuKSpIVgMI6rSKWujLHj8V4If3/pr IXuvCDcShhjCQyTqTLaXr6uU324nwO/Sq+0z2jyop821BRi7Lf1tVYvvRzvStpagy7/T 1a8Vbxa9awEAHDHOEhiEDBcWAEHx3wmC8O24DycyTgBOzygMHhrDZubAiW+GGM0F8rJX oVlAe2vziAftYz0NeFkw5bL3yFxKuW8UHoLuRaCSzQH+ZTxTeep/s9Tv2U0kceg758Mn 72TO9kr1EaLrH4//uHE/v9TObtQBvn+onQWTU5/2sK4ubLIDwcHWy5yA1tf51cgs53TV tISg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+UWd65MNaXy/OQDuLVzrQNt/oF82AvY7dMV37Xy5Rco=; b=TwVeLWOHblrnm+o4fMrNHjzKzY3TQTvgWus+wWkhxl/AwoR9l3CuOOQigK+dA4IQCV fOspE/W/nAxk1+GFoajLxcbN12YG7zRKSDT67sip/3Dr14cpSb4WEk1JDBly0f9Z8c0g GFrWJqIYgaeDl3Pq/Ws6Gj6yRLJFprEwHTEAKbh8yhEmdBZF8CBBH1DORBle9mE2FBst sf/5V2ciBhbrejQ+bMwOE+DBWIzvIC+D+WcWy8Wr9JKgNSQKOpwIaRXY8gOVIlP05yHM aTatGlOg2dkAxfbb7Mmddz6CKPckopJYcXh9VRAe2EaXB/+JjsnXgdnXPJVNw5OznlQh ATbA== X-Gm-Message-State: AOAM531vw/1N8oZnRrwNsTMdGnzAOgxY1pgDtgJmkiOhaIANfqWMzh5P okaCXhKQbgX+V9/4N6EeX8gpdqVZGiTkmg== X-Received: by 2002:a1c:2dc7:: with SMTP id t190mr9543395wmt.129.1590088582641; Thu, 21 May 2020 12:16:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/29] linux-user/arm: Remove bogus SVC 0xf0002 handling Date: Thu, 21 May 2020 20:15:49 +0100 Message-Id: <20200521191610.10941-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We incorrectly treat SVC 0xf0002 as a cacheflush request (which is a NOP for QEMU). This is the wrong syscall number, because in the svc-immediate OABI syscall numbers are all offset by the ARM_SYSCALL_BASE value and so the correct insn is SVC 0x9f0002. (This is handled further down in the code with the other Arm-specific syscalls like NR_breakpoint.) When this code was initially added in commit 6f1f31c069b20611 in 2004, ARM_NR_cacheflush was defined as (ARM_SYSCALL_BASE + 0xf0000 + 2) so the value in the comparison took account of the extra 0x900000 offset. In commit fbb4a2e371f2fa7 in 2008, the ARM_SYSCALL_BASE was removed from the definition of ARM_NR_cacheflush and handling for this group of syscalls was added below the point where we subtract ARM_SYSCALL_BASE from the SVC immediate value. However that commit forgot to remove the now-obsolete earlier handling code. Remove the spurious ARM_NR_cacheflush condition. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Message-id: 20200420212206.12776-3-peter.maydell@linaro.org --- linux-user/arm/cpu_loop.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 2.20.1 diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 82d0dd3c312..025887d6b86 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -308,9 +308,7 @@ void cpu_loop(CPUARMState *env) n = insn & 0xffffff; } - if (n == ARM_NR_cacheflush) { - /* nop */ - } else if (n == 0 || n >= ARM_SYSCALL_BASE || env->thumb) { + if (n == 0 || n >= ARM_SYSCALL_BASE || env->thumb) { /* linux syscall */ if (env->thumb || n == 0) { n = env->regs[7]; From patchwork Thu May 21 19:15:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187094 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1830586ilb; Thu, 21 May 2020 12:22:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzpsd/ubks8fugqWW7jWIrqKHaO1HaAcXyOgA0QvVIBA2q3rcUZojvQ86BM7MNqxmkcRX20 X-Received: by 2002:a37:77c4:: with SMTP id s187mr12008172qkc.174.1590088943413; Thu, 21 May 2020 12:22:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088943; cv=none; d=google.com; s=arc-20160816; b=bjjGSvtMhKu9d+Hlt1cTXl2DmmVl1YScte+R0gIMQhpC2mIlMgOdsqcAi7fG6Erotp y3UnyBctQH+Fsn18jT44TcPnKsK9UYqnHduE2tOui1OM7wqCC17PD5XtR+dU4D6+b3ZG x6OvKiMiT3SkxSorNgVe/zpuZixDS81dOsjz/Xz0VFxspvYj3w1EysPcRY5KDtDpIQeB fXe2T6C2Mk8jgccZn5xcgUqOBuhoBj7XQAUzgrfcvas1mESUCIgoCr+JSHE572iLT3gk Q9hXXjKYxtDeudZvURA/tTUMCZVxz42eqk7lTLW0CEiJt7ujFfyii92ab+sU9Ee4dJpr zv+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=SO0tJgJgn/EVNKJE79ekFtYmNOY8AvESSw03LMos9hM=; b=gSd3cX/jDXgwJVCxsGehxaBhX5YUMQMrrI/0GXkhHKtn9+2+wL2LT7TDuUbc3vxiCw enx7ZDZldJPVb/07IL0VukoZKnLljbCwrxNLd4CeAppSZWT2wHZ0MM+hv/zsJqk4tmSr HAgVj1NDPHqY9tDLVn0jGtTVz+km1ji6+YjC9d1dNTedQbz0JXpWz2mIC6jcSYdTstgW ih6BlpwRMErzBrXlceRyunnQnNG3Z6YMKQT6RnQb6FgZ6UIMU41DZnGe251MhSZ4/Ma9 KSqiT1zQj367K/K2OGlbbBaxw2wX+hcR9MskBcaPNAgmWfnYjGXIgv9k1tR1edSI/7Oi velQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fzpyOZJL; 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=pass (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 f185si3926614qke.306.2020.05.21.12.22.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:22:23 -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=pass header.i=@linaro.org header.s=google header.b=fzpyOZJL; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqlq-0005xQ-SM for patch@linaro.org; Thu, 21 May 2020 15:22:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38030) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg6-0002Cq-HF for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:26 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:35272) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg5-0000Qt-DC for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:26 -0400 Received: by mail-wr1-x444.google.com with SMTP id x14so2390848wrp.2 for ; Thu, 21 May 2020 12:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SO0tJgJgn/EVNKJE79ekFtYmNOY8AvESSw03LMos9hM=; b=fzpyOZJLlKmK5Yy561WQO4BU1pOaw0uW4dwrKR88etF5OV4L+0or4c7Y9C/1reZIcQ m8E42WjQ+wtcsVEi5SVPNa0eQMrkVacIGPSWZWGoLrMYss5DxLAmWDUxry0yOdxzhUKJ sAxddE7qPzUTTUINDeccQvk8lxD13mnyxeUeguQkx919rWd5Hljz3g8MAd9TWicmR+a9 6dlXbEMRY52nqPWnlw3FOD/P6KQIDjHQhJGYyJdAntFLZEl5A50X8jeNJ8uJTrAyj3ig BQYFUg86XLeRQnOt++t/w3Is3R2wyFuTnE0MeR8esOJWQ5wMXGsE6rFJmG4wPhBJc02e mm0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SO0tJgJgn/EVNKJE79ekFtYmNOY8AvESSw03LMos9hM=; b=f2Ai+9rq/N1Smto+Hi3FQ2r2m/o99nT+xM28mW1QIu2KizobdZ4S57vX0DDjHtGS70 xtrygQpP0xWaWnS6LM6uvL30UUmVAp3zIyRIWlYhj7sTKERpnwRztpLYsnpJLTEHv0gJ eOc8eDL7bJ1eXMmIE3qxJ4mwQMIN27mCwC9QRE7gChO4gT0i9YyuamIOuHUIbESjlOa3 +gmWS4z9aZEH1uI0xeF8dA/StfOnD+9vg07CSE+gtpH5y5YEXL0cE43OVxNarj4eNL94 c2ulaMyrhFmAT+vPSKJZPs1DOY+Y2uobtcn0x+HjDX5zSa45PxP/dUyU8L7mTL/bzoqz mJAg== X-Gm-Message-State: AOAM532QC8wo9l5eoh16pKp+sTIlQkqiDpT1C3E5nwEA7O/99d4G6eIb q5Uca3iDzQsRQq0frvR1O2oanoOBcUh0dQ== X-Received: by 2002:adf:f007:: with SMTP id j7mr101079wro.294.1590088583667; Thu, 21 May 2020 12:16:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/29] linux-user/arm: Handle invalid arm-specific syscalls correctly Date: Thu, 21 May 2020 20:15:50 +0100 Message-Id: <20200521191610.10941-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The kernel has different handling for syscalls with invalid numbers that are in the "arm-specific" range 0x9f0000 and up: * 0x9f0000..0x9f07ff return -ENOSYS if not implemented * other out of range syscalls cause a SIGILL (see the kernel's arch/arm/kernel/traps.c:arm_syscall()) Implement this distinction. (Note that our code doesn't look quite like the kernel's, because we have removed the 0x900000 prefix by this point, whereas the kernel retains it in arm_syscall().) Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Message-id: 20200420212206.12776-4-peter.maydell@linaro.org --- linux-user/arm/cpu_loop.c | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) -- 2.20.1 diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 025887d6b86..df8b7b3fa96 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -332,10 +332,32 @@ void cpu_loop(CPUARMState *env) env->regs[0] = cpu_get_tls(env); break; default: - qemu_log_mask(LOG_UNIMP, - "qemu: Unsupported ARM syscall: 0x%x\n", - n); - env->regs[0] = -TARGET_ENOSYS; + if (n < 0xf0800) { + /* + * Syscalls 0xf0000..0xf07ff (or 0x9f0000.. + * 0x9f07ff in OABI numbering) are defined + * to return -ENOSYS rather than raising + * SIGILL. Note that we have already + * removed the 0x900000 prefix. + */ + qemu_log_mask(LOG_UNIMP, + "qemu: Unsupported ARM syscall: 0x%x\n", + n); + env->regs[0] = -TARGET_ENOSYS; + } else { + /* Otherwise SIGILL */ + info.si_signo = TARGET_SIGILL; + info.si_errno = 0; + info.si_code = TARGET_ILL_ILLTRP; + info._sifields._sigfault._addr = env->regs[15]; + if (env->thumb) { + info._sifields._sigfault._addr -= 2; + } else { + info._sifields._sigfault._addr -= 4; + } + queue_signal(env, info.si_signo, + QEMU_SI_FAULT, &info); + } break; } } else { From patchwork Thu May 21 19:15:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187087 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1828165ilb; Thu, 21 May 2020 12:18:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyKwBvSiq+B/ZTX53ejeRwOxrxhqJntltEgoxNjqTzQYU2WuyLVHbIKfrQjUw52650bxJ5O X-Received: by 2002:a05:6902:50c:: with SMTP id x12mr16149488ybs.145.1590088738360; Thu, 21 May 2020 12:18:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088738; cv=none; d=google.com; s=arc-20160816; b=Ka5HH0n1eLPTL4f8ZYdq7OG0oSdGjbz+ejtEMafBGFcGxYBNLZCHMSq+DyEBAVpnZT LsI4DUDc/LmKaaCn+8OnjKGajrG77glc85awZ5NZ63Y8nfH0FVKGddxcRrOSxsNJsqmN WPJcLjPn9b9Kuv6+mqrfsW+x1PWjijnRcotkrJVhERW8eu6NjjZxpLhtQ1TyDMGrjOsq gNKhV9bxCvC/Kv5xXswEJYmXdNstgElneBjpXuDAwCNamz0VS4kGE7swZfWBke5eD+fO V8/ZWszevGWBiHg3PxAZpjSVsweY5stE75ha0c6utwkn+zq3Oemfv+1hfwwBm8Vgy2R9 5Q4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=jqyrlre26HzY4/EOKXLxmJgMpYAcEqSqJmnuoHIuFXE=; b=qESoOJPuvqsm4OHip8lQOwNMWMXvp6ypeB5aBDhghmyYUy3O2zoFZRvIgZuCm4p6/g KzBUXnMrY1SZUSQTlHijEnOKzJ96SqfmMSo5VJQ2K3DTeaVCWSEDK4Svhx6iTas3+ECc ZIIZdPiIxm0aszBwM1JwrFWcG3/wk3yj48FfKsasjGb/4ILCNHdDnUHPZZ6YOl4reWce SIu3TPpmNDR54V/0BjtDm5ZqeVstiAQPec6jKjee0dXtt5+9FA1ik7fM0W/qYxawc2D0 z0qnyeaW/cQ+5QPciIKBnf/GFdGT4X0OOD1pQ5GhV67yFyxwQGwK3Tf47fdfzSFKTKmV yZ5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=fnvEJEVb; 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=pass (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 n195si5847251ybg.455.2020.05.21.12.18.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:18:58 -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=pass header.i=@linaro.org header.s=google header.b=fnvEJEVb; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:43834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqiX-0006oS-Pw for patch@linaro.org; Thu, 21 May 2020 15:18:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg7-0002Gq-VJ for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:27 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:38704) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg6-0000R3-O2 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:27 -0400 Received: by mail-wm1-x331.google.com with SMTP id u12so2757713wmd.3 for ; Thu, 21 May 2020 12:16:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=jqyrlre26HzY4/EOKXLxmJgMpYAcEqSqJmnuoHIuFXE=; b=fnvEJEVbAtzKgzwdrXY3QzBVm37op7KWIJS9YimDHalAugt4KsOmYCGWJSEsDFrivw Sa055egmD1BffURhC7r+XPkP504MlCsMSL+f7i41ozZ80Q+e8Fh8+lnPuJLtq/sFBkW5 sUBAwK1XeA++pUXSGw063Zofc7mbCm5L2IuhhGvR63dXvE4D9a5e4YNm6hsLm9Qok8Py TTCJPm8Z6pPiv+jSwJqAH9tx2paGDk/YE8kNg/9cvzjfPGzZs5vuA6kSIYxSyhwPL/VV feAfLBrAlALwvdxbt0s81mifO3HkZCHAg2kSgMbnkFqmWkKRDvh7+oiry4xjE0C5jkf/ QZCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jqyrlre26HzY4/EOKXLxmJgMpYAcEqSqJmnuoHIuFXE=; b=EZUv58eSTu8AQ2mvgcWhEq8jR4thLIbHs9RxS9FMhrJI0wDV+uub/4SrC+OPMHq7/E ivNLuzL0lC70odl2Y/2LXfZRUNsz706ltN3gaz4i49P2tWiCVlzV7OGPJ1XIpR65W89a l+YIPju3Gm8IU3Re2cQs5JtYcALO75Dp+/g16L/kmGBewtinL26BciSTw4C86QofMcN/ MXjo0Db65a3ILk/v+0nUrSmtcm0fo+0lHmyqpOx8myVOaaIDt/oTqTQVQGL5dvBGo6e6 8XK8M+1+0327Q3TBH8v3MFYKB9Ibu8ijhgOErJot0TXIhWgQLO70qcI+sGpjH+hvnRvw tpKQ== X-Gm-Message-State: AOAM532Ks3IPO5MVzJ/qGnZFMxg9c2OtVvIZxuCVb8831M7VehC80BCS ipOFZ3ntj0z60VEEhDJ9pWC9RnsQr+zlFg== X-Received: by 2002:a1c:6182:: with SMTP id v124mr10112288wmb.30.1590088584813; Thu, 21 May 2020 12:16:24 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:24 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/29] linux-user/arm: Fix identification of syscall numbers Date: Thu, 21 May 2020 20:15:51 +0100 Message-Id: <20200521191610.10941-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Our code to identify syscall numbers has some issues: * for Thumb mode, we never need the immediate value from the insn, but we always read it anyway * bad immediate values in the svc insn should cause a SIGILL, but we were abort()ing instead (via "goto error") We can fix both these things by refactoring the code that identifies the syscall number to more closely follow the kernel COMPAT_OABI code: * for Thumb it is always r7 * for Arm, if the immediate value is 0, then this is an EABI call with the syscall number in r7 * otherwise, we XOR the immediate value with 0x900000 (ARM_SYSCALL_BASE for QEMU; __NR_OABI_SYSCALL_BASE in the kernel), which converts valid syscall immediates into the desired value, and puts all invalid immediates in the range 0x100000 or above * then we can just let the existing "value too large, deliver SIGILL" case handle invalid numbers, and drop the 'goto error' Signed-off-by: Peter Maydell Reviewed-by: Edgar E. Iglesias Message-id: 20200420212206.12776-5-peter.maydell@linaro.org --- linux-user/arm/cpu_loop.c | 143 ++++++++++++++++++++------------------ 1 file changed, 77 insertions(+), 66 deletions(-) -- 2.20.1 diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index df8b7b3fa96..13629ee1f6a 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -299,85 +299,96 @@ void cpu_loop(CPUARMState *env) env->eabi = 1; /* system call */ if (env->thumb) { - /* FIXME - what to do if get_user() fails? */ - get_user_code_u16(insn, env->regs[15] - 2, env); - n = insn & 0xff; + /* Thumb is always EABI style with syscall number in r7 */ + n = env->regs[7]; } else { + /* + * Equivalent of kernel CONFIG_OABI_COMPAT: read the + * Arm SVC insn to extract the immediate, which is the + * syscall number in OABI. + */ /* FIXME - what to do if get_user() fails? */ get_user_code_u32(insn, env->regs[15] - 4, env); n = insn & 0xffffff; - } - - if (n == 0 || n >= ARM_SYSCALL_BASE || env->thumb) { - /* linux syscall */ - if (env->thumb || n == 0) { + if (n == 0) { + /* zero immediate: EABI, syscall number in r7 */ n = env->regs[7]; } else { - n -= ARM_SYSCALL_BASE; + /* + * This XOR matches the kernel code: an immediate + * in the valid range (0x900000 .. 0x9fffff) is + * converted into the correct EABI-style syscall + * number; invalid immediates end up as values + * > 0xfffff and are handled below as out-of-range. + */ + n ^= ARM_SYSCALL_BASE; env->eabi = 0; } - if ( n > ARM_NR_BASE) { - switch (n) { - case ARM_NR_cacheflush: - /* nop */ - break; - case ARM_NR_set_tls: - cpu_set_tls(env, env->regs[0]); - env->regs[0] = 0; - break; - case ARM_NR_breakpoint: - env->regs[15] -= env->thumb ? 2 : 4; - goto excp_debug; - case ARM_NR_get_tls: - env->regs[0] = cpu_get_tls(env); - break; - default: - if (n < 0xf0800) { - /* - * Syscalls 0xf0000..0xf07ff (or 0x9f0000.. - * 0x9f07ff in OABI numbering) are defined - * to return -ENOSYS rather than raising - * SIGILL. Note that we have already - * removed the 0x900000 prefix. - */ - qemu_log_mask(LOG_UNIMP, - "qemu: Unsupported ARM syscall: 0x%x\n", - n); - env->regs[0] = -TARGET_ENOSYS; + } + + if (n > ARM_NR_BASE) { + switch (n) { + case ARM_NR_cacheflush: + /* nop */ + break; + case ARM_NR_set_tls: + cpu_set_tls(env, env->regs[0]); + env->regs[0] = 0; + break; + case ARM_NR_breakpoint: + env->regs[15] -= env->thumb ? 2 : 4; + goto excp_debug; + case ARM_NR_get_tls: + env->regs[0] = cpu_get_tls(env); + break; + default: + if (n < 0xf0800) { + /* + * Syscalls 0xf0000..0xf07ff (or 0x9f0000.. + * 0x9f07ff in OABI numbering) are defined + * to return -ENOSYS rather than raising + * SIGILL. Note that we have already + * removed the 0x900000 prefix. + */ + qemu_log_mask(LOG_UNIMP, + "qemu: Unsupported ARM syscall: 0x%x\n", + n); + env->regs[0] = -TARGET_ENOSYS; + } else { + /* + * Otherwise SIGILL. This includes any SWI with + * immediate not originally 0x9fxxxx, because + * of the earlier XOR. + */ + info.si_signo = TARGET_SIGILL; + info.si_errno = 0; + info.si_code = TARGET_ILL_ILLTRP; + info._sifields._sigfault._addr = env->regs[15]; + if (env->thumb) { + info._sifields._sigfault._addr -= 2; } else { - /* Otherwise SIGILL */ - info.si_signo = TARGET_SIGILL; - info.si_errno = 0; - info.si_code = TARGET_ILL_ILLTRP; - info._sifields._sigfault._addr = env->regs[15]; - if (env->thumb) { - info._sifields._sigfault._addr -= 2; - } else { - info._sifields._sigfault._addr -= 4; - } - queue_signal(env, info.si_signo, - QEMU_SI_FAULT, &info); + info._sifields._sigfault._addr -= 4; } - break; - } - } else { - ret = do_syscall(env, - n, - env->regs[0], - env->regs[1], - env->regs[2], - env->regs[3], - env->regs[4], - env->regs[5], - 0, 0); - if (ret == -TARGET_ERESTARTSYS) { - env->regs[15] -= env->thumb ? 2 : 4; - } else if (ret != -TARGET_QEMU_ESIGRETURN) { - env->regs[0] = ret; + queue_signal(env, info.si_signo, + QEMU_SI_FAULT, &info); } + break; } } else { - goto error; + ret = do_syscall(env, + n, + env->regs[0], + env->regs[1], + env->regs[2], + env->regs[3], + env->regs[4], + env->regs[5], + 0, 0); + if (ret == -TARGET_ERESTARTSYS) { + env->regs[15] -= env->thumb ? 2 : 4; + } else if (ret != -TARGET_QEMU_ESIGRETURN) { + env->regs[0] = ret; + } } } break; From patchwork Thu May 21 19:15:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187090 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1829334ilb; Thu, 21 May 2020 12:20:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwkPuEtB/1cCzeY3WxvxQCXrcuNO76XREETE6z1dMVLFp7FE/0bLOX305cwV+yWkuva8dD9 X-Received: by 2002:a25:a184:: with SMTP id a4mr17118762ybi.255.1590088833294; Thu, 21 May 2020 12:20:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088833; cv=none; d=google.com; s=arc-20160816; b=X5NdqNAHNP9XyXdiIJjc25bbNY/8e6WGFoip2+lbQfv2HAOIz64a1MDKNHMpLZABr3 MjrFRJzddemxlydNAHEFZrgaCj3CTIIWCd3JsiQMOxFaH4PpK/FaOrF2nMz6sbrRbFcl 6DQmyywJahFmRU8ivYX5A/gyFdfGRglndeaNDuz0rLywudYQURVNaw5WlqWKUlI4VEka AmIMh5X+pdJB1DuQoKG057xC7pxm37TkH1ZZhwXAxYJHfrv/MQ98k3vFxr7oUJd6lZzH H09iR+RXJbGkcn+JHGCPCLa2+iRDEvmzMQ9DyWOl/WpRMRZe0bXYCti2ZOJ8lGy5fGEu 07qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=dFEQXmjjsTDYYVSak8Tb1Vcj0+3VcW2hSollOB67zz4=; b=BfeiJaUNSw2Ki0ZeJbrMHOzH390+3DBfSTfzD73CG3uc8bPOkYpjIZv8izctekWWnw NPe5Lm1Gh45R9+pBUlM/A0yVtTXyZdstG6ZogXz4+CzNk8l52Thhza0xQbZPoYtY0Ew8 0zcQIPoYHf/0wT/qwxDKPcF5Xow+xVpMB/2CbPVWMD/GSQVhR1jm2JUkoBa8jbKyAYEh DhR/T3yD4My6+xI1S6ZzEIuyLjta8EVMl3zTl2mtm9iOAwl+Py1BkEJmD68jOqs90/MZ gfdxfLEuPyHkAHJsIjUZPwE9N/3jvrxWJFv/rmLx5a5hPxP9OUF4y22ovbO6sA2vAo5I 6GbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=htMRgp5k; 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=pass (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 e4si6022853ybf.440.2020.05.21.12.20.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:20: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=pass header.i=@linaro.org header.s=google header.b=htMRgp5k; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52606 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqk4-0001yP-Ns for patch@linaro.org; Thu, 21 May 2020 15:20:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38042) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqg8-0002Iz-Ru for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:28 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:34250) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg7-0000RD-Ti for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:28 -0400 Received: by mail-wm1-x341.google.com with SMTP id g14so2850245wme.1 for ; Thu, 21 May 2020 12:16:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dFEQXmjjsTDYYVSak8Tb1Vcj0+3VcW2hSollOB67zz4=; b=htMRgp5kApo/ZQnPb29RD+Tgk/QPKgoMxNImuX76++tnvxPWQFW6FMlJpjzqMXkACH yaXfzvthFsqLqUP//LPfEw0i3hgl+7TaieYILDQ6h0ec34jhya/pPwi6FQPxmES6ZPGl ukfwYKZA7ESgAR5HXVjDLrvwXQyfd5OiWrc37ltvGpvEZ/5+uLnYrLEmB/+jTq1YwKQ7 8k4li8GJ70IqKJlMhtWfquK7XXJQMztLrahRIgEhPqikCyTISLueanRLbvdimgHjqH8L +Jyn54xszWr6L+qDs592QULr8xGLsXUK1XO023UC9AWxbF0sCGnjgagqEEjTBdxFY3kv uazg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dFEQXmjjsTDYYVSak8Tb1Vcj0+3VcW2hSollOB67zz4=; b=lQ2xV9GmnL9zCnY4b5GQMcWQpIh7vhVoY+rv9/E/lKvAAdcBz4VUcorC39HqPo+mZJ 13b5UvyxyNwoMdkCLi5XHiSxNjjEKXbHV8XsVvlWqqgkX9QZJfjqjLEwDxCi4B0XzjEj ncATLLrvYazN32FBJItVnuQnPgyTP9NxrcgcXZG9r60pz3rYXgorV98RnoswQLnqIYfi +AHU5lYCrNcGIp9DqWzqojcc6LbD/wMIV05BDwj/bkUiFD5ruXzr4L0UY75M5R2Dlinn hHQtoLZmOrYVas2Lt1o1iL9bgFYky9G0MoGVCkafWmUgYl9zvKOaxgHWMnu+ljbw/ME3 yy0w== X-Gm-Message-State: AOAM5303rCosd7ZTaGvLyRo7/dM5bOCwo3mecf3n4H+usM4UPps9DKtB MoeUF7uUOfFF0Gqw9Z34D+xhqHLHTKuHRw== X-Received: by 2002:a05:600c:2109:: with SMTP id u9mr9785168wml.75.1590088586237; Thu, 21 May 2020 12:16:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:25 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/29] target/arm: Remove unused GEN_NEON_INTEGER_OP macro Date: Thu, 21 May 2020 20:15:52 +0100 Message-Id: <20200521191610.10941-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::341; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x341.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The GEN_NEON_INTEGER_OP macro is no longer used; remove it. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- target/arm/translate.c | 23 ----------------------- 1 file changed, 23 deletions(-) -- 2.20.1 diff --git a/target/arm/translate.c b/target/arm/translate.c index 4c9bb8b5ac0..c8296116d4b 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -3034,29 +3034,6 @@ static inline void gen_neon_rsb(int size, TCGv_i32 t0, TCGv_i32 t1) default: return 1; \ }} while (0) -#define GEN_NEON_INTEGER_OP(name) do { \ - switch ((size << 1) | u) { \ - case 0: \ - gen_helper_neon_##name##_s8(tmp, tmp, tmp2); \ - break; \ - case 1: \ - gen_helper_neon_##name##_u8(tmp, tmp, tmp2); \ - break; \ - case 2: \ - gen_helper_neon_##name##_s16(tmp, tmp, tmp2); \ - break; \ - case 3: \ - gen_helper_neon_##name##_u16(tmp, tmp, tmp2); \ - break; \ - case 4: \ - gen_helper_neon_##name##_s32(tmp, tmp, tmp2); \ - break; \ - case 5: \ - gen_helper_neon_##name##_u32(tmp, tmp, tmp2); \ - break; \ - default: return 1; \ - }} while (0) - static TCGv_i32 neon_load_scratch(int scratch) { TCGv_i32 tmp = tcg_temp_new_i32(); From patchwork Thu May 21 19:15:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187097 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1831506ilb; Thu, 21 May 2020 12:23:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhcpaZ653fez2MKaXfO9M4egOEaiYOITmD35ee8MzfXgelM2d/BNn5YpXFc4D3dKuySnkF X-Received: by 2002:a0c:aa85:: with SMTP id f5mr260885qvb.51.1590089022618; Thu, 21 May 2020 12:23:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089022; cv=none; d=google.com; s=arc-20160816; b=VZdJzQmkIDRS6ESnYphdaDfg2tfk9iFdyuD9enNW0aLvho+Kcq2lSD/hQVmJYJxklo lNkBEnGDs9BAS5Lc57eHIMfTy5Lws2CREyz/KPQdRdf3kiUkymnOt0dVEp1VzLwu4IOR IKnWzRkVB7QpXTO9F0hCvqYH8DQuyDGS/KNWZCaLSWX5lCzYB4oR6ltvKFYF/cB5vUtU gbWKbPYX5Cne9w/YblWfwoL6fYz6rSiH8/A1k5OM6wvCa4Mbm9sxC41tSCfMkVauKrcG J6OEVShftkFhob36g7U7WEgKIx2TkYFFZvyexnvEc1nhSeZbHXaNbIuCp9sSBtncOHx4 n6MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=DvN+yAsNtscyCciNcKwAxqrn3APcppH5Qh8vMf7lyFw=; b=ImKgYoGY7wOm4SeptiqcZ1w4o7Yw97ycHEbiDjRYMDFoWkePuWT/XWaQ9btVpsALq0 jsZhIeJ8HA+oKSZVgyiWKINn1J0rJLdSJkom2BVmfY2VHj2ii66awfaZ+SWUChMA9sWZ Ugp0ywi56/6CNFJFuMnvgwvJxrKF2Hf2dPzRyNxTQ0ODh5KolxuUI93OfPnu4FBb+oNI d9ap3bwfUZ4Pl+qdepxZqBhB2S9KT7zO/K8qtY2CSMTU/k13jH1PlTzniRhCnsFqysR3 YEXmpwFM1Dd45+S0/9T6NwZFLYirIPfLyEFfgPG+VlRmV/cjK7BZ2Z8wlWLA6nkzVDbh XMHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="IZ7vj/w1"; 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=pass (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 j63si3815150qte.146.2020.05.21.12.23.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:23:42 -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=pass header.i=@linaro.org header.s=google header.b="IZ7vj/w1"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:36198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqn8-0007Xk-1X for patch@linaro.org; Thu, 21 May 2020 15:23:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgA-0002Mt-Fn for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:30 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:37538) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqg9-0000RK-1u for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:30 -0400 Received: by mail-wm1-x341.google.com with SMTP id z72so7561857wmc.2 for ; Thu, 21 May 2020 12:16:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=DvN+yAsNtscyCciNcKwAxqrn3APcppH5Qh8vMf7lyFw=; b=IZ7vj/w1UL3YoaIRIbPUB4mFylEAAKI6W14C4BA49qkDqsRBsbJQxmRxGUI+ZVON1u g+OqSoFXIrGIl+yXWDT1U/YqUIvd1zslAYCpR2i+PgmkcaezKYHrP7JuJ49bJkoIv/4E nFwwdcq5HoSuewhffWdjKoY2jx8P08E66erTszjzJu3aD5bKcpGmXoaErFXzCTUNcNIC 52Rj1Kx797FKV5ZhZdVLYNd4KNRWTTR6rJfV3UlZNyWTxHUvYB0w/RF5Dbko1tfCeg8V QkWb4JozP3Mk20V8FJQgAJQ/hMu5G8x0vd0EVavXV/v+bPPJQH3KeDLwP3lpEGmkjb2l ZlOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DvN+yAsNtscyCciNcKwAxqrn3APcppH5Qh8vMf7lyFw=; b=gjzgk1uA5uTKUtwHefkfkJEcI1ZhssQiXnRBVHhFKf3ciQh+v1tP9ZpA4t5Ggwsn82 hC/LI18NiqMkjiwVlmdaUZqQ/yp5u0JoIgpjn+AB9txvs/5AnDR4Ihs4GKq8RkgzFLdh cLDPHeRS7H4OE0k7WS7Z5L2pKgY5AfruQJltdkZUg6nREFaOmDJ9mrmQ0VsK6XY+PTmJ Fo+TBS5z1xzCpXl20E16JCR5ILqaHkMlM2qgYkHZCwR+mEocmfUXj30322q6PFmSHsDk UiD9hsmbp4hEpl7Vn0E8OS4xnUGRl44hJmtYi3w3T/NQX6qPuuLZzqHa/kTJav0Y6+t0 1CGQ== X-Gm-Message-State: AOAM533Zpqn5kl2XdjhclnAYE/aL2L3TB+/Ld2O54XFGmKRpnb7u21e4 wudASF9+ZrOD/vI8gSpiZsAX5iBdJL/dJg== X-Received: by 2002:a1c:6506:: with SMTP id z6mr10589311wmb.104.1590088587304; Thu, 21 May 2020 12:16:27 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:26 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/29] hw: Move i.MX watchdog driver to hw/watchdog Date: Thu, 21 May 2020 20:15:53 +0100 Message-Id: <20200521191610.10941-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::341; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x341.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck In preparation for a full implementation, move i.MX watchdog driver from hw/misc to hw/watchdog. While at it, add the watchdog files to MAINTAINERS. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-2-linux@roeck-us.net Signed-off-by: Peter Maydell --- include/hw/arm/fsl-imx6.h | 2 +- include/hw/arm/fsl-imx6ul.h | 2 +- include/hw/arm/fsl-imx7.h | 2 +- include/hw/{misc/imx2_wdt.h => watchdog/wdt_imx2.h} | 0 hw/{misc/imx2_wdt.c => watchdog/wdt_imx2.c} | 2 +- MAINTAINERS | 2 ++ hw/arm/Kconfig | 3 +++ hw/misc/Makefile.objs | 1 - hw/watchdog/Kconfig | 3 +++ hw/watchdog/Makefile.objs | 1 + 10 files changed, 13 insertions(+), 5 deletions(-) rename include/hw/{misc/imx2_wdt.h => watchdog/wdt_imx2.h} (100%) rename hw/{misc/imx2_wdt.c => watchdog/wdt_imx2.c} (98%) -- 2.20.1 diff --git a/include/hw/arm/fsl-imx6.h b/include/hw/arm/fsl-imx6.h index 973bcb72f7f..1ebd7513246 100644 --- a/include/hw/arm/fsl-imx6.h +++ b/include/hw/arm/fsl-imx6.h @@ -21,7 +21,7 @@ #include "hw/cpu/a9mpcore.h" #include "hw/misc/imx6_ccm.h" #include "hw/misc/imx6_src.h" -#include "hw/misc/imx2_wdt.h" +#include "hw/watchdog/wdt_imx2.h" #include "hw/char/imx_serial.h" #include "hw/timer/imx_gpt.h" #include "hw/timer/imx_epit.h" diff --git a/include/hw/arm/fsl-imx6ul.h b/include/hw/arm/fsl-imx6ul.h index 1a0bab8daaf..37c89cc5f92 100644 --- a/include/hw/arm/fsl-imx6ul.h +++ b/include/hw/arm/fsl-imx6ul.h @@ -24,7 +24,7 @@ #include "hw/misc/imx7_snvs.h" #include "hw/misc/imx7_gpr.h" #include "hw/intc/imx_gpcv2.h" -#include "hw/misc/imx2_wdt.h" +#include "hw/watchdog/wdt_imx2.h" #include "hw/gpio/imx_gpio.h" #include "hw/char/imx_serial.h" #include "hw/timer/imx_gpt.h" diff --git a/include/hw/arm/fsl-imx7.h b/include/hw/arm/fsl-imx7.h index 706aef2e7e0..3a0041c4c26 100644 --- a/include/hw/arm/fsl-imx7.h +++ b/include/hw/arm/fsl-imx7.h @@ -26,7 +26,7 @@ #include "hw/misc/imx7_snvs.h" #include "hw/misc/imx7_gpr.h" #include "hw/misc/imx6_src.h" -#include "hw/misc/imx2_wdt.h" +#include "hw/watchdog/wdt_imx2.h" #include "hw/gpio/imx_gpio.h" #include "hw/char/imx_serial.h" #include "hw/timer/imx_gpt.h" diff --git a/include/hw/misc/imx2_wdt.h b/include/hw/watchdog/wdt_imx2.h similarity index 100% rename from include/hw/misc/imx2_wdt.h rename to include/hw/watchdog/wdt_imx2.h diff --git a/hw/misc/imx2_wdt.c b/hw/watchdog/wdt_imx2.c similarity index 98% rename from hw/misc/imx2_wdt.c rename to hw/watchdog/wdt_imx2.c index 2aedfe803a4..ad1ef02e9e7 100644 --- a/hw/misc/imx2_wdt.c +++ b/hw/watchdog/wdt_imx2.c @@ -14,7 +14,7 @@ #include "qemu/module.h" #include "sysemu/watchdog.h" -#include "hw/misc/imx2_wdt.h" +#include "hw/watchdog/wdt_imx2.h" #define IMX2_WDT_WCR_WDA BIT(5) /* -> External Reset WDOG_B */ #define IMX2_WDT_WCR_SRS BIT(4) /* -> Software Reset Signal */ diff --git a/MAINTAINERS b/MAINTAINERS index 023f48d3eaa..3690f313c3b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -633,8 +633,10 @@ S: Odd Fixes F: hw/arm/fsl-imx25.c F: hw/arm/imx25_pdk.c F: hw/misc/imx25_ccm.c +F: hw/watchdog/wdt_imx2.c F: include/hw/arm/fsl-imx25.h F: include/hw/misc/imx25_ccm.h +F: include/hw/watchdog/wdt_imx2.h i.MX31 (kzm) M: Peter Chubb diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 53641725371..3d05dc8538c 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -375,6 +375,7 @@ config FSL_IMX6 select IMX_FEC select IMX_I2C select IMX_USBPHY + select WDT_IMX2 select SDHCI config ASPEED_SOC @@ -412,6 +413,7 @@ config FSL_IMX7 select IMX select IMX_FEC select IMX_I2C + select WDT_IMX2 select PCI_EXPRESS_DESIGNWARE select SDHCI select UNIMP @@ -425,6 +427,7 @@ config FSL_IMX6UL select IMX select IMX_FEC select IMX_I2C + select WDT_IMX2 select SDHCI select UNIMP diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs index 68aae2eabbc..b25181b7113 100644 --- a/hw/misc/Makefile.objs +++ b/hw/misc/Makefile.objs @@ -44,7 +44,6 @@ common-obj-$(CONFIG_IMX) += imx6_ccm.o common-obj-$(CONFIG_IMX) += imx6ul_ccm.o obj-$(CONFIG_IMX) += imx6_src.o common-obj-$(CONFIG_IMX) += imx7_ccm.o -common-obj-$(CONFIG_IMX) += imx2_wdt.o common-obj-$(CONFIG_IMX) += imx7_snvs.o common-obj-$(CONFIG_IMX) += imx7_gpr.o common-obj-$(CONFIG_IMX) += imx_rngc.o diff --git a/hw/watchdog/Kconfig b/hw/watchdog/Kconfig index 2118d897c93..293209b291d 100644 --- a/hw/watchdog/Kconfig +++ b/hw/watchdog/Kconfig @@ -14,3 +14,6 @@ config WDT_IB700 config WDT_DIAG288 bool + +config WDT_IMX2 + bool diff --git a/hw/watchdog/Makefile.objs b/hw/watchdog/Makefile.objs index 3f536d1cad8..631b711d868 100644 --- a/hw/watchdog/Makefile.objs +++ b/hw/watchdog/Makefile.objs @@ -4,3 +4,4 @@ common-obj-$(CONFIG_WDT_IB6300ESB) += wdt_i6300esb.o common-obj-$(CONFIG_WDT_IB700) += wdt_ib700.o common-obj-$(CONFIG_WDT_DIAG288) += wdt_diag288.o common-obj-$(CONFIG_ASPEED_SOC) += wdt_aspeed.o +common-obj-$(CONFIG_WDT_IMX2) += wdt_imx2.o From patchwork Thu May 21 19:15:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187098 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1832335ilb; Thu, 21 May 2020 12:24:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJwKH/gQONli/Y2p/7DXmFSu59gjISPFLLfyalwGhC25xYQ5mi/UqJUmOdAPmFKJUXs3pX X-Received: by 2002:ae9:e418:: with SMTP id q24mr11261591qkc.69.1590089090888; Thu, 21 May 2020 12:24:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089090; cv=none; d=google.com; s=arc-20160816; b=QJam/nZX0/meYnr8mWs76+UrkOpGVa1Y8i5Sn6nmQWnaY+4q0Kd2KmbiltLxPm2VYA oXeY2f6h68XqT+uucQTfYkZBDWU3Bvk1LzU9qxTOJtHUi+JPXJDeH5N+ZNmegN9QHQ3w j5uB2hzPVg01w7JoKZ9IwEs6C9fiAoj5wU3sWQeKeup4RfNzoPuDuTGwbBQAWBuCWr/0 uTypS8z6slDzwCkr4j7wY85YF3CoZxTZ5y3Fe+xeKSGMtXxdP6j+VtDgQ+ggcFyrfLRE 9CwHgps0Lk24vDgvPv6Ij6qB45qUUprNnIEpi/q8xDr3Y4hAIaRwogFeWYkbH1N47G4m OJoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=+r4uX4unNchR0Uk4YkJ3GsBkZc2Xb0u6je+WQD2TN+0=; b=bJcFIETOXc5W2a8wS+R/+HeHvmZMWGYzjDuTYwRYkzgpO0T02Dtmp/Y4M6MvDBL3Kf nVc76Jb9nzVS6EJ7sBrT3FmnUItXqTf570zui1dhSy6vizijOgxmqxnE80bLwjncxYk4 fKH3R9flMP1+h7mHrcLkjulTqfVKJ2b2iQ4bJPtZcshSulE4/ZEIVgszpZaO4dIiqaYj 15nHZcj5lt38j6vhPBhYBZCVDe5IXLrZSpCtneAQDbm/IO0rZ2MAm5fWdS+epdsZVGKO UFwv3QVqq3CN31RzNMtpXmnLtg8xcHXQO0Wsnur/sw1dM1q0xpKDpLDkM3kTB37fFGpo 3UWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vF74EXgb; 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=pass (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 dp2si3773460qvb.70.2020.05.21.12.24.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:24:50 -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=pass header.i=@linaro.org header.s=google header.b=vF74EXgb; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqoE-00010n-79 for patch@linaro.org; Thu, 21 May 2020 15:24:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgC-0002Qb-0R for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:32 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:53479) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgA-0000RS-Ee for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:31 -0400 Received: by mail-wm1-x32e.google.com with SMTP id u1so6517184wmn.3 for ; Thu, 21 May 2020 12:16:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+r4uX4unNchR0Uk4YkJ3GsBkZc2Xb0u6je+WQD2TN+0=; b=vF74EXgbIOzfw1MXSrAKMMANkO8a7nGSUhUqlrvrhtmg0IditACVm0n9QfuHWb7aA5 43qsOJ5EpU29By/8L3VWNdkFH+44v2tm0LPTIV/4TdjHZTrJcZWwVjuKPlmEfh6WqU/3 NZMz6zGxMl0+FuFxj8xhzF9dt/ZHBzpL88CSvmn0oS7fWreFonFGIdHr9rkrJsY3sogL PY2KPmq2tWOVUzxAATlrAifQ7X7l8Aj07YF355qPe1CmPfz+l59XT9leYk1eockSk2HU 9gfJ0S+p/dvMzqD3qW0D9rZR4PIeGBhl2Mp4nxy59a/INR1XOw6szEMfRWiUEkcmJmeu b0Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+r4uX4unNchR0Uk4YkJ3GsBkZc2Xb0u6je+WQD2TN+0=; b=AUFMB8d1uoKspBWpE9up49aPsYjd2u+u0Fya/Gr4dqovfob3IPm44CbFnpNvfUcAjM AcSQs+oF3QS8ACq1ptdHk96f97fH0wAF4FscexKUv/ew7syk32sdSWqhNZJF1EoblCGr /vVT3QAXhONSgrfmjvKZPw9Q3JsgAfMopvf10Jhf+V6cfZne7+BxXULRrlknlaVZGoNq /i3xXoZe/WCGgkzhG84bQoTRT3eUYYQQjeqXaKLw8SVdp7goSn+dyYMeYIzGLvRPo1ED EwPhFjuaFK4RAXgeiOkU8IOnxRT6miz0FDqqgUlW1au8cz2rA0pPF7yKkoliQw2X9BJg v47Q== X-Gm-Message-State: AOAM530DVhit4OsZS5bs88uehQWGE16zcgMbAxdZqdoLLeBE63OVS4hV mEwkhhyWnwTwQ3UOOJg3AJALQwc2MFbkaQ== X-Received: by 2002:a1c:1b44:: with SMTP id b65mr10592231wmb.181.1590088588513; Thu, 21 May 2020 12:16:28 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:27 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/29] hw/watchdog: Implement full i.MX watchdog support Date: Thu, 21 May 2020 20:15:54 +0100 Message-Id: <20200521191610.10941-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck Implement full support for the watchdog in i.MX systems. Pretimeout support is optional because the watchdog hardware on i.MX31 does not support pretimeouts. Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-3-linux@roeck-us.net Signed-off-by: Peter Maydell Reviewed-by: Peter Maydell --- include/hw/watchdog/wdt_imx2.h | 61 ++++++++- hw/watchdog/wdt_imx2.c | 239 +++++++++++++++++++++++++++++++-- 2 files changed, 285 insertions(+), 15 deletions(-) -- 2.20.1 diff --git a/include/hw/watchdog/wdt_imx2.h b/include/hw/watchdog/wdt_imx2.h index b91b002528f..f9af6be4b69 100644 --- a/include/hw/watchdog/wdt_imx2.h +++ b/include/hw/watchdog/wdt_imx2.h @@ -12,22 +12,79 @@ #ifndef IMX2_WDT_H #define IMX2_WDT_H +#include "qemu/bitops.h" #include "hw/sysbus.h" +#include "hw/irq.h" +#include "hw/ptimer.h" #define TYPE_IMX2_WDT "imx2.wdt" #define IMX2_WDT(obj) OBJECT_CHECK(IMX2WdtState, (obj), TYPE_IMX2_WDT) enum IMX2WdtRegisters { - IMX2_WDT_WCR = 0x0000, - IMX2_WDT_REG_NUM = 0x0008 / sizeof(uint16_t) + 1, + IMX2_WDT_WCR = 0x0000, /* Control Register */ + IMX2_WDT_WSR = 0x0002, /* Service Register */ + IMX2_WDT_WRSR = 0x0004, /* Reset Status Register */ + IMX2_WDT_WICR = 0x0006, /* Interrupt Control Register */ + IMX2_WDT_WMCR = 0x0008, /* Misc Register */ }; +#define IMX2_WDT_MMIO_SIZE 0x000a + +/* Control Register definitions */ +#define IMX2_WDT_WCR_WT (0xFF << 8) /* Watchdog Timeout Field */ +#define IMX2_WDT_WCR_WDW BIT(7) /* WDOG Disable for Wait */ +#define IMX2_WDT_WCR_WDA BIT(5) /* WDOG Assertion */ +#define IMX2_WDT_WCR_SRS BIT(4) /* Software Reset Signal */ +#define IMX2_WDT_WCR_WDT BIT(3) /* WDOG Timeout Assertion */ +#define IMX2_WDT_WCR_WDE BIT(2) /* Watchdog Enable */ +#define IMX2_WDT_WCR_WDBG BIT(1) /* Watchdog Debug Enable */ +#define IMX2_WDT_WCR_WDZST BIT(0) /* Watchdog Timer Suspend */ + +#define IMX2_WDT_WCR_LOCK_MASK (IMX2_WDT_WCR_WDZST | IMX2_WDT_WCR_WDBG \ + | IMX2_WDT_WCR_WDW) + +/* Service Register definitions */ +#define IMX2_WDT_SEQ1 0x5555 /* service sequence 1 */ +#define IMX2_WDT_SEQ2 0xAAAA /* service sequence 2 */ + +/* Reset Status Register definitions */ +#define IMX2_WDT_WRSR_TOUT BIT(1) /* Reset due to Timeout */ +#define IMX2_WDT_WRSR_SFTW BIT(0) /* Reset due to software reset */ + +/* Interrupt Control Register definitions */ +#define IMX2_WDT_WICR_WIE BIT(15) /* Interrupt Enable */ +#define IMX2_WDT_WICR_WTIS BIT(14) /* Interrupt Status */ +#define IMX2_WDT_WICR_WICT 0xff /* Interrupt Timeout */ +#define IMX2_WDT_WICR_WICT_DEF 0x04 /* Default interrupt timeout (2s) */ + +#define IMX2_WDT_WICR_LOCK_MASK (IMX2_WDT_WICR_WIE | IMX2_WDT_WICR_WICT) + +/* Misc Control Register definitions */ +#define IMX2_WDT_WMCR_PDE BIT(0) /* Power-Down Enable */ typedef struct IMX2WdtState { /* */ SysBusDevice parent_obj; + /*< public >*/ MemoryRegion mmio; + qemu_irq irq; + + struct ptimer_state *timer; + struct ptimer_state *itimer; + + bool pretimeout_support; + bool wicr_locked; + + uint16_t wcr; + uint16_t wsr; + uint16_t wrsr; + uint16_t wicr; + uint16_t wmcr; + + bool wcr_locked; /* affects WDZST, WDBG, and WDW */ + bool wcr_wde_locked; /* affects WDE */ + bool wcr_wdt_locked; /* affects WDT (never cleared) */ } IMX2WdtState; #endif /* IMX2_WDT_H */ diff --git a/hw/watchdog/wdt_imx2.c b/hw/watchdog/wdt_imx2.c index ad1ef02e9e7..855b51768a8 100644 --- a/hw/watchdog/wdt_imx2.c +++ b/hw/watchdog/wdt_imx2.c @@ -13,24 +13,189 @@ #include "qemu/bitops.h" #include "qemu/module.h" #include "sysemu/watchdog.h" +#include "migration/vmstate.h" +#include "hw/qdev-properties.h" #include "hw/watchdog/wdt_imx2.h" -#define IMX2_WDT_WCR_WDA BIT(5) /* -> External Reset WDOG_B */ -#define IMX2_WDT_WCR_SRS BIT(4) /* -> Software Reset Signal */ - -static uint64_t imx2_wdt_read(void *opaque, hwaddr addr, - unsigned int size) +static void imx2_wdt_interrupt(void *opaque) { + IMX2WdtState *s = IMX2_WDT(opaque); + + s->wicr |= IMX2_WDT_WICR_WTIS; + qemu_set_irq(s->irq, 1); +} + +static void imx2_wdt_expired(void *opaque) +{ + IMX2WdtState *s = IMX2_WDT(opaque); + + s->wrsr = IMX2_WDT_WRSR_TOUT; + + /* Perform watchdog action if watchdog is enabled */ + if (s->wcr & IMX2_WDT_WCR_WDE) { + s->wrsr = IMX2_WDT_WRSR_TOUT; + watchdog_perform_action(); + } +} + +static void imx2_wdt_reset(DeviceState *dev) +{ + IMX2WdtState *s = IMX2_WDT(dev); + + ptimer_transaction_begin(s->timer); + ptimer_stop(s->timer); + ptimer_transaction_commit(s->timer); + + if (s->pretimeout_support) { + ptimer_transaction_begin(s->itimer); + ptimer_stop(s->itimer); + ptimer_transaction_commit(s->itimer); + } + + s->wicr_locked = false; + s->wcr_locked = false; + s->wcr_wde_locked = false; + + s->wcr = IMX2_WDT_WCR_WDA | IMX2_WDT_WCR_SRS; + s->wsr = 0; + s->wrsr &= ~(IMX2_WDT_WRSR_TOUT | IMX2_WDT_WRSR_SFTW); + s->wicr = IMX2_WDT_WICR_WICT_DEF; + s->wmcr = IMX2_WDT_WMCR_PDE; +} + +static uint64_t imx2_wdt_read(void *opaque, hwaddr addr, unsigned int size) +{ + IMX2WdtState *s = IMX2_WDT(opaque); + + switch (addr) { + case IMX2_WDT_WCR: + return s->wcr; + case IMX2_WDT_WSR: + return s->wsr; + case IMX2_WDT_WRSR: + return s->wrsr; + case IMX2_WDT_WICR: + return s->wicr; + case IMX2_WDT_WMCR: + return s->wmcr; + } return 0; } +static void imx_wdt2_update_itimer(IMX2WdtState *s, bool start) +{ + bool running = (s->wcr & IMX2_WDT_WCR_WDE) && (s->wcr & IMX2_WDT_WCR_WT); + bool enabled = s->wicr & IMX2_WDT_WICR_WIE; + + ptimer_transaction_begin(s->itimer); + if (start || !enabled) { + ptimer_stop(s->itimer); + } + if (running && enabled) { + int count = ptimer_get_count(s->timer); + int pretimeout = s->wicr & IMX2_WDT_WICR_WICT; + + /* + * Only (re-)start pretimeout timer if its counter value is larger + * than 0. Otherwise it will fire right away and we'll get an + * interrupt loop. + */ + if (count > pretimeout) { + ptimer_set_count(s->itimer, count - pretimeout); + if (start) { + ptimer_run(s->itimer, 1); + } + } + } + ptimer_transaction_commit(s->itimer); +} + +static void imx_wdt2_update_timer(IMX2WdtState *s, bool start) +{ + ptimer_transaction_begin(s->timer); + if (start) { + ptimer_stop(s->timer); + } + if ((s->wcr & IMX2_WDT_WCR_WDE) && (s->wcr & IMX2_WDT_WCR_WT)) { + int count = (s->wcr & IMX2_WDT_WCR_WT) >> 8; + + /* A value of 0 reflects one period (0.5s). */ + ptimer_set_count(s->timer, count + 1); + if (start) { + ptimer_run(s->timer, 1); + } + } + ptimer_transaction_commit(s->timer); + if (s->pretimeout_support) { + imx_wdt2_update_itimer(s, start); + } +} + static void imx2_wdt_write(void *opaque, hwaddr addr, uint64_t value, unsigned int size) { - if (addr == IMX2_WDT_WCR && - (~value & (IMX2_WDT_WCR_WDA | IMX2_WDT_WCR_SRS))) { - watchdog_perform_action(); + IMX2WdtState *s = IMX2_WDT(opaque); + + switch (addr) { + case IMX2_WDT_WCR: + if (s->wcr_locked) { + value &= ~IMX2_WDT_WCR_LOCK_MASK; + value |= (s->wicr & IMX2_WDT_WCR_LOCK_MASK); + } + s->wcr_locked = true; + if (s->wcr_wde_locked) { + value &= ~IMX2_WDT_WCR_WDE; + value |= (s->wicr & ~IMX2_WDT_WCR_WDE); + } else if (value & IMX2_WDT_WCR_WDE) { + s->wcr_wde_locked = true; + } + if (s->wcr_wdt_locked) { + value &= ~IMX2_WDT_WCR_WDT; + value |= (s->wicr & ~IMX2_WDT_WCR_WDT); + } else if (value & IMX2_WDT_WCR_WDT) { + s->wcr_wdt_locked = true; + } + + s->wcr = value; + if (!(value & IMX2_WDT_WCR_SRS)) { + s->wrsr = IMX2_WDT_WRSR_SFTW; + } + if (!(value & (IMX2_WDT_WCR_WDA | IMX2_WDT_WCR_SRS)) || + (!(value & IMX2_WDT_WCR_WT) && (value & IMX2_WDT_WCR_WDE))) { + watchdog_perform_action(); + } + s->wcr |= IMX2_WDT_WCR_SRS; + imx_wdt2_update_timer(s, true); + break; + case IMX2_WDT_WSR: + if (s->wsr == IMX2_WDT_SEQ1 && value == IMX2_WDT_SEQ2) { + imx_wdt2_update_timer(s, false); + } + s->wsr = value; + break; + case IMX2_WDT_WRSR: + break; + case IMX2_WDT_WICR: + if (!s->pretimeout_support) { + return; + } + value &= IMX2_WDT_WICR_LOCK_MASK | IMX2_WDT_WICR_WTIS; + if (s->wicr_locked) { + value &= IMX2_WDT_WICR_WTIS; + value |= (s->wicr & IMX2_WDT_WICR_LOCK_MASK); + } + s->wicr = value | (s->wicr & IMX2_WDT_WICR_WTIS); + if (value & IMX2_WDT_WICR_WTIS) { + s->wicr &= ~IMX2_WDT_WICR_WTIS; + qemu_set_irq(s->irq, 0); + } + imx_wdt2_update_itimer(s, true); + s->wicr_locked = true; + break; + case IMX2_WDT_WMCR: + s->wmcr = value & IMX2_WDT_WMCR_PDE; + break; } } @@ -45,28 +210,76 @@ static const MemoryRegionOps imx2_wdt_ops = { * real device but in practice there is no reason for a guest * to access this device unaligned. */ - .min_access_size = 4, - .max_access_size = 4, + .min_access_size = 2, + .max_access_size = 2, .unaligned = false, }, }; +static const VMStateDescription vmstate_imx2_wdt = { + .name = "imx2.wdt", + .fields = (VMStateField[]) { + VMSTATE_PTIMER(timer, IMX2WdtState), + VMSTATE_PTIMER(itimer, IMX2WdtState), + VMSTATE_BOOL(wicr_locked, IMX2WdtState), + VMSTATE_BOOL(wcr_locked, IMX2WdtState), + VMSTATE_BOOL(wcr_wde_locked, IMX2WdtState), + VMSTATE_BOOL(wcr_wdt_locked, IMX2WdtState), + VMSTATE_UINT16(wcr, IMX2WdtState), + VMSTATE_UINT16(wsr, IMX2WdtState), + VMSTATE_UINT16(wrsr, IMX2WdtState), + VMSTATE_UINT16(wmcr, IMX2WdtState), + VMSTATE_UINT16(wicr, IMX2WdtState), + VMSTATE_END_OF_LIST() + } +}; + static void imx2_wdt_realize(DeviceState *dev, Error **errp) { IMX2WdtState *s = IMX2_WDT(dev); + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); memory_region_init_io(&s->mmio, OBJECT(dev), &imx2_wdt_ops, s, - TYPE_IMX2_WDT".mmio", - IMX2_WDT_REG_NUM * sizeof(uint16_t)); - sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->mmio); + TYPE_IMX2_WDT, + IMX2_WDT_MMIO_SIZE); + sysbus_init_mmio(sbd, &s->mmio); + sysbus_init_irq(sbd, &s->irq); + + s->timer = ptimer_init(imx2_wdt_expired, s, + PTIMER_POLICY_NO_IMMEDIATE_TRIGGER | + PTIMER_POLICY_NO_IMMEDIATE_RELOAD | + PTIMER_POLICY_NO_COUNTER_ROUND_DOWN); + ptimer_transaction_begin(s->timer); + ptimer_set_freq(s->timer, 2); + ptimer_set_limit(s->timer, 0xff, 1); + ptimer_transaction_commit(s->timer); + if (s->pretimeout_support) { + s->itimer = ptimer_init(imx2_wdt_interrupt, s, + PTIMER_POLICY_NO_IMMEDIATE_TRIGGER | + PTIMER_POLICY_NO_IMMEDIATE_RELOAD | + PTIMER_POLICY_NO_COUNTER_ROUND_DOWN); + ptimer_transaction_begin(s->itimer); + ptimer_set_freq(s->itimer, 2); + ptimer_set_limit(s->itimer, 0xff, 1); + ptimer_transaction_commit(s->itimer); + } } +static Property imx2_wdt_properties[] = { + DEFINE_PROP_BOOL("pretimeout-support", IMX2WdtState, pretimeout_support, + false), +}; + static void imx2_wdt_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); + device_class_set_props(dc, imx2_wdt_properties); dc->realize = imx2_wdt_realize; + dc->reset = imx2_wdt_reset; + dc->vmsd = &vmstate_imx2_wdt; + dc->desc = "i.MX watchdog timer"; set_bit(DEVICE_CATEGORY_MISC, dc->categories); } From patchwork Thu May 21 19:15:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187092 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1829719ilb; Thu, 21 May 2020 12:21:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHjB3aYhJmepU0vVWdxoB2TJr+K2xQQQB1I70nK9Xn702xUeChF/Q1H0yyzz0SGwTUJnQ7 X-Received: by 2002:a25:8b0c:: with SMTP id i12mr18174788ybl.371.1590088868292; Thu, 21 May 2020 12:21:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088868; cv=none; d=google.com; s=arc-20160816; b=xr3ku7cKl6DDHOextAajOgih9u6G1tlpD7k7tiu/YXV1TqoMzdmPM7aDCzGYNLWDoe wOUhtLqLLAYttQL1GFDO2kNQGIYn9ZFrv+pXJWV8RAxrRcnr0qXcavSoq3CJ82RNkDFZ nr8GHRHQbuG39i9Ps8b+khD1VbxGvcNshWZfvEfDlKR2EkNyKzJcDcCPgedXfK5z1XRY 59TX4xW7eAcQCZOB3NzThtSHIjGvGSGUsI8at7xJ+eFesPA7hbG/wdGlzIkZKJatjDvM k9xmCbMTx9X6xW/FzVWqbE51X9srpKFzj9STGRlcKSMCB0P/UXtQAZME8qoqBA+FN/nB RJoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=+hbGBZsc8AF+X3waDnF16DXho47LwjO3DYv4rpJ8Ce8=; b=ZatEiBy9Iw/X7aY+CXkWNQNdSq2xHxF9n60FPRa52bKX5D1M25KCLgnVWPE71elmTg 3zw2E9fPHauEF9KNoTgtwAidPhV5UFosn4nReQ7yPFlC20OP552Fnrvb457Uurf7sM2K DE/ioZUvzvXCAgEvucGoUtnH8K0b7T0H2z3CqADFBgzPwB4BAVHzxu2pSRuikl2VSDhL MKPlLF0sJ/zENBLWi/Fo/llVjFB4PntHihhkvKflRQhNQA6uCv5fH0R6nluU6dJYsPpO BnFTVwBa7ehBnO5BjHNnJJnHmmz6vohVg5iK5mMMwZIPXW1w8ADRZqaMXupNnsmzuUAv svKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xg8AZVIs; 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=pass (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 u203si6023793yba.264.2020.05.21.12.21.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:21:08 -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=pass header.i=@linaro.org header.s=google header.b=xg8AZVIs; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52278 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqkd-0001og-J8 for patch@linaro.org; Thu, 21 May 2020 15:21:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgD-0002TU-44 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:33 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:33462) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgB-0000Rc-VG for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:32 -0400 Received: by mail-wr1-x435.google.com with SMTP id l11so7810533wru.0 for ; Thu, 21 May 2020 12:16:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+hbGBZsc8AF+X3waDnF16DXho47LwjO3DYv4rpJ8Ce8=; b=xg8AZVIs+o4OLrkktftOCo313ZSmdaO9FCHixpqR+jSPkIgh3ckslVAyJyNXrNGHJR 8aRKof89O55LGXV2ew7tAoPbZ9z+OvfsMrqS/ZYWoORFsXpVLWZdgCS0hm+JOhVLS2/R xI6nDK0yH3v6QLG4CuqDkQbQ4Rem1ffZyE0snyZWcbWa68PxvoA3Iarw7a/JNyTzpKgb TS6uoLtjy/DiEkZjw4LRSqEefq76U7zuL+qey7sOh/v2lTViaaTy9Dujwygf0lvDpmRz tBHNNyfL0EPhI++m/Da5f+IlUV/PHhu7QpMvws0gceKbA5Jruc5h2+wjfv4O1SR7+5Et hJ0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+hbGBZsc8AF+X3waDnF16DXho47LwjO3DYv4rpJ8Ce8=; b=l7DKcMllhUIpz6zl6mersHvyFUGnh4cRxX9pnniyBMRrnvBxtJi7Zh5nOeQ9tT3Opz vrY67GBYke0vL8D7RuAmBojkua7XO7bf3IGSf+AbbFmpDgJTt6j8SaFt84uucDcTRYIV icsgKoBi7RNrWlgzM0Au7KXSiZEI0mp6M1LoiEJyBfcVEzCTIOtFGv7sN30n2lZg6giB 5TQG07qUDAmy4PBLw0ussFiFxsQU7Ce4J7zwCyq7dnyvDQud2qpig3QeLloXZJxRGd8+ AUa+gUOMN0iEA1U7fvESHMm1WvCZyPJDo0HO/lgheGB/RgNjE71D5xbZde8uYNyBiee5 zpcA== X-Gm-Message-State: AOAM533pFVAYy/iTMTxrEdGzoejep5cO5DJDZv24rcNXw3RmPLPU8/a7 A+o0hwISqYqf1TtDTv9m0QjHDJWZKs4G7g== X-Received: by 2002:a5d:4806:: with SMTP id l6mr88187wrq.121.1590088590028; Thu, 21 May 2020 12:16:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:28 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/29] hw/arm/fsl-imx25: Wire up watchdog Date: Thu, 21 May 2020 20:15:55 +0100 Message-Id: <20200521191610.10941-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck With this commit, the watchdog on imx25-pdk is fully operational, including pretimeout support. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-4-linux@roeck-us.net Signed-off-by: Peter Maydell --- include/hw/arm/fsl-imx25.h | 5 +++++ hw/arm/fsl-imx25.c | 10 ++++++++++ hw/arm/Kconfig | 1 + 3 files changed, 16 insertions(+) -- 2.20.1 diff --git a/include/hw/arm/fsl-imx25.h b/include/hw/arm/fsl-imx25.h index 5e196bbf059..9e228daceae 100644 --- a/include/hw/arm/fsl-imx25.h +++ b/include/hw/arm/fsl-imx25.h @@ -29,6 +29,7 @@ #include "hw/gpio/imx_gpio.h" #include "hw/sd/sdhci.h" #include "hw/usb/chipidea.h" +#include "hw/watchdog/wdt_imx2.h" #include "exec/memory.h" #include "target/arm/cpu.h" @@ -60,6 +61,7 @@ typedef struct FslIMX25State { IMXGPIOState gpio[FSL_IMX25_NUM_GPIOS]; SDHCIState esdhc[FSL_IMX25_NUM_ESDHCS]; ChipideaState usb[FSL_IMX25_NUM_USBS]; + IMX2WdtState wdt; MemoryRegion rom[2]; MemoryRegion iram; MemoryRegion iram_alias; @@ -229,6 +231,8 @@ typedef struct FslIMX25State { #define FSL_IMX25_GPIO1_SIZE 0x4000 #define FSL_IMX25_GPIO2_ADDR 0x53FD0000 #define FSL_IMX25_GPIO2_SIZE 0x4000 +#define FSL_IMX25_WDT_ADDR 0x53FDC000 +#define FSL_IMX25_WDT_SIZE 0x4000 #define FSL_IMX25_USB1_ADDR 0x53FF4000 #define FSL_IMX25_USB1_SIZE 0x0200 #define FSL_IMX25_USB2_ADDR 0x53FF4400 @@ -268,5 +272,6 @@ typedef struct FslIMX25State { #define FSL_IMX25_ESDHC2_IRQ 8 #define FSL_IMX25_USB1_IRQ 37 #define FSL_IMX25_USB2_IRQ 35 +#define FSL_IMX25_WDT_IRQ 55 #endif /* FSL_IMX25_H */ diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index 6f1a82ce3db..cdaa79c26bd 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -87,6 +87,7 @@ static void fsl_imx25_init(Object *obj) TYPE_CHIPIDEA); } + sysbus_init_child_obj(obj, "wdt", &s->wdt, sizeof(s->wdt), TYPE_IMX2_WDT); } static void fsl_imx25_realize(DeviceState *dev, Error **errp) @@ -302,6 +303,15 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) usb_table[i].irq)); } + /* Watchdog */ + object_property_set_bool(OBJECT(&s->wdt), true, "pretimeout-support", + &error_abort); + object_property_set_bool(OBJECT(&s->wdt), true, "realized", &error_abort); + sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt), 0, FSL_IMX25_WDT_ADDR); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt), 0, + qdev_get_gpio_in(DEVICE(&s->avic), + FSL_IMX25_WDT_IRQ)); + /* initialize 2 x 16 KB ROM */ memory_region_init_rom(&s->rom[0], OBJECT(dev), "imx25.rom0", FSL_IMX25_ROM0_SIZE, &err); diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 3d05dc8538c..8a5eb140f59 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -359,6 +359,7 @@ config FSL_IMX25 select IMX select IMX_FEC select IMX_I2C + select WDT_IMX2 select DS1338 config FSL_IMX31 From patchwork Thu May 21 19:15:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187102 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1833497ilb; Thu, 21 May 2020 12:26:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxd0GtCAB7kpAHlJPkr7qyJF3QCG5M1gCVms7jpQnS39qXMh96onWrB1CVSzWEwdqfla981 X-Received: by 2002:a25:50c7:: with SMTP id e190mr17189704ybb.458.1590089194242; Thu, 21 May 2020 12:26:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089194; cv=none; d=google.com; s=arc-20160816; b=Xu6igd7+SJZkBvXsVIiFf+oXpcH/ladB+w42XLkU8ify6TYW15D3nSpERWKBNsRD80 JFcESpXJhAUvN+ccVG/iGBI9HsocrybfDM+mfXahAXRosVs8EyGrayIhEXqD1JIYVMST HD5QDYKssKqI66RcHYGI/fBZxzSykRkRv5pP2fcACXYnJ43KklCjneSl4+kK9Sp/TXDU rwMgOwybaz3nG28uNG1Aa1codREo6rVkiMDXqoDEHf+hq6FBMLCHTf8jnQk6G9hiAtsf BUD2mNzN3ie8R9IkZe7rb7GGRRdwfxf35DjtOo5SrOhOcEwY07mEUpRBK4laQyjfexbF N+6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=g6opxpyblY3BJiC2qRIQdxGctvh0Y/Yc1moA3MhazYA=; b=PyTuH0y4d1cObakCuEWean+J2cOnsiBtp3RLPfDg/FZeSl/xuWIePmNyMcubyGd6Ge nqOAxkKVl7peuqeKYtuZ4JYEAI8yaiDSnnNct462S0y6PgGPz9m/5ncu1CzuhbloY7tT dUt4YPhp1oW8fBssr5n9/pJFKxMRQujYgdgdHCI3Ny6Zkous9QraseO1fy0ricMtQevP HvFNeV21Fg2dpb7YHu09Hl4vr3hzWCWuiXVVyKgQZzSaxv8dZz9FF7NI171I9VxsNPv+ Alq4iLWNW7hLGci4bjiTIvbrv2hkBUGAtRD+VFi5OReRXtFpRrmbg4o7lw5iQuQW0epQ cjaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=pXFjLFj+; 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=pass (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 u185si5463703ybb.15.2020.05.21.12.26.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:26:34 -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=pass header.i=@linaro.org header.s=google header.b=pXFjLFj+; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49656 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqpt-00066K-MA for patch@linaro.org; Thu, 21 May 2020 15:26:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38070) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgE-0002WI-6V for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:34 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:37999) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgD-0000Rl-1L for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:33 -0400 Received: by mail-wm1-x342.google.com with SMTP id u12so2757945wmd.3 for ; Thu, 21 May 2020 12:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=g6opxpyblY3BJiC2qRIQdxGctvh0Y/Yc1moA3MhazYA=; b=pXFjLFj+QRe9uCKoLKExzRLAghoVCGMjOt+VM8zeOuRblvfr4YNweihnj3K1DNqQ4o /7NWSh7K7Jo7PNXc8CLIlepWmFCElAcS7djDZc0ArhCMSjVD4A1CAKm3Pudle6Iqw+V6 nyddkDZaT2pu262LV1ACI6JlGUSKvXcbAv8nomf+T0zHx+172FXAjXc6CQDW6z1GyDDC seR6wO6BpU8KdNLoQahsUGYdLdhGDCI6wmhNiCqnS4V96MTS04f4/idHmuju3zoYsZMf X9FVoF0uEyFIaSwnA7ms531SZNXiYxNbCEPIGIZtO68IlfIggYzRcrytTbdnMMvHAzzf 4Rvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g6opxpyblY3BJiC2qRIQdxGctvh0Y/Yc1moA3MhazYA=; b=SRSWnDDe6lb/UOjAtpHEa/6bn5sf7ku6IRFB5PRWN7MClua1s3l6ebKqi34VELPg35 pAAUn6+IHqB3BotWoKynaqtU7QzrxRTyRiaNwj4B2SKl/iwa9BzUrpx0A2z9KmbPqTlR fj3xZkuXlm1MNeTE6dCsz8F8kaiJYHAOZu1qg95wogh4VlkEoaTRvA5vzsM1YnzAU5t9 8ARHf2UXOJhyDIheZTUcJcPGshaLnBiwCIsscXtdJEUpyUVcPkO9CfmIXWE92CMIKeGr WHQoZih9GeMeQq/VpyGZFDo59HnpLLjgnp1/91m+iIUEWvC1qB+ZrhoLAIyIo5PV07FD tLHw== X-Gm-Message-State: AOAM533znRQhW1YIS5fmpnNApGucM/9yJ7re33Tp2+B2ZVRXSqHGOenx Qk/HrMmLKCA+exfOXVd4VmDJLmyY0T/BTQ== X-Received: by 2002:a1c:3bc2:: with SMTP id i185mr9825172wma.157.1590088591206; Thu, 21 May 2020 12:16:31 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:30 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/29] hw/arm/fsl-imx31: Wire up watchdog Date: Thu, 21 May 2020 20:15:56 +0100 Message-Id: <20200521191610.10941-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::342; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x342.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck With this patch, the watchdog on i.MX31 emulations is fully operational. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-5-linux@roeck-us.net Signed-off-by: Peter Maydell --- include/hw/arm/fsl-imx31.h | 4 ++++ hw/arm/fsl-imx31.c | 6 ++++++ hw/arm/Kconfig | 1 + 3 files changed, 11 insertions(+) -- 2.20.1 diff --git a/include/hw/arm/fsl-imx31.h b/include/hw/arm/fsl-imx31.h index ac5ca9826a4..dd8561b3098 100644 --- a/include/hw/arm/fsl-imx31.h +++ b/include/hw/arm/fsl-imx31.h @@ -25,6 +25,7 @@ #include "hw/timer/imx_epit.h" #include "hw/i2c/imx_i2c.h" #include "hw/gpio/imx_gpio.h" +#include "hw/watchdog/wdt_imx2.h" #include "exec/memory.h" #include "target/arm/cpu.h" @@ -49,6 +50,7 @@ typedef struct FslIMX31State { IMXEPITState epit[FSL_IMX31_NUM_EPITS]; IMXI2CState i2c[FSL_IMX31_NUM_I2CS]; IMXGPIOState gpio[FSL_IMX31_NUM_GPIOS]; + IMX2WdtState wdt; MemoryRegion secure_rom; MemoryRegion rom; MemoryRegion iram; @@ -87,6 +89,8 @@ typedef struct FslIMX31State { #define FSL_IMX31_GPIO1_SIZE 0x4000 #define FSL_IMX31_GPIO2_ADDR 0x53FD0000 #define FSL_IMX31_GPIO2_SIZE 0x4000 +#define FSL_IMX31_WDT_ADDR 0x53FDC000 +#define FSL_IMX31_WDT_SIZE 0x4000 #define FSL_IMX31_AVIC_ADDR 0x68000000 #define FSL_IMX31_AVIC_SIZE 0x100 #define FSL_IMX31_SDRAM0_ADDR 0x80000000 diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c index 8472d2e9111..1e7959863dd 100644 --- a/hw/arm/fsl-imx31.c +++ b/hw/arm/fsl-imx31.c @@ -63,6 +63,8 @@ static void fsl_imx31_init(Object *obj) sysbus_init_child_obj(obj, "gpio[*]", &s->gpio[i], sizeof(s->gpio[i]), TYPE_IMX_GPIO); } + + sysbus_init_child_obj(obj, "wdt", &s->wdt, sizeof(s->wdt), TYPE_IMX2_WDT); } static void fsl_imx31_realize(DeviceState *dev, Error **errp) @@ -205,6 +207,10 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) gpio_table[i].irq)); } + /* Watchdog */ + object_property_set_bool(OBJECT(&s->wdt), true, "realized", &error_abort); + sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt), 0, FSL_IMX31_WDT_ADDR); + /* On a real system, the first 16k is a `secure boot rom' */ memory_region_init_rom(&s->secure_rom, OBJECT(dev), "imx31.secure_rom", FSL_IMX31_SECURE_ROM_SIZE, &err); diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 8a5eb140f59..9afa6eee799 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -367,6 +367,7 @@ config FSL_IMX31 select SERIAL select IMX select IMX_I2C + select WDT_IMX2 select LAN9118 config FSL_IMX6 From patchwork Thu May 21 19:15:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187095 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1830626ilb; Thu, 21 May 2020 12:22:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbIewV40I7PVyaqRIA4OqrpVQP8TaFr/JfaughPFNc2kHBqPp+Brq6nF5sz7CauxWa1PBZ X-Received: by 2002:a37:6188:: with SMTP id v130mr3041641qkb.478.1590088947300; Thu, 21 May 2020 12:22:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088947; cv=none; d=google.com; s=arc-20160816; b=bYUIgPcOUc+UcnhpwYsEQ5h7VE+8fhZjT6Ey2zvYLSnZahIHTFJ1t/QitQg83mGV0+ EVMuvcZLGKk9e0z4taf2WNOz60iE0ECir1gDgIwo5FyrzmS/KEBj3oDo775jslVZ2y8r YfJylj1EM99sdArUzmmnhk0BC3CkSShG/h2LAN5Z+2rGVoCCVt3H739hkTl6LgbuglY+ EDAiZjjSIZmlmc0ZK0uvbxGL9PiuMtcObsyoTzMqrwu0IRwju1KBcr5hah7fwvQsy1ps NK+jbecD+lAcWCVovo5hrXBOOIfAK7WP0Ydn5fGzgrIOQ0C0VpsTK7DbapAvq6IaIIKi WIVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=/CQUeNZzF81fMUMrjQ9fUpjLOhXLi7IijeH4uibvu5Q=; b=znSXe0vuGP/uFbbww3oOk8deUejnev72gvWIrAAMwVAEpZdauvXIiYENmcuhLPpgl/ U5F7thciQHcX9qfVtkj5lFRZN3GO2GDH7f7GyFSfBAa2Ej/eS8x/037dCIlGM8M6ynCi esg0UbQi7Dyni098/dZx2hN3v7DTJN8f5CCjGy7unwUqJY8MuDCMlawUM4j1NrxRBdx2 3RFoMkdp5VBYoOVRg1m5JFz0yxAdpHHMmsBZN6yXF4nQN/e25SUnKK+l0NSL1GJ6hava v9LHI8fUQ80xFhYVYocaPeeKiEfWwT737zhs1XdXB3i8rG59zk5ow8/ViuwMkl22dQbu reCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=lgzIKUk9; 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=pass (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 cg18si4241041qvb.60.2020.05.21.12.22.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:22:27 -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=pass header.i=@linaro.org header.s=google header.b=lgzIKUk9; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqlu-00067E-PH for patch@linaro.org; Thu, 21 May 2020 15:22:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38074) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgE-0002Y2-Sc for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:34 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:33001) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgD-0000Rt-U8 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:34 -0400 Received: by mail-wr1-x443.google.com with SMTP id l11so7810610wru.0 for ; Thu, 21 May 2020 12:16:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=/CQUeNZzF81fMUMrjQ9fUpjLOhXLi7IijeH4uibvu5Q=; b=lgzIKUk9suiMCZmJ0wPZddNvVbgPVdpgeHuGqhL3KqfLR8A1dLY0+zySKARbPS4v9w W+LNsJ2PA5Gdua9HrA9sMaqiHL8sWRP701iJK8BKiyUGu3ZquRzAr9UIdMQrLhtCY54p MRN3lT//d4fx1HGaRwa161GCHv07CadzxNZ6xL1m5Q54IYmqSHDil26JDOc+8mZKR13L FtQSDcYd+2Um+dHtbckAPPX87R6PwuonnKxrblAcjcXCUGp9Hjy5Trwl1cxliuXsceA7 mOTuF3mUQ6VSI9CzkDp8mvJvKxMV6NH8rPbIpCH0zlpPsZoJdATv6BcjBT53Ga6FfesR pYwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/CQUeNZzF81fMUMrjQ9fUpjLOhXLi7IijeH4uibvu5Q=; b=lkdw7PU7/sY6UThPw/emSixgTSsgiE6gHPSCpxk8oHT1YNpjAH9Tb3c8BqA6e5H94V GPUOUveWjMKkaZyJhniSXNXgXPPilcO3vOMyA9IsivsHn2Ozgoii5gVaOx5bk5J/OGTV PfJoU6IgbybtaFoILm9f7H5wj5Sh2ES1BgLQu/Zd6pxlYmE4SDpZbpW7zgA2pQPQu/6X CYo+UdUQ36eZEwSXnC9XUbTc+QI/qAN0Hp+rmgxIs+5S72Je2d/56vUJWVHGChaihSs8 tKKWFT1Ict/lqbTIyk+eJBChMbrSdmOLzBpi8jnvsuQyzrK6VTARiZqspXyDRKZFxpLH qrBQ== X-Gm-Message-State: AOAM5331Kcq92Pj+PPcUOzOU94SAUgOGKowCA/GJEmnxFMwLGizQgp/4 6jChAlyJBDIHRLbfdgGFZw+exWXy7s74sw== X-Received: by 2002:a05:6000:ce:: with SMTP id q14mr94570wrx.105.1590088592237; Thu, 21 May 2020 12:16:32 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:31 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/29] hw/arm/fsl-imx6: Connect watchdog interrupts Date: Thu, 21 May 2020 20:15:57 +0100 Message-Id: <20200521191610.10941-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck With this patch applied, the watchdog in the sabrelite emulation is fully operational, including pretimeout support. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-6-linux@roeck-us.net Signed-off-by: Peter Maydell --- hw/arm/fsl-imx6.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.20.1 diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 13f1bf23a6c..f58c85aa8ce 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -433,11 +433,20 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) FSL_IMX6_WDOG1_ADDR, FSL_IMX6_WDOG2_ADDR, }; + static const int FSL_IMX6_WDOGn_IRQ[FSL_IMX6_NUM_WDTS] = { + FSL_IMX6_WDOG1_IRQ, + FSL_IMX6_WDOG2_IRQ, + }; + object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-support", + &error_abort); object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR[i]); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt[i]), 0, + qdev_get_gpio_in(DEVICE(&s->a9mpcore), + FSL_IMX6_WDOGn_IRQ[i])); } /* ROM memory */ From patchwork Thu May 21 19:15:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187099 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1832375ilb; Thu, 21 May 2020 12:24:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2iOdnBRtKgeVTz0fZ0XKmeLOSVhihFUoE4nT17Fd7NPCWL2bBlIcZGCFl2U/EmGLw9J2C X-Received: by 2002:a37:57c5:: with SMTP id l188mr7670491qkb.273.1590089093426; Thu, 21 May 2020 12:24:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089093; cv=none; d=google.com; s=arc-20160816; b=r5Oh8iXzf70Ut4W7485ZMYBFwB4qb1/fyV+4xWboUYCNJd0v/Ghk6HBBs4ToP6pQFK f0SO4+rG2T7DrGPp6bJIHVc6aH7UR3m7lqeHsB01ZYX8cW3b0walUQ355l/s5yKVqhaA YUEu7pEKFQSrws3AVk6mqIqg/f0W4dCQ6qoGkr3WCNNj8s2zUpIBYGyf2eASG1dNkD2u IBY9frJkD1vOvWd8zQGlIzw7YHLTCXKgq3GDVspwlEPFRQcyN9eaGuI4xXB/hXgevPJ2 lDPr0MfTHfebUF/oMCVQ3JHHQeJ2tBiRWjPZ+lcDMk3SoE2E4O7oicXNuFtVClxYWci4 E2nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=d4s6zDnREhAoNMbKHlnL2nJicHbk/umExwSYklWFs54=; b=ZS2m5Wjpv0Lu/BR+0M7DMfG3QMouP25LG/DvRAKQ8mozq3EPUfpbtppgda/KxVj5TR +nxW4O2LCPMjIZ76T7In9MUNpTyZ3A51xasjWSkHuCdW+bOGv5vT3r88MRYrDxOj4RVr m66cXh2/KmklFQjMCQfibYsxKyahjWnueKqG+p1J/26dm9uLPV2dSlBHPzOqhKvlTM5d 2AX+hKgEgel8aECPx7vBR7sm6UcdO8wWD37yPKXhlJP6/FLIHSoomQB0caKxOyygkqry GZruRlJ8+eNPwCYe/NFoSFM6/NPS1up5wjdCg8eznoiS9e3CmzWpmFej75PTHEp2MGPx RrRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tflTDjYp; 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=pass (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 p22si3955927qke.40.2020.05.21.12.24.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:24: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=pass header.i=@linaro.org header.s=google header.b=tflTDjYp; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41144 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqoG-0001CR-Pe for patch@linaro.org; Thu, 21 May 2020 15:24:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgF-0002aH-SU for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:35 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34794) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgE-0000S0-Uc for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:35 -0400 Received: by mail-wr1-x443.google.com with SMTP id g12so6565549wrw.1 for ; Thu, 21 May 2020 12:16:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=d4s6zDnREhAoNMbKHlnL2nJicHbk/umExwSYklWFs54=; b=tflTDjYpC52AKWnAhfxxCXbmepuYlmubnTqxirCXniltCnkuvbrTBEzcofqu01ZBn8 oJ9UCAQWo0ZQTtsOskxs4Ud1E/A9ThHiXL7yMY3cSByenZBUm2t5jhj89Iu5RtvYvz9Z 45ND27B/IjrzJ7zYs7NVJM6ne4lrE1rlc/A10CK68cTNdoEO2wJ/sZGlCzfc+2zjPYrL l+dPCkYMSJtiTC0ILFgXpNDjzNSbeIAXr7pkFrS2dzmVGQizdYxMETcE5l/X26uVUgbF 2RlLaJ8oRKHugoo1jNBJY2XiP0Kpza9aaxlJFcpCrwRJJOy6/N/q3cY+w+bbOgxv82eL Eb2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=d4s6zDnREhAoNMbKHlnL2nJicHbk/umExwSYklWFs54=; b=r2S4Y9B6bZSjv4sv6es5ez5JaPMKyje6aNrWgLysOVaPPVszvZbbbgSSV484EuU42Q 6LyeOEvEM7+JCxREoUoOvbpmapAlu1bElvf36eTj6xxlnUMzFiYQiiMQt/O3191ZlrE6 f2/93h3vvS8UvhAQNt5/0U56Y6H3rZJxEY71Ra6JgiLHsRxteGB+qtrFaLk3DtHtD9H9 hVeKfUmMDdcW8+I/H/xij1ubD5F4uNB3VOcI5OM4HZ3F6pbntQ/Sjk60jl1EySIIIV7b jeO7tNp+L5OduupWu5HB5JqV5nPHUYDkkAr1PcjLIXVvCSuufII0Tqm0wRLv3Km+R8l5 bOtQ== X-Gm-Message-State: AOAM531+3N2rTZA75lGTUJFULHB6iCW0D/zyKvYVal1gVxYHrRVPS6J/ OW1nCniSshgKCVHz/UXxBlj2m7dw384rKg== X-Received: by 2002:a5d:530a:: with SMTP id e10mr75209wrv.303.1590088593322; Thu, 21 May 2020 12:16:33 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:32 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/29] hw/arm/fsl-imx6ul: Connect watchdog interrupts Date: Thu, 21 May 2020 20:15:58 +0100 Message-Id: <20200521191610.10941-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck With this commit, the watchdog on mcimx6ul-evk is fully operational, including pretimeout support. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-7-linux@roeck-us.net Signed-off-by: Peter Maydell --- hw/arm/fsl-imx6ul.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.20.1 diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index 56dfd7cecc9..3ecb212da6f 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -531,12 +531,22 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) FSL_IMX6UL_WDOG2_ADDR, FSL_IMX6UL_WDOG3_ADDR, }; + static const int FSL_IMX6UL_WDOGn_IRQ[FSL_IMX6UL_NUM_WDTS] = { + FSL_IMX6UL_WDOG1_IRQ, + FSL_IMX6UL_WDOG2_IRQ, + FSL_IMX6UL_WDOG3_IRQ, + }; + object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-support", + &error_abort); object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6UL_WDOGn_ADDR[i]); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt[i]), 0, + qdev_get_gpio_in(DEVICE(&s->a7mpcore), + FSL_IMX6UL_WDOGn_IRQ[i])); } /* From patchwork Thu May 21 19:15:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187101 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1832898ilb; Thu, 21 May 2020 12:25:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzq18yjLuDugqRTCQA83wUtqTtqX/lq4S0Kz5otpe0r/kMfVYENTxJWkI13g20dFwuqPYWA X-Received: by 2002:a25:76c9:: with SMTP id r192mr17729494ybc.366.1590089138852; Thu, 21 May 2020 12:25:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089138; cv=none; d=google.com; s=arc-20160816; b=jhSRGRP5n1LVKQqvkUbATEthS1Xf6KLqv9ZsXKa2fQL7GHmF6H6emavL+dNvEL0Hpx TPOfyWI4eHfTdbafjnAciXRWkFil71vm+h8YtVY4GMJroSTfCA7bybb6PYCKe2r8la+V bgn8eK6jI+c7cXMkwJrkCX470ukeuhi/Gd3H9/Cosq34sEo/rcH53v+URmoTqMxsumxG G+fuAGN/ztX8wXSg5+8VXi6aLLL34LFuy0XQn6ghLPQg2gRZhLI4DhbZKHloEiyLwuOb T97Rw2pc3sCkCfyNr8mk5ilMP92avCkZ3WVIsKEwSFONooQ+UdcUuoUmwMuMIlzCO4Dm 7eSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=2Mka/5Sz7nZUUrfy7Vlrx4tkhq1CXZaUSp5RTGkdVVc=; b=bfOf7VmMYaywTnvWgqhifQyMkFlLwg/AuEjm2k35hZBj60+fuTJ+p6HS37hFoWAGqk eKhqCf2UzhwcydFvDqk4QQ7k3S5ELDVL/6fzw41+2mLDMy1LnNCUc6KVbynEG/tZLM08 RhbW9OH2ISYRosUzXiaRI0T2V0O6tMfUQxLrw5N4ifHF1kDSmx/nedNjBsyDr+Zn7e3J nuRNj8HIP/6p6jQa3nzra9XWOnsPM9GEjIlb0L5d7MGMjNzHf0NrzTgA5DnumraoI/GC J58/LLBmXu2Vgs2KXs04usbjlsAKHBL+XNpcO9nScWm32kMq3mq8un3RZvw2lf8d129s DXVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=v2rX4itS; 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=pass (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 i17si5026236ybl.425.2020.05.21.12.25.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:25:38 -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=pass header.i=@linaro.org header.s=google header.b=v2rX4itS; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:44798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqp0-0003Hr-9w for patch@linaro.org; Thu, 21 May 2020 15:25:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgH-0002do-DH for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:37 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:45472) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgG-0000SC-9n for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:37 -0400 Received: by mail-wr1-x431.google.com with SMTP id c3so3527754wru.12 for ; Thu, 21 May 2020 12:16:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=2Mka/5Sz7nZUUrfy7Vlrx4tkhq1CXZaUSp5RTGkdVVc=; b=v2rX4itSwOvP7xr52jl0n0Z6/9me89mqWHmKmhhjgolAywV/5D1wHBJz5IBmULUzio YNqN3DoBMYjSdAL/bF3vBeXam5lzVGIY7UVz5h9dgF9EaMwatgx99nYgABxGQglGd0a5 ci4MDdu0ol+q0LLG7QUGO+cDQ+l/sSH5avW82HLTJ0o7LidSSn6mrq7WHPEpkw+V7Ys5 E2TQBNapWxMVvopF5HWy5LUfjH9RUAp6iCCcBXY5/HpDZ3MxPmaQ9noVHAeFcD4XR9eG GfQowiEnPxbMIf6X0hljk4SJ83V3dQfuzwpY3Zsuy1+hwysvjVVbuWTM6q6nDB4PYaea UMGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2Mka/5Sz7nZUUrfy7Vlrx4tkhq1CXZaUSp5RTGkdVVc=; b=lVHfGnrdB7KDQR5xBZ4uSE4HzoPRGgwOOanxUeszlNYttLncyr1Sed4ldOXEnqpr52 6+tCRXpTCrEOloRsKGKNBIqOfrPQ70syPO+Jhw4EpHgiXRhhxLgnZtEyFoqtz311yNex pUBvCmmDxBzyPIAGprOADeJ01jpYH8Dw2+YRmooovZLHI8GXX4Ynmsx1maY9tineNdeC AM9ACvyrWNkCvKszunaPtSRYpAR5worPSWzOa+3eHK2SB5J5ZQtjyZqtCxvC/kJD1gNY 9SGQKqTcsFw7HJJ8OE6c4uezoTsJ90Gveh7wQH9AHsombYANGRgmPROO9bJIseAVQGuj AmUA== X-Gm-Message-State: AOAM532nI3fx0eYyTiCDkc71+I0XuoKz2xxwTVJ8iawDw6L4Wh7vCll7 MebHVVxekjRbtCr5lyS14qgTOePn1xypjg== X-Received: by 2002:adf:b30f:: with SMTP id j15mr104163wrd.394.1590088594568; Thu, 21 May 2020 12:16:34 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:33 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/29] hw/arm/fsl-imx7: Instantiate various unimplemented devices Date: Thu, 21 May 2020 20:15:59 +0100 Message-Id: <20200521191610.10941-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck Instantiating PWM, CAN, CAAM, and OCOTP devices is necessary to avoid crashes when booting mainline Linux. Reviewed-by: Peter Maydell Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-8-linux@roeck-us.net Signed-off-by: Peter Maydell --- include/hw/arm/fsl-imx7.h | 16 ++++++++++++++++ hw/arm/fsl-imx7.c | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) -- 2.20.1 diff --git a/include/hw/arm/fsl-imx7.h b/include/hw/arm/fsl-imx7.h index 3a0041c4c26..47826da2b7e 100644 --- a/include/hw/arm/fsl-imx7.h +++ b/include/hw/arm/fsl-imx7.h @@ -113,6 +113,9 @@ enum FslIMX7MemoryMap { FSL_IMX7_IOMUXC_GPR_ADDR = 0x30340000, FSL_IMX7_IOMUXCn_SIZE = 0x1000, + FSL_IMX7_OCOTP_ADDR = 0x30350000, + FSL_IMX7_OCOTP_SIZE = 0x10000, + FSL_IMX7_ANALOG_ADDR = 0x30360000, FSL_IMX7_SNVS_ADDR = 0x30370000, FSL_IMX7_CCM_ADDR = 0x30380000, @@ -124,11 +127,24 @@ enum FslIMX7MemoryMap { FSL_IMX7_ADC2_ADDR = 0x30620000, FSL_IMX7_ADCn_SIZE = 0x1000, + FSL_IMX7_PWM1_ADDR = 0x30660000, + FSL_IMX7_PWM2_ADDR = 0x30670000, + FSL_IMX7_PWM3_ADDR = 0x30680000, + FSL_IMX7_PWM4_ADDR = 0x30690000, + FSL_IMX7_PWMn_SIZE = 0x10000, + FSL_IMX7_PCIE_PHY_ADDR = 0x306D0000, FSL_IMX7_PCIE_PHY_SIZE = 0x10000, FSL_IMX7_GPC_ADDR = 0x303A0000, + FSL_IMX7_CAAM_ADDR = 0x30900000, + FSL_IMX7_CAAM_SIZE = 0x40000, + + FSL_IMX7_CAN1_ADDR = 0x30A00000, + FSL_IMX7_CAN2_ADDR = 0x30A10000, + FSL_IMX7_CANn_SIZE = 0x10000, + FSL_IMX7_I2C1_ADDR = 0x30A20000, FSL_IMX7_I2C2_ADDR = 0x30A30000, FSL_IMX7_I2C3_ADDR = 0x30A40000, diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c index 119b281a500..d6cf7c48ce8 100644 --- a/hw/arm/fsl-imx7.c +++ b/hw/arm/fsl-imx7.c @@ -459,6 +459,30 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) */ create_unimplemented_device("sdma", FSL_IMX7_SDMA_ADDR, FSL_IMX7_SDMA_SIZE); + /* + * CAAM + */ + create_unimplemented_device("caam", FSL_IMX7_CAAM_ADDR, FSL_IMX7_CAAM_SIZE); + + /* + * PWM + */ + create_unimplemented_device("pwm1", FSL_IMX7_PWM1_ADDR, FSL_IMX7_PWMn_SIZE); + create_unimplemented_device("pwm2", FSL_IMX7_PWM2_ADDR, FSL_IMX7_PWMn_SIZE); + create_unimplemented_device("pwm3", FSL_IMX7_PWM3_ADDR, FSL_IMX7_PWMn_SIZE); + create_unimplemented_device("pwm4", FSL_IMX7_PWM4_ADDR, FSL_IMX7_PWMn_SIZE); + + /* + * CAN + */ + create_unimplemented_device("can1", FSL_IMX7_CAN1_ADDR, FSL_IMX7_CANn_SIZE); + create_unimplemented_device("can2", FSL_IMX7_CAN2_ADDR, FSL_IMX7_CANn_SIZE); + + /* + * OCOTP + */ + create_unimplemented_device("ocotp", FSL_IMX7_OCOTP_ADDR, + FSL_IMX7_OCOTP_SIZE); object_property_set_bool(OBJECT(&s->gpr), true, "realized", &error_abort); From patchwork Thu May 21 19:16:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187096 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1831047ilb; Thu, 21 May 2020 12:23:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx14V7Mrp8NbnZLmaraGFMBQ128DkXsx8mEj5bd7sT1KlII7v3zYLJUg9q9af+jUl5GH1wO X-Received: by 2002:a0c:9ad5:: with SMTP id k21mr314784qvf.2.1590088984302; Thu, 21 May 2020 12:23:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590088984; cv=none; d=google.com; s=arc-20160816; b=DMbJm7gei0QtqImuqJAegh0cdHHNX3LQ9RaJBhj6rW4ON5zKwYKsIYkyR15YfY6NEr ntE9+xH0lRNLXW71iznIO5uzNucKMClZmlcxTK2PKRMcvw8k94zo24T3sn8psmDPxR5W BIn0LK/23I48wo4IC3sUdNsft9ijgjYf1R8GrUhdO2h7oLsivXE6p/lPnEvFTLeFJR/5 Z43ErdVnrr47x1ReL9HBh9w3wmPd5riAYPiZoDYe/9sppvGA6X7VhHGQNp5ZNdBetsKo pZZHfUl6jPypk5wpEj+Oq9qy7/6Af8hEbgOkgp9aWgJq/ar4BPvmvig5gJL6cUKa/M/I 2j1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=7HVyutZ+jChpWjaCI3psmvFBqjyzPdDDfNGC17h6AVA=; b=cncPeaP0PW3VdZKxjheIh2kT7uPk0yYDWFA0wakSi0R8NB0qpyzxLm2Ib9G01Ki5CM ELFDMc55fwJmyWsGIX6vmQTzIiy5nAYFWBDkHaDwC3lnJVikNvS64aljfYcdSfo0xS1f ksxxSlkxAEpJDfRpyO/z5m8qcgYH6wNXVEqZPukJYx0hTUN7gffUtTTVJkHS8Y/ncI6K RDgSZrXNCmynEbwgevc/tnCHJeMm81+lSq3MHP33I1g7DHkfPgY7vzPfxdq5Ekf6cZRg HFa3ShTLs559LpOqhjNSMicePgxhKOCjbOm/1wsCWBkJsYB9ZdD9SriMLkfMIT16Uxmy ZWBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qFbw3Unt; 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=pass (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 o8si3807178qtp.74.2020.05.21.12.23.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:23:04 -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=pass header.i=@linaro.org header.s=google header.b=qFbw3Unt; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:32886 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqmV-0006C6-Qi for patch@linaro.org; Thu, 21 May 2020 15:23:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38092) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgI-0002gp-Bc for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:38 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:35796) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgH-0000SJ-Az for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:37 -0400 Received: by mail-wr1-x433.google.com with SMTP id x14so2391322wrp.2 for ; Thu, 21 May 2020 12:16:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=7HVyutZ+jChpWjaCI3psmvFBqjyzPdDDfNGC17h6AVA=; b=qFbw3Untmnfv7tRO+0usM6XxrlCUxMUg0b6chY+1yLx0yPHyL5SAZbM+ABHeC209wX vHTknaYu0bFHv+KV40+H9RSQ8hhRl7ugNFGjaGVrBMKxs1ixRhYYUMHXwlo8IjY2P7rc QYY36Zr9tNDwN6yxvxqcsxQTzGwUhzIxnKjHOw95v/MkxTL2nvBFYxFv/4qBJ9KX/rTg ifyO7UMvDifTNWruwHArgCEXS74gngVBCcIjfXga01W9wfWcKdvOq8KwpkKQOj+nN5KE w7j70AkNmUkzQhnDgxR1x/lNpu7k3WOaUbmXIk1uZXQjrxmZ67pFQeAAT3MqeuU3I/BO KeaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7HVyutZ+jChpWjaCI3psmvFBqjyzPdDDfNGC17h6AVA=; b=ob9VKZsMyltzUtTTQHbVMDV1QDkiDlgHMkwAZnyWUuIn22MwmeER/8iXmBIdNOUn20 q74Hn3cDZa/htizf6Fmq/5zb7B335SbZHI+K4zTjOZc4QY7uSMMfbz27qb9mHqOypZ0G uuONJIGVBz7NuBbvDXp7caZrgIyvZNVIJt71a0/FVUpTshkDpm0NXC2PKULaIdRbEWt6 6V2tGtFc5vnNpaXhn2zdSZudWmOxTYsHZ40Y/1DcFe6GJwwE3S2K35cXdaBu2fVd83f8 di0jxvGfMhF3MVB8Ecj3PiV8v17kmJCJrsVS9kBCMUC94Y3qmLXd7eF5AK/bciTyIZCu Xijw== X-Gm-Message-State: AOAM532X0OnE/6jc9mAxvJmwqZc1gn+zJU9FEE0MCLB70pYhHV+LiCXs PurdwDlVxugnux/jHoLcwMETlMjlk0LKNg== X-Received: by 2002:adf:e38e:: with SMTP id e14mr123880wrm.2.1590088595632; Thu, 21 May 2020 12:16:35 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:34 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/29] hw/arm/fsl-imx7: Connect watchdog interrupts Date: Thu, 21 May 2020 20:16:00 +0100 Message-Id: <20200521191610.10941-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Guenter Roeck i.MX7 supports watchdog pretimeout interupts. With this commit, the watchdog in mcimx7d-sabre is fully operational, including pretimeout support. Reviewed-by: Peter Maydell Signed-off-by: Guenter Roeck Message-id: 20200517162135.110364-9-linux@roeck-us.net Signed-off-by: Peter Maydell --- include/hw/arm/fsl-imx7.h | 5 +++++ hw/arm/fsl-imx7.c | 11 +++++++++++ 2 files changed, 16 insertions(+) -- 2.20.1 diff --git a/include/hw/arm/fsl-imx7.h b/include/hw/arm/fsl-imx7.h index 47826da2b7e..da977f9ffb4 100644 --- a/include/hw/arm/fsl-imx7.h +++ b/include/hw/arm/fsl-imx7.h @@ -228,6 +228,11 @@ enum FslIMX7IRQs { FSL_IMX7_USB2_IRQ = 42, FSL_IMX7_USB3_IRQ = 40, + FSL_IMX7_WDOG1_IRQ = 78, + FSL_IMX7_WDOG2_IRQ = 79, + FSL_IMX7_WDOG3_IRQ = 10, + FSL_IMX7_WDOG4_IRQ = 109, + FSL_IMX7_PCI_INTA_IRQ = 125, FSL_IMX7_PCI_INTB_IRQ = 124, FSL_IMX7_PCI_INTC_IRQ = 123, diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c index d6cf7c48ce8..89c3b64c066 100644 --- a/hw/arm/fsl-imx7.c +++ b/hw/arm/fsl-imx7.c @@ -447,11 +447,22 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) FSL_IMX7_WDOG3_ADDR, FSL_IMX7_WDOG4_ADDR, }; + static const int FSL_IMX7_WDOGn_IRQ[FSL_IMX7_NUM_WDTS] = { + FSL_IMX7_WDOG1_IRQ, + FSL_IMX7_WDOG2_IRQ, + FSL_IMX7_WDOG3_IRQ, + FSL_IMX7_WDOG4_IRQ, + }; + object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-support", + &error_abort); object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX7_WDOGn_ADDR[i]); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt[i]), 0, + qdev_get_gpio_in(DEVICE(&s->a7mpcore), + FSL_IMX7_WDOGn_IRQ[i])); } /* From patchwork Thu May 21 19:16:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187100 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1832406ilb; Thu, 21 May 2020 12:24:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxE/okdFJuywBitNs+lL+tNigjMM1m5xnE1RcskTv86KhU/S56mEQKlXZMOwrZQy7vj8hHE X-Received: by 2002:a37:5fc4:: with SMTP id t187mr10853429qkb.484.1590089095016; Thu, 21 May 2020 12:24:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089095; cv=none; d=google.com; s=arc-20160816; b=InDbUSAURmPLukCjsrAtyq/ap11YcRpBgz74docK9lwUK8rRNin3797L9+XysFMpRx NgEj1a+wPzQN9Q6lOhLz5ZgTShttUAAQ4ZK4ryS7igOkbdEh7hx4QodqYDu26p4yJp+8 V1yuyNa6v20FjGD2kuC5auS16UC2RYIQnx+TNOZlRxbZb2Wijr1sRTIGWnaZCyvcFusA n3Q7A0SQXaxe2B3c4a0Rd+v7f7/TKvEp+o2MZnGo02LrWTqjcNRfXKt1VSSbmNI1oEb/ fn1SSYEcp3exBxyewF9i5JA0gBdPKV1UC3tUWQ8Nyb6WntGbdEai2wqOLoASOaxqwQ2t 8fTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=MBRcZYhsnG0Nv84sXRAp1u7ZTCa04K6nc81c5uqmkh8=; b=uW3YJSG2wnfUbVXQuN+03I3FSIabiUHwMhA710BG8rOPpR8LxQze8VU1Y6v06xhiet dGrprlSBhaGZEd9fmIw1t52K3zDbNnNUy8b3F1NZNYkZBfjZQPwewsUVVu6tccyapJzS mgii+LQ4F0+Uf372jAN7+JEKUl8CLkqwIWHdDb2pnbRY7pY/mHPhXluE8aC2jUXba+ok JFdyqawF2MSYeuwMi3ukPoSW7rWdkYMrnoX436CPGHyU1hAc2NvXnre/UWL1mQMxTH5T 2H5sJXlBos+uc/hJwXy31x5aeYd2cMjUdcvlNjIEPazCdXpaU4+Oiyj49D3weFlW+Hx3 KQNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DpqotN24; 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=pass (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 j20si3866811qka.68.2020.05.21.12.24.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:24:55 -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=pass header.i=@linaro.org header.s=google header.b=DpqotN24; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41416 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqoI-0001Ud-Ea for patch@linaro.org; Thu, 21 May 2020 15:24:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38098) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgJ-0002jN-Iw for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:39 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:36035) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgI-0000SQ-Ex for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:39 -0400 Received: by mail-wr1-x444.google.com with SMTP id k13so7795742wrx.3 for ; Thu, 21 May 2020 12:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=MBRcZYhsnG0Nv84sXRAp1u7ZTCa04K6nc81c5uqmkh8=; b=DpqotN24rCXVOXyo2V0Fq9Cz24bRd25gK2MPTyEOqAL5zEp36gi3/9Wz+ybODSigcF uSD3fSHl7IdTio+6e3Pi8qfImYY1CfasSttpL34RkSwgPIyDnZzbkYGld8JLurduGwnm z/gQLJWL+ilnfT+2Chd8V/Iml1i8BEAGg/zS76xg1JHuYnIWKg6H5n4V5EaOkz9k1DGu gbqbvkQeeopAm/NIyPQav91+ttk3kDmqFhItvrSj7zw44VIne2c+/Bg+t4qxJBdgfHcY JsiW+K4K6xVbFeXmSmxUUh4XNfC+GAjAxQCQyrEFIxDzIOb+qUBRVMlPBbUghW0iMS0q WkHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MBRcZYhsnG0Nv84sXRAp1u7ZTCa04K6nc81c5uqmkh8=; b=UldF5Cdw8Km4+mEcgpxDDKg7YKXQAhV6gAbJ+l3AutUnnxbGjEl7Ym6SMb2p8iLpfs DKZwG6PE0NLsBbGz5LcmBS0/Ms8EWCb8Haj62QcmmL82JUzgPZpcWo5/0KnpRLpa1Oln zyvL+BPev4U3HrHxbM/sUHpRomyyTUv0MN7U0arrMAvGwG0VRmLSyWwcmb5AeT2j2eRN ds6jwGFz0s8vOURRk1okS0NxNyWTfwO23CrwdBXnTXObTuJ5NjPaxyeGDl7sQVFPFaF+ HPeWBdUv/MPFwFbB6LuRHEGxHUjdec/UZ1HHZ+2N28NrCqQFx6EMzjW9LhDVzoBkb82y JDyQ== X-Gm-Message-State: AOAM530aaqoJZZa3yKUuE7hGvmyr8ddgUP20LcPborlaKxkNCW1TkcNY e3pw0WLeyDj4uQTOof9Thw0NQ9TSGmDnlA== X-Received: by 2002:a5d:4d0f:: with SMTP id z15mr70137wrt.411.1590088596658; Thu, 21 May 2020 12:16:36 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:36 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/29] hw/arm/integratorcp: Replace hw_error() by qemu_log_mask() Date: Thu, 21 May 2020 20:16:01 +0100 Message-Id: <20200521191610.10941-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé hw_error() calls exit(). This a bit overkill when we can log the accesses as unimplemented or guest error. When fuzzing the devices, we don't want the whole process to exit. Replace some hw_error() calls by qemu_log_mask(). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 20200518140309.5220-2-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/integratorcp.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) -- 2.20.1 diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index 6d69010d06b..5fb54e5aa75 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -20,6 +20,7 @@ #include "exec/address-spaces.h" #include "sysemu/runstate.h" #include "sysemu/sysemu.h" +#include "qemu/log.h" #include "qemu/error-report.h" #include "hw/char/pl011.h" #include "hw/hw.h" @@ -144,8 +145,9 @@ static uint64_t integratorcm_read(void *opaque, hwaddr offset, /* ??? Voltage control unimplemented. */ return 0; default: - hw_error("integratorcm_read: Unimplemented offset 0x%x\n", - (int)offset); + qemu_log_mask(LOG_UNIMP, + "%s: Unimplemented offset 0x%" HWADDR_PRIX "\n", + __func__, offset); return 0; } } @@ -252,8 +254,9 @@ static void integratorcm_write(void *opaque, hwaddr offset, /* ??? Voltage control unimplemented. */ break; default: - hw_error("integratorcm_write: Unimplemented offset 0x%x\n", - (int)offset); + qemu_log_mask(LOG_UNIMP, + "%s: Unimplemented offset 0x%" HWADDR_PRIX "\n", + __func__, offset); break; } } @@ -394,7 +397,8 @@ static uint64_t icp_pic_read(void *opaque, hwaddr offset, case 5: /* INT_SOFTCLR */ case 11: /* FRQ_ENABLECLR */ default: - printf ("icp_pic_read: Bad register offset 0x%x\n", (int)offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); return 0; } } @@ -430,7 +434,8 @@ static void icp_pic_write(void *opaque, hwaddr offset, case 8: /* FRQ_STATUS */ case 9: /* FRQ_RAWSTAT */ default: - printf ("icp_pic_write: Bad register offset 0x%x\n", (int)offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); return; } icp_pic_update(s); @@ -504,7 +509,8 @@ static uint64_t icp_control_read(void *opaque, hwaddr offset, case 3: /* CP_DECODE */ return 0x11; default: - hw_error("icp_control_read: Bad offset %x\n", (int)offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); return 0; } } @@ -524,7 +530,8 @@ static void icp_control_write(void *opaque, hwaddr offset, /* Nothing interesting implemented yet. */ break; default: - hw_error("icp_control_write: Bad offset %x\n", (int)offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } } From patchwork Thu May 21 19:16:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187103 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1833537ilb; Thu, 21 May 2020 12:26:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxNHU0pt2tjaXor8DN6MFAS95M4RczY5tI4gcDoJdBmIv5WBU9Le4VWREywtN+xq5gKDcH2 X-Received: by 2002:a25:846:: with SMTP id 67mr17151495ybi.210.1590089197680; Thu, 21 May 2020 12:26:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089197; cv=none; d=google.com; s=arc-20160816; b=vsbjFrpNehAzdvw98TiZ5T8AE1o1fQcOqGyKcyFbwAgUgZ/nHRs1eDxSkG3OYGC3n2 Hk3CjN/XDhnDvLwDRyCcYsnusMOD5S1PvKO9K18MJQXc1downMpruSAtHjbJ0D1RZXNS XjbChHeFOsBSLDatxMdj7IpYNaaFWw6LWiUreG9DswmZjnHebYvbjEji1bJfvQFOS1YY //xZUtKhVbC1vg7P3AKu3TjpDb4keZQdSLotyPQASZJmOyUaOM59/DNM7uyOOYjLozT3 6pTHLNES4K7/skmndDaDfCZrkYnYUKbUGAl8rFUrTzzbXP1yYMARWXCMLNdSnRUwEP7K w2Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=P9KCQG/WS9GdDGHqO3MaEt12NQUl4WXAVUVOE7KRnPs=; b=kAPx4ffsWI99VpaBUNIcp/QLADNisr19Y1fFd+Ec3J9ZevkVKl1IfSGoKFBF2jZSJy LW0zWj0xCDSwCEEnVYGqaBI2BCSf0Q4At0bkXYVfot2kCDkZQD6vwllqZKcbqHgqg6mp P/bD8HgOyGp+poRHVMSebrDB9SKLvs4Sg53Yh9ItW+bh8gkr/yEpd55v/E3Esqinj533 PDjT9XLRWAmIJM6eOnPn2Ok9LBU5YRov4MEIR99WAZkN+DOrKaSa/DwiqmjL/bT+AsSF Sv3NM+M2Br+7smBQ+Po+2/2OuUCahTydY1oQ3BkfM6WEbe36ub3C5lztBxi8AnxdzPz7 z84g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wZpnMc2b; 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=pass (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 85si5846600ybf.24.2020.05.21.12.26.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:26:37 -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=pass header.i=@linaro.org header.s=google header.b=wZpnMc2b; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqpx-0006Af-5I for patch@linaro.org; Thu, 21 May 2020 15:26:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgK-0002m5-OH for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:40 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:42182) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgJ-0000SX-Gy for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:40 -0400 Received: by mail-wr1-x441.google.com with SMTP id s8so7744747wrt.9 for ; Thu, 21 May 2020 12:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=P9KCQG/WS9GdDGHqO3MaEt12NQUl4WXAVUVOE7KRnPs=; b=wZpnMc2byuMVHZNKWjRinyea4nLfOfujfXhtk+o9ZuosQYyCYk1RRKTRpO2KXLA1Bf LNr8zFYL/8n9MlvZPIpUhlzmiD+2JI2LpZqed3YkDj+X4t+78jgT+MCv5L+XUxaELbua VTufdJ8yUbS95mRmbFFt3dT9RS2oULmAWZ8kCByttdSdk5ZDSu0dOvUSWAePpz1q0xaX cyqVBV+3gh3DOM9uGIqfBoRm1T1n/XYl9Jnqw2XJKKgHUbFrvVBUeWneZIB4FNwC36P+ za0kbBGTPrfBM0QrVCscAHuOPNtc3ppKH7CnsMzIH3H7Eb606JALN6sM12wL3Zm6puDW sbNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P9KCQG/WS9GdDGHqO3MaEt12NQUl4WXAVUVOE7KRnPs=; b=gjoarppEph9ZR7JzgNccngX/7NNf0Ob/qw9qqg08PTxKga7T5uf6326muRzfxPVWD8 odLgJupf6WY59oO1IfdkGc43Pg9ebJ+p8jum4nDPXaaDikfJdkh7Dvuiz5+CkaCtN85y tx/UKcbjcuIA9JNo7TZydOwK803qnpLvnBek4+lUXZLX5fhnKSYb1odSgFEtXRDg1Ru9 DZ8ZV2B5AJwrJwazxzJUFWvIeWtnYLBjKM6PUCq8D8gjAJTYZWoQOsan9N7+DJm6KzkT e7Fooh6jLteq8HER5eoquEEcgk4qCe1QWb5dcBbZ5mpj1d88qE2Q8N77ZxhIq+SUlP1/ 9iKQ== X-Gm-Message-State: AOAM530T4s4n/HRpAk0qGxSOYX+RecS/GVZJ0mjeEvb5SblasKilzEJh 6L7pfzAK3th1nGmbqy0g4h9AQejNwXMNiA== X-Received: by 2002:adf:fb08:: with SMTP id c8mr71268wrr.421.1590088597852; Thu, 21 May 2020 12:16:37 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:37 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/29] hw/arm/pxa2xx: Replace hw_error() by qemu_log_mask() Date: Thu, 21 May 2020 20:16:02 +0100 Message-Id: <20200521191610.10941-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé hw_error() calls exit(). This a bit overkill when we can log the accesses as unimplemented or guest error. When fuzzing the devices, we don't want the whole process to exit. Replace some hw_error() calls by qemu_log_mask(). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 20200518140309.5220-3-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/pxa2xx_gpio.c | 7 ++++--- hw/display/pxa2xx_lcd.c | 8 +++++--- hw/dma/pxa2xx_dma.c | 14 +++++++++----- 3 files changed, 18 insertions(+), 11 deletions(-) -- 2.20.1 diff --git a/hw/arm/pxa2xx_gpio.c b/hw/arm/pxa2xx_gpio.c index f8df3cc2279..a01db54a518 100644 --- a/hw/arm/pxa2xx_gpio.c +++ b/hw/arm/pxa2xx_gpio.c @@ -9,7 +9,6 @@ #include "qemu/osdep.h" #include "cpu.h" -#include "hw/hw.h" #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/sysbus.h" @@ -199,7 +198,8 @@ static uint64_t pxa2xx_gpio_read(void *opaque, hwaddr offset, return s->status[bank]; default: - hw_error("%s: Bad offset " REG_FMT "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } return 0; @@ -252,7 +252,8 @@ static void pxa2xx_gpio_write(void *opaque, hwaddr offset, break; default: - hw_error("%s: Bad offset " REG_FMT "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } } diff --git a/hw/display/pxa2xx_lcd.c b/hw/display/pxa2xx_lcd.c index 464e93161a2..d5f2e82a4ec 100644 --- a/hw/display/pxa2xx_lcd.c +++ b/hw/display/pxa2xx_lcd.c @@ -11,7 +11,7 @@ */ #include "qemu/osdep.h" -#include "hw/hw.h" +#include "qemu/log.h" #include "hw/irq.h" #include "migration/vmstate.h" #include "ui/console.h" @@ -407,7 +407,8 @@ static uint64_t pxa2xx_lcdc_read(void *opaque, hwaddr offset, default: fail: - hw_error("%s: Bad offset " REG_FMT "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } return 0; @@ -562,7 +563,8 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset, default: fail: - hw_error("%s: Bad offset " REG_FMT "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } } diff --git a/hw/dma/pxa2xx_dma.c b/hw/dma/pxa2xx_dma.c index 88ed4b6ff1f..8a2eeb32bc3 100644 --- a/hw/dma/pxa2xx_dma.c +++ b/hw/dma/pxa2xx_dma.c @@ -9,6 +9,7 @@ */ #include "qemu/osdep.h" +#include "qemu/log.h" #include "hw/hw.h" #include "hw/irq.h" #include "hw/qdev-properties.h" @@ -268,7 +269,8 @@ static uint64_t pxa2xx_dma_read(void *opaque, hwaddr offset, unsigned int channel; if (size != 4) { - hw_error("%s: Bad access width\n", __func__); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad access width %u\n", + __func__, size); return 5; } @@ -315,8 +317,8 @@ static uint64_t pxa2xx_dma_read(void *opaque, hwaddr offset, return s->chan[channel].cmd; } } - - hw_error("%s: Bad offset 0x" TARGET_FMT_plx "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); return 7; } @@ -327,7 +329,8 @@ static void pxa2xx_dma_write(void *opaque, hwaddr offset, unsigned int channel; if (size != 4) { - hw_error("%s: Bad access width\n", __func__); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad access width %u\n", + __func__, size); return; } @@ -420,7 +423,8 @@ static void pxa2xx_dma_write(void *opaque, hwaddr offset, break; } fail: - hw_error("%s: Bad offset " TARGET_FMT_plx "\n", __func__, offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); } } From patchwork Thu May 21 19:16:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187106 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1834959ilb; Thu, 21 May 2020 12:28:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/sPVFyC2iuAU7og+TMSYTb/TBcwvGPO/joAxeplJ8IZuwnM1ChRLGFI0LOtPXXqp6cht9 X-Received: by 2002:a25:7607:: with SMTP id r7mr17841559ybc.493.1590089320883; Thu, 21 May 2020 12:28:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089320; cv=none; d=google.com; s=arc-20160816; b=jyAJDj/wx5NsPomRHGQhHHLdaV3Qwab3opBFxI/fYVSCtqpCnogOf8Xao0b2BTtYzn fYWJoqh37QJuNdwg5rskxQPIUFHID885QPPECxkFMZhZo/LQ8XMMM5NlVAZunq2nPRIj lGV9z3WxbSYl0KwM2Hja+/X4UU4+ipln48ruqcFk33Wy/nMCeV6NjcfuAXuY/ViAAJY1 rkvuIiBsDIkGeucc/JLjz8p4L0VRgbdUKumMLUmPTkDE2w78oQq8f8W3bAyLeO67OsFt sIeJoAaXHO2ataMrFldw0rbvcwpekWDWRHBkxCEXBdCtosv3/f7GHejKgmY8Z4CL5Owo GGSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=HzaGK+GNMjQeyxh3y1RKSO5ioG6l1/+Q0BYaSnO5M+E=; b=hPgk49BZryIsoNOx1j//2mze8f2yqiL2r2wgeUsCcswij6V0KshAvMd2dIjbl6VZF3 wFLQh1F9iNlYgAn9P1RpYmPnDtx+FnayI9MaxpD9bjCEr1QsNaOYB+dFnJcW1D1JO4B7 XoQ1BnkIdLwYb0cUKSNIYIUSlqEeJqavspKYdV6ZcU4Aq3NZY6CBSYZ4cyDApaCmF3C5 xn2C+V1+2SF7dYssp62w8r3jFxPU8u8VNF8x/fD2qn5t90nMiG9KKOdzaGNAcwLFRK09 OLAc5Lf1zOxKhOmEDUxoYpZTngQB2ZYZ74l1nhe5qRPiDWpmZzTk3S1NVguz+KkKSlkG iMIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ylVxpwfB; 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=pass (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 l11si6099829ybc.170.2020.05.21.12.28.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:28:40 -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=pass header.i=@linaro.org header.s=google header.b=ylVxpwfB; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:58514 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqrw-0001uE-D1 for patch@linaro.org; Thu, 21 May 2020 15:28:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgL-0002oh-Od for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:41 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:40796) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgK-0000Sg-J7 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:41 -0400 Received: by mail-wr1-x430.google.com with SMTP id e16so7748309wra.7 for ; Thu, 21 May 2020 12:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HzaGK+GNMjQeyxh3y1RKSO5ioG6l1/+Q0BYaSnO5M+E=; b=ylVxpwfB5PcRRi1xYgO+VpFN1Xh9WOVw6z7LXPoJTgXgyX1bOcMx7lg8XmICpoAPrn i2trhR9NesHFM58V6uB+DC5Thrhx0Hcfy2c8ERKChAkI+1sLvdHmYqzGDLppAwUiufGH RpDa5KQNAA1SmuDwkxa4FiecWnzhIn9JmQOPLo54669GLGZ9az1F9CqoFBsOBtZ4iL7T ZmQuLvZzRk/S1gZupH7C0qyAwgX93pQ7CL79uZLLios2+Nn2KnKmiK3V5Y9sCd1UJWf7 fMIc5Gvb3P9bqF4pujPLrQDuhpBx7+725CK7q6cItzVtITT18qeNTxDJUymvXQq0Nt0n e3rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HzaGK+GNMjQeyxh3y1RKSO5ioG6l1/+Q0BYaSnO5M+E=; b=K5EK/p+zSsFlzDZG55VG8VfLup2mwVVlcvST6Bs7b1wVPFZqAXtSJcaEjRJ0XYReMV fDUxToNLBkWj5vQSXp5BnsB5YYa8r77LzbAk0iOlNJmn2aYauwCiM007BrinC/rQXSM+ hrLDGgXQ74oJUshtAcB0o/mPpzjav+mTBIXD23k8eXES+Q+KsuQSo6+iRCTLs0heTcNX jXghH+obgMlJHrOinSqXGusBU6XMiqIlvxVUAUFakq+GXuRBcJhsQoDdiEsxk8hggcwa 2huDnHssxPzDV+GWW6d1E4IxjmlBQyXQtYR5r3wj2USeKedcHWQ/uxwtEIMEGxqeYyNq E2Cg== X-Gm-Message-State: AOAM530ByTvKtTtTuuwF/Cho/gdv01jFKNsUWXPFgmrjrm8MYD9zeF0v UHtyZHPymrq51RCvIPkzo3XXOpCz6YLiNw== X-Received: by 2002:a5d:52c6:: with SMTP id r6mr79510wrv.269.1590088598848; Thu, 21 May 2020 12:16:38 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:38 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 22/29] hw/char/xilinx_uartlite: Replace hw_error() by qemu_log_mask() Date: Thu, 21 May 2020 20:16:03 +0100 Message-Id: <20200521191610.10941-23-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x430.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé hw_error() calls exit(). This a bit overkill when we can log the accesses as unimplemented or guest error. When fuzzing the devices, we don't want the whole process to exit. Replace some hw_error() calls by qemu_log_mask(). Reviewed-by: Edgar E. Iglesias Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 20200518140309.5220-4-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/char/xilinx_uartlite.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 2.20.1 diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c index c6512285d73..ae4ccd00c70 100644 --- a/hw/char/xilinx_uartlite.c +++ b/hw/char/xilinx_uartlite.c @@ -23,7 +23,7 @@ */ #include "qemu/osdep.h" -#include "hw/hw.h" +#include "qemu/log.h" #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/sysbus.h" @@ -135,7 +135,8 @@ uart_write(void *opaque, hwaddr addr, switch (addr) { case R_STATUS: - hw_error("write to UART STATUS?\n"); + qemu_log_mask(LOG_GUEST_ERROR, "%s: write to UART STATUS\n", + __func__); break; case R_CTRL: From patchwork Thu May 21 19:16:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187105 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1834140ilb; Thu, 21 May 2020 12:27:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxyQLJepESVz040gmEK2LetOkuJUfVKZaa7k8eOmg8C+AKn3zaWlG1H4v9K7tobp14gkb8M X-Received: by 2002:a25:ad9e:: with SMTP id z30mr18398077ybi.60.1590089250622; Thu, 21 May 2020 12:27:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089250; cv=none; d=google.com; s=arc-20160816; b=ITwjamzWz0CMuXWoVjRFOL7Dmmic61ear/nFjv0NiowJwrYEV4igF5ypyhEE3fTpPo 1pt5wH5cD7FzeB4Br8sM2hTK/EUOWd78zsZoQJzaigP/0+N+ic1U7wh60BrqOlXY2OGG C5FFCWLeWwLshj6ql6/YLHjszBFLV6T0+P4fYahSQ4YDFBBsJjEPiI83aV8UEVLPePCt x/N1RddO9xa43jDiozrHUPWq6Or+3gcTnIMUX6h27vyhZvrl0NBPVqGLMtreUIWGoPAf oc/n8dm+F7w7253TTBDaL7qSBuvpf7lZyau8oKpYkNpM7G+OCx4kCKoFZRE2GJg1kYVH sqkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=sYpEGSBz8UzRlzjELlw5FyhD7AkAmPGjMh/mhZ4E1dI=; b=mGpgzI/R5AA/iPbGbkm80QqGMVWQQuuwDb66M4edORyao4e14wryNbf6DetegWBgE6 Vunv3UEB2Wm3DabjiMLKem302u55znK57dWvK+hAZKeKNhB76kwA/xXFscTtuQzwf6bo /Mcdb/w+PGC6KtPd5g74gGXJcxsfUuFSQSE24WaLQ2P7N2aX1TjQMNSaphPqx3J/WPBB lqCdwEpmMc56lwyo6qRXYKZ57MzZlWSuLTDR2p6iTYP/W/diyWCeeX3WhxQkzBhsacV8 VhPiH+GpA/TzOSfD4OJxKQto+j6ZrMfZtV2FPYaMZjnCZfrT3M0ih62IVQdG50sVZwlc t0wA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DovtG7yB; 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=pass (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 d190si5921479ybc.434.2020.05.21.12.27.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:27:30 -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=pass header.i=@linaro.org header.s=google header.b=DovtG7yB; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:53482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqqo-00087h-3n for patch@linaro.org; Thu, 21 May 2020 15:27:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38132) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgN-0002sA-4p for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:43 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:46513) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgL-0000Sv-Je for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:42 -0400 Received: by mail-wr1-x442.google.com with SMTP id w7so7718362wre.13 for ; Thu, 21 May 2020 12:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sYpEGSBz8UzRlzjELlw5FyhD7AkAmPGjMh/mhZ4E1dI=; b=DovtG7yBxn4W4qb6J6Wrj9T10wH+P/ajnU26i6A5rE1g4U6TL3URs29SF75SUSZkRB KqD7YM9ot89UJi5HcCfXnDTs+OlZzddGl8jPulNstWhm8BbDPyu3BuLxn5Hv68qNda4y p8UTRvSszHcdMIWtwAvdDLOIpmgSoEu0wRpGN41pjQeY5oariTBxNo61jYkpTvmNIj+6 yI1V9+VSue65UI+VRii2e6tozYWsJBTU3rny8lzgRB0vc070c3qMgvYtsPECQSbE0ixA S6ORUJ9jyEr2SanR2ixfN65P91T/BSU3A091o1cdQY8QQKYCKPJpb4sPxwx03pgjbDmM vsYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sYpEGSBz8UzRlzjELlw5FyhD7AkAmPGjMh/mhZ4E1dI=; b=JCbi4S+bbbP6ZD0yAzYuzxp/jCYjXM7eB1RNrgy6vyLuCqgi+maJScUycgSgcRYYkk geKZ5mfTeCDMgReS5vcmQ/udggVSEXwH//TS1N4OwtPzpw70Vzb/U2LjUj9MJ9qCCOGp F2eI7vVcL845F/JNhM7yyJLax8rdDM0PL5tVfLSh0nLutIMHQhCKNLYQT9QFIWHo7uOO bi5u9yzJmhnteuUcNbX/qyK8LWPYQWh4kmGfqx26Upe2Kgx1pVFZ88YIDAJJbtkG9uAu PykPVAZmxXFt06hEvL4ohbp5AvgTr1Q38n/jI9HLPaTty+GiOfm2Pj57JEZJAr1utisT hFAQ== X-Gm-Message-State: AOAM530PPRVpvbHIdbILJ0Eo74tLzJwc1Ey32tj7zy1nNpwvqyjNppvq DwNbxCc4Fz3rp1DdsBbK66vg7dIK6d5JdQ== X-Received: by 2002:adf:f601:: with SMTP id t1mr88382wrp.207.1590088599828; Thu, 21 May 2020 12:16:39 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:39 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/29] hw/timer/exynos4210_mct: Replace hw_error() by qemu_log_mask() Date: Thu, 21 May 2020 20:16:04 +0100 Message-Id: <20200521191610.10941-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé hw_error() calls exit(). This a bit overkill when we can log the accesses as unimplemented or guest error. When fuzzing the devices, we don't want the whole process to exit. Replace some hw_error() calls by qemu_log_mask(). Per the datasheet "Exynos 4412 RISC Microprocessor Rev 1.00" Chapter 25 "Multi Core Timer (MCT)" figure 1 and table 4, the default value on the APB bus is 0. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-id: 20200518140309.5220-5-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/timer/exynos4210_mct.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) -- 2.20.1 diff --git a/hw/timer/exynos4210_mct.c b/hw/timer/exynos4210_mct.c index 570cf7075bc..29a4b10676a 100644 --- a/hw/timer/exynos4210_mct.c +++ b/hw/timer/exynos4210_mct.c @@ -54,7 +54,6 @@ #include "qemu/osdep.h" #include "qemu/log.h" -#include "hw/hw.h" #include "hw/sysbus.h" #include "migration/vmstate.h" #include "qemu/timer.h" @@ -62,7 +61,6 @@ #include "hw/ptimer.h" #include "hw/arm/exynos4210.h" -#include "hw/hw.h" #include "hw/irq.h" //#define DEBUG_MCT @@ -1062,7 +1060,7 @@ static uint64_t exynos4210_mct_read(void *opaque, hwaddr offset, int index; int shift; uint64_t count; - uint32_t value; + uint32_t value = 0; int lt_i; switch (offset) { @@ -1158,8 +1156,8 @@ static uint64_t exynos4210_mct_read(void *opaque, hwaddr offset, break; default: - hw_error("exynos4210.mct: bad read offset " - TARGET_FMT_plx "\n", offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); break; } return value; @@ -1484,8 +1482,8 @@ static void exynos4210_mct_write(void *opaque, hwaddr offset, break; default: - hw_error("exynos4210.mct: bad write offset " - TARGET_FMT_plx "\n", offset); + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n", + __func__, offset); break; } } From patchwork Thu May 21 19:16:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187104 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1834106ilb; Thu, 21 May 2020 12:27:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZm8C5L+p27GUKM4IvplKrbP6YRxM94SRay/5u6jjFiy8Wg7AFgXCh9Y+S/gYX6xfQfLGT X-Received: by 2002:a25:c00e:: with SMTP id c14mr17714728ybf.356.1590089247785; Thu, 21 May 2020 12:27:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089247; cv=none; d=google.com; s=arc-20160816; b=MZrvS8idw2Gc1XfGNppp3TIMtGOK/T14vx5QT5CT1BegryOIEecYeTSwMD9UPbqShD WT9IaRHLyulGjMbeFjb8ListjOGJx20az8ZzTmlCcrigi/hQ6TzQgDAFxEa8vXNxH201 MxAmeBsnwcfxNigGk/T89BR7mKXQPrA+4N39vrnXnttsdujpuSRKqgZ6fwTFGRJb8fyS q5jRaRjHHDrr6nCPr4VtqeuqiCttsy1D4o8L3QmwlT32aOY2M0U0RrIRl3TGvwnbLMp9 KOfGdHNCrRe/dJUGNzTXUgPO/qDbmyGrzFW0mUzACOIx/YNaNyyvP5+c5zuVkVr3mGP4 24Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=YOXfD2pneFZXI2RE/b2MMOUSrD0bIY/e/3jbjeg7p5o=; b=ViPf6r5DzmTCMcIVVLcdUrW/zWlJs3Ywc9YN+W22O9lFRkxtKguqZjL+WqUexuNbJr UjfiwKjgOxM0WSvpCX2FYIQfBykPJdjHHA442CKSVtJLU0Ki0fYLOkEvfgC3YqGROz6I Px2Lw7QKXpieC3+ELpo/BZT/IaN8aeLQvyc6/kDvFAHDbKHXPR25fZHCHieUSBrh93bX m6ozmuhKhWV/uZ/5wXxdGKmltu7NCm9CSedG+FZui5BQGBZmbaAexDNxiYI7tQubv7hT tIcGaj11Z/pYmxJd+L1rfPX2XJesyv3MS2G5dptPZO5kwtAkAhq0D9gxv13TW/69iAA0 ZCvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bmzlmqcj; 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=pass (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 w78si6141049ybe.184.2020.05.21.12.27.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:27:27 -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=pass header.i=@linaro.org header.s=google header.b=bmzlmqcj; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:53036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqql-0007rj-6z for patch@linaro.org; Thu, 21 May 2020 15:27:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgN-0002ts-Oo for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:43 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:38701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgM-0000Te-M4 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:43 -0400 Received: by mail-wm1-x32c.google.com with SMTP id u12so2758361wmd.3 for ; Thu, 21 May 2020 12:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=YOXfD2pneFZXI2RE/b2MMOUSrD0bIY/e/3jbjeg7p5o=; b=bmzlmqcj9N1OqivZfhyLltPCg/Xfn88Ygb3/8HP2oZ5ZE2bsemkdA59jaXM7GcTrRu 3hOjHfW4U6BtmVvZA30IpkGTB0UCQgH2Pp3nw3lywiB97sksBc5gpdneyKpn9BcmLU+0 yxExqlPlOG9/d+uUEGdGjhPxKRnFYvXq6IrYfOb/QfYThRlkCp2bal0tmIrPiadE3CkT GzO2QIQkQ3STRIq/i2KmOK9KT6+ofweAu5x/hqa7eiJCR18Xx6olXLh9LeqjTawBXzOU O2JsP26oS5oQmI0u2RTQoJQZwPqg4unZd+a/pbFYVeHEO9u2mb/BYIV/VWjxMWHocb5P F6Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YOXfD2pneFZXI2RE/b2MMOUSrD0bIY/e/3jbjeg7p5o=; b=TaZATwlm1Kxclwc+ZgnDZ9U+mJ37bkko2OjHDBdiGJ1RVL79zKnW/iIIA1ft2VSyHx VIWOdGK6blAqoPxwDCvIDpc7quukzquWb1G6CiOwkGSG957hpq/UENuBUnZgaqL5QB7k 3P74WYeFX57DXfr63EyWxTDBpeayGg3hHB7+pMw0UYOmktbbWNe0vDvDGAnWd4176wvm oF0REvMbs4FHrfmTRosaRmUtpVsVpk31/1Z//ohh55IZz2gNSHAd5N3bg71XiUe3I8Cg 5d+dOzrfo2VBBUwOn4WEnkprN0KNC99u/V8qyLKKHf9WJVG7gl3xhqnYX5LjT21fApRM N51g== X-Gm-Message-State: AOAM531HQEcyPfE71lmFlNgNbK+oP+46mEpmf1eBi1oY0ir8fcbF17eI LpNHilsvCn7RKpJkWaHTPKwFaW7mDpRdxA== X-Received: by 2002:a1c:1904:: with SMTP id 4mr9689280wmz.125.1590088600884; Thu, 21 May 2020 12:16:40 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:40 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 24/29] ARM: PL061: Introduce N_GPIOS Date: Thu, 21 May 2020 20:16:05 +0100 Message-Id: <20200521191610.10941-25-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32c.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Geert Uytterhoeven Add a definition for the number of GPIO lines controlled by a PL061 instance, and use it instead of the hardcoded magic value 8. Suggested-by: Philippe Mathieu-Daudé Signed-off-by: Geert Uytterhoeven Reviewed-by: Philippe Mathieu-Daudé Message-id: 20200519085143.1376-1-geert+renesas@glider.be Signed-off-by: Peter Maydell --- hw/gpio/pl061.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) -- 2.20.1 diff --git a/hw/gpio/pl061.c b/hw/gpio/pl061.c index 2a828260bdb..6d3c36bc16c 100644 --- a/hw/gpio/pl061.c +++ b/hw/gpio/pl061.c @@ -36,6 +36,8 @@ static const uint8_t pl061_id_luminary[12] = #define TYPE_PL061 "pl061" #define PL061(obj) OBJECT_CHECK(PL061State, (obj), TYPE_PL061) +#define N_GPIOS 8 + typedef struct PL061State { SysBusDevice parent_obj; @@ -62,7 +64,7 @@ typedef struct PL061State { uint32_t cr; uint32_t amsel; qemu_irq irq; - qemu_irq out[8]; + qemu_irq out[N_GPIOS]; const unsigned char *id; uint32_t rsvd_start; /* reserved area: [rsvd_start, 0xfcc] */ } PL061State; @@ -112,7 +114,7 @@ static void pl061_update(PL061State *s) changed = s->old_out_data ^ out; if (changed) { s->old_out_data = out; - for (i = 0; i < 8; i++) { + for (i = 0; i < N_GPIOS; i++) { mask = 1 << i; if (changed & mask) { DPRINTF("Set output %d = %d\n", i, (out & mask) != 0); @@ -125,7 +127,7 @@ static void pl061_update(PL061State *s) changed = (s->old_in_data ^ s->data) & ~s->dir; if (changed) { s->old_in_data = s->data; - for (i = 0; i < 8; i++) { + for (i = 0; i < N_GPIOS; i++) { mask = 1 << i; if (changed & mask) { DPRINTF("Changed input %d = %d\n", i, (s->data & mask) != 0); @@ -364,8 +366,8 @@ static void pl061_init(Object *obj) memory_region_init_io(&s->iomem, obj, &pl061_ops, s, "pl061", 0x1000); sysbus_init_mmio(sbd, &s->iomem); sysbus_init_irq(sbd, &s->irq); - qdev_init_gpio_in(dev, pl061_set_irq, 8); - qdev_init_gpio_out(dev, s->out, 8); + qdev_init_gpio_in(dev, pl061_set_irq, N_GPIOS); + qdev_init_gpio_out(dev, s->out, N_GPIOS); } static void pl061_class_init(ObjectClass *klass, void *data) From patchwork Thu May 21 19:16:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187108 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1835483ilb; Thu, 21 May 2020 12:29:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkX3D5U6LCwdbMW+n2M3gPWfeJmdS1uS0cevm3jSA6raz2H/KCXM5AFNElVjyPQCq6wxMi X-Received: by 2002:a37:6654:: with SMTP id a81mr11429401qkc.55.1590089361162; Thu, 21 May 2020 12:29:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089361; cv=none; d=google.com; s=arc-20160816; b=E/ZkZbtSE+De7lbleTdpmj4pa8u70abw201mLUPAbpzoh7osojlxWArmPXSkrJMDSW rLweM3MGpU7Wqgy2bDmcPbanwMIrYEs/RuY7x0ewfo470AoGSk5WY9AhX05b7Qu4fFUM XMGD7VQTum0BxAZe3qSKYXmoxQ/iMRVvW+XUmYP3tGKKsvcbecLTG7xAnVQNtKA4QjoD 0zvRMOkbg5ocE8BQ+kRUq/yGFGJCKM7ypkR2t4R2o9qlHCmLd7VpRLHyyzOaarrIsYGQ HnSN00qPgJcP9sQ6iOIxxzJXlM/dR6sQPplIKdegSjenpAyJmBIXme0pxB+3aaCMByw4 nMjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=QclnVfbMD5AWwXuMc23KpxYEB+63sc4bwxzl9PH81Kc=; b=TThoPsPUZEMZXaCXMTQEorfldtDx+N1CGJfvqcZNyd2LR1kfDdS0V1xkGkIQ/7nt4c BtpDq+mAqblKVRIgOLw3Js3I7GZZRWXiHFsVGdDj+oRCAaK3oxOfarnEsSZDDD1JoYuF YnwINXkiMSqwGHFdw/pUPlBmREPuu5yTOO6W9cubaGgWEv8XjXX645I/W2EiQNH5pruH 0dALIKc5QtE1fb8V6Xy5s49BC+qzFb4eX0gLqZk0Xh91pnpjujaC9P7Cj6Xbi/iT7YBx I7DHR3GCi6+JRZRkt9rxvoER9ol02E6bGbBMu0vtsSsBI1u7/uHcJrMYlkyCHr8c/ZGe 8bYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="q00LdH/Q"; 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=pass (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 l5si4060681qke.234.2020.05.21.12.29.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:29:21 -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=pass header.i=@linaro.org header.s=google header.b="q00LdH/Q"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33440 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqsa-0003AA-MN for patch@linaro.org; Thu, 21 May 2020 15:29:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgO-0002uV-8U for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:44 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:35275) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgN-0000UE-Cp for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:43 -0400 Received: by mail-wr1-x444.google.com with SMTP id x14so2391574wrp.2 for ; Thu, 21 May 2020 12:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=QclnVfbMD5AWwXuMc23KpxYEB+63sc4bwxzl9PH81Kc=; b=q00LdH/Qnak1rTF4RpgBiLsbS142SFQf+ZWd8cWg++WHG4YJ7eH7Vg5jX3+UWlUYI0 OKrkRc4q9rmUZu0xMJjB+5rYV30FF/TLEZcLwqhqJRRVhCqRuEJeNKUDplkUHd48Hv+P Su1hDfkR0nwXN3jqf13f9s6MoFvRGrzusP75b27KHawaRiAUkqcjmCZ9qBI5jywqEK2L glhe35Iz6DacXUH5zHYjlwKBjcVlsxzVFecMTDmYNmtBzXvoJmIvUOaGBD1yrNi/qRLb zaRiFp+mknFT31F2FL4TeQse5sAkH7lxeCWkN3N8nuMniAh5zVsr8n9F6ImQviJvzj3+ rPgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QclnVfbMD5AWwXuMc23KpxYEB+63sc4bwxzl9PH81Kc=; b=C0S6isn4v8FwjXWXyqXH4o28CWpCUYHOsgOn211y2BIpobIHOdL552hMa80VN8CnjL 9PftO47JM3SixhA2quympGAznOU56jz3zdn0UXUmbrwKwRhu0ngP4P2KSdRMTs2Qynyn 0V1xpZIQ020Py0EfiN4n9FuTjhyV4gYZGvH5rhXHpT6CIA5fASiiZ3YEm9INv9AboD0Q WaDzUGZdAizpltgtnuJkO15iakavqlCSqQJ1VRFHIdqeyZb4dNi81NBeNKSAAS6qIya6 Dv+KoOjrTu+VyVZ7mqtYAu0fZZLEf55T8Zmb8xWI/QxF43UoCZLQYMfkHHjNsKx8p9Qz ZaNw== X-Gm-Message-State: AOAM533iCi+aUjYsn4O+AthkwrSZHFd4XATrb2iOywDDt5DXjM9uUtbc 5oQsaYQ02gO2g6qfOipVlXmY3EcTKpUj0A== X-Received: by 2002:a5d:4e41:: with SMTP id r1mr92132wrt.420.1590088601733; Thu, 21 May 2020 12:16:41 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:41 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 25/29] target/arm: Use tcg_gen_gvec_mov for clear_vec_high Date: Thu, 21 May 2020 20:16:06 +0100 Message-Id: <20200521191610.10941-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson The 8-byte store for the end a !is_q operation can be merged with the other stores. Use a no-op vector move to trigger the expand_clr portion of tcg_gen_gvec_mov. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson Message-id: 20200519212453.28494-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) -- 2.20.1 diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 991e451644c..4f6edb28927 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -496,14 +496,8 @@ static void clear_vec_high(DisasContext *s, bool is_q, int rd) unsigned ofs = fp_reg_offset(s, rd, MO_64); unsigned vsz = vec_full_reg_size(s); - if (!is_q) { - TCGv_i64 tcg_zero = tcg_const_i64(0); - tcg_gen_st_i64(tcg_zero, cpu_env, ofs + 8); - tcg_temp_free_i64(tcg_zero); - } - if (vsz > 16) { - tcg_gen_gvec_dup_imm(MO_64, ofs + 16, vsz - 16, vsz - 16, 0); - } + /* Nop move, with side effect of clearing the tail. */ + tcg_gen_gvec_mov(MO_64, ofs, ofs, is_q ? 16 : 8, vsz); } void write_fp_dreg(DisasContext *s, int reg, TCGv_i64 v) From patchwork Thu May 21 19:16:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187107 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1835100ilb; Thu, 21 May 2020 12:28:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxA31QmaeDTfSekFYz+acd0Ah95/bfwJHTPNUOM1clrfc6vYT17A63NhrtiTaLfqdO5XvNv X-Received: by 2002:a25:d18c:: with SMTP id i134mr18462685ybg.133.1590089330836; Thu, 21 May 2020 12:28:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089330; cv=none; d=google.com; s=arc-20160816; b=hlLjzZeBUlOetArtrAWXcdxt/g1tcj2LiYvXvk8aCZ7BqvkThKI20LmIqNqQAW51/H RUYfbKm/mGZHP2AnOnPQK9CmynPnz/bLhueCUp+mezMK1g6krXTdm1kqEZ90VSaGI+OO pFhntCvt0lvhyMzuul2cZjOo3sBtdJhzrUNQFVCpffAm6XmV4pSRoNomUa0u2CqKggLA 8vqxL8qbe5Ku/fMPyH+hbDhF5VD8WOoc+MSmk5iOTgRyCb7xkpYVr8eSm78/NrBK5eRg Yp/SRtRMyv8qe3iFpirWxsYjLpuX6NioFcTIvuSOlm7ciynFKYB4jTxJrUGTJvGSPSej Tz2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=6lARWAcGcGM1iXMRMByZiacWi/0jxcclvLVCQpWGN5I=; b=oubUbnEw0ctFjLfq73bO8B7lGi1bPc60JM0Z6D+zlKslFh/LrSxixp5Evy99lASF25 WXTBOKMbfnjfjkZzz/H0XFhDCsZamJ+UykrGbqTriBRdZg/TEwva3BzSdaWV6m7zVVLy k3xegNfzMGe0WU9pgXNGx6fUxwf18poPfsgx8A+7ORbszhBLV5EAK2++EDPOpWL9HKrI hWqKvXW2dJUp6kp0Fw9YHM+z1xBZkyraRzys8ZpoalfVxf8ahoR0VBANXT/1Jq4EazQd WpOWUelrtxx5ZON2vUh2Ps7DKne24r+HI6M0xVmWjO77CWDcc4yLMo8jHLS21SkV+AHP CHZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="BmGNT/oi"; 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=pass (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 i17si5031071ybl.425.2020.05.21.12.28.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:28:50 -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=pass header.i=@linaro.org header.s=google header.b="BmGNT/oi"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33738 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqs6-0003HN-9i for patch@linaro.org; Thu, 21 May 2020 15:28:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgP-0002y6-N5 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:45 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:34796) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgO-0000V8-JJ for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:45 -0400 Received: by mail-wr1-x444.google.com with SMTP id g12so6565931wrw.1 for ; Thu, 21 May 2020 12:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=6lARWAcGcGM1iXMRMByZiacWi/0jxcclvLVCQpWGN5I=; b=BmGNT/oiqmgQpXBq+5fFZcVtx8zi+EP0aBrdQ/tjg5NJYA+tXIU160PYRyXa3tlga6 MNpmP26aUMzdhrQt4kBApD79zrBHsRIQTngcBFwK1maIjmHaNUBX7FieOLHz5RgF7HgT gnhtBp3fBQSSCUunu8QBYB4FLM/Ue7qYe9chKisdqZKe2UYnw++xx9+Ud0qHed0jfjCb XeSw+xb5ZEIcRn07MKnPdlHca0to7yWApx64UMCW8YrxoWQrUoX19GyAn4W2cVZNN+R+ i/1ShZVZrAt70LjT1Up3OQz7ze44K26Nhc5s/ZJ8oD9SMx+sT1lgXX6OdqR5kcBtFGwD 1RLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6lARWAcGcGM1iXMRMByZiacWi/0jxcclvLVCQpWGN5I=; b=Si9RkxC0MD34HIPbhsoVNz3yi4iibYXogFrEfHT/mD7MZreK9sqpFMI/yB2rLmgIRU AeoJ91caKz8TNCT768sdvhrBdigEJWmRRa6xLL3GD7wYq5Gi9XzgAcopoGX5Dnn3VtLv W29ajZEhDPUK4FMJOoOu1AW1jzmSQPLdU8I5XUd5v1HjFGzLkAxMYGmnMWvsMPVDkvS3 oqAsBDwlCJFRUYh3Is021J/QNRJhEy7/+6KgAW8BTT1pfRKU34Km9IS0eyO4bJeKORXa 52ZGL1b8Gvx9iIByjLIz/N34kLLmkbJ7xcZWOmvsospaEKIwKtKAwYTOls4HkF3LN3j/ CFXA== X-Gm-Message-State: AOAM531KQNBLd9kq7jtUYaOJ0hiuUdzV7IZCCsy0pPDAQvDOJST2ydos Oocq/uwsdpnCTx1kLiZmp/5NNdpqV0vI6w== X-Received: by 2002:adf:e90b:: with SMTP id f11mr97028wrm.364.1590088602951; Thu, 21 May 2020 12:16:42 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:42 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 26/29] target/arm: Use clear_vec_high more effectively Date: Thu, 21 May 2020 20:16:07 +0100 Message-Id: <20200521191610.10941-27-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Do not explicitly store zero to the NEON high part when we can pass !is_q to clear_vec_high. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson Message-id: 20200519212453.28494-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 53 +++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 21 deletions(-) -- 2.20.1 diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4f6edb28927..874f3eb4f97 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -900,11 +900,10 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size) { /* This always zero-extends and writes to a full 128 bit wide vector */ TCGv_i64 tmplo = tcg_temp_new_i64(); - TCGv_i64 tmphi; + TCGv_i64 tmphi = NULL; if (size < 4) { MemOp memop = s->be_data + size; - tmphi = tcg_const_i64(0); tcg_gen_qemu_ld_i64(tmplo, tcg_addr, get_mem_index(s), memop); } else { bool be = s->be_data == MO_BE; @@ -922,12 +921,13 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size) } tcg_gen_st_i64(tmplo, cpu_env, fp_reg_offset(s, destidx, MO_64)); - tcg_gen_st_i64(tmphi, cpu_env, fp_reg_hi_offset(s, destidx)); - tcg_temp_free_i64(tmplo); - tcg_temp_free_i64(tmphi); - clear_vec_high(s, true, destidx); + if (tmphi) { + tcg_gen_st_i64(tmphi, cpu_env, fp_reg_hi_offset(s, destidx)); + tcg_temp_free_i64(tmphi); + } + clear_vec_high(s, tmphi != NULL, destidx); } /* @@ -6934,7 +6934,6 @@ static void disas_simd_ext(DisasContext *s, uint32_t insn) read_vec_element(s, tcg_resh, rm, 0, MO_64); do_ext64(s, tcg_resh, tcg_resl, pos); } - tcg_gen_movi_i64(tcg_resh, 0); } else { TCGv_i64 tcg_hh; typedef struct { @@ -6964,9 +6963,11 @@ static void disas_simd_ext(DisasContext *s, uint32_t insn) write_vec_element(s, tcg_resl, rd, 0, MO_64); tcg_temp_free_i64(tcg_resl); - write_vec_element(s, tcg_resh, rd, 1, MO_64); + if (is_q) { + write_vec_element(s, tcg_resh, rd, 1, MO_64); + } tcg_temp_free_i64(tcg_resh); - clear_vec_high(s, true, rd); + clear_vec_high(s, is_q, rd); } /* TBL/TBX @@ -7003,17 +7004,21 @@ static void disas_simd_tb(DisasContext *s, uint32_t insn) * the input. */ tcg_resl = tcg_temp_new_i64(); - tcg_resh = tcg_temp_new_i64(); + tcg_resh = NULL; if (is_tblx) { read_vec_element(s, tcg_resl, rd, 0, MO_64); } else { tcg_gen_movi_i64(tcg_resl, 0); } - if (is_tblx && is_q) { - read_vec_element(s, tcg_resh, rd, 1, MO_64); - } else { - tcg_gen_movi_i64(tcg_resh, 0); + + if (is_q) { + tcg_resh = tcg_temp_new_i64(); + if (is_tblx) { + read_vec_element(s, tcg_resh, rd, 1, MO_64); + } else { + tcg_gen_movi_i64(tcg_resh, 0); + } } tcg_idx = tcg_temp_new_i64(); @@ -7033,9 +7038,12 @@ static void disas_simd_tb(DisasContext *s, uint32_t insn) write_vec_element(s, tcg_resl, rd, 0, MO_64); tcg_temp_free_i64(tcg_resl); - write_vec_element(s, tcg_resh, rd, 1, MO_64); - tcg_temp_free_i64(tcg_resh); - clear_vec_high(s, true, rd); + + if (is_q) { + write_vec_element(s, tcg_resh, rd, 1, MO_64); + tcg_temp_free_i64(tcg_resh); + } + clear_vec_high(s, is_q, rd); } /* ZIP/UZP/TRN @@ -7072,7 +7080,7 @@ static void disas_simd_zip_trn(DisasContext *s, uint32_t insn) } tcg_resl = tcg_const_i64(0); - tcg_resh = tcg_const_i64(0); + tcg_resh = is_q ? tcg_const_i64(0) : NULL; tcg_res = tcg_temp_new_i64(); for (i = 0; i < elements; i++) { @@ -7123,9 +7131,12 @@ static void disas_simd_zip_trn(DisasContext *s, uint32_t insn) write_vec_element(s, tcg_resl, rd, 0, MO_64); tcg_temp_free_i64(tcg_resl); - write_vec_element(s, tcg_resh, rd, 1, MO_64); - tcg_temp_free_i64(tcg_resh); - clear_vec_high(s, true, rd); + + if (is_q) { + write_vec_element(s, tcg_resh, rd, 1, MO_64); + tcg_temp_free_i64(tcg_resh); + } + clear_vec_high(s, is_q, rd); } /* From patchwork Thu May 21 19:16:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187109 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1836188ilb; Thu, 21 May 2020 12:30:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJykQtiZCLyHRMRfWMGswJAnEgsOPRiHZE/L/lI8pd4UKNJtmTRXlBlS1V0tkqfc6Ytpo/dV X-Received: by 2002:a05:620a:1316:: with SMTP id o22mr11069731qkj.422.1590089419091; Thu, 21 May 2020 12:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089419; cv=none; d=google.com; s=arc-20160816; b=HQUMNsuFPw2QquQmYiXuIDZ0hkjXpK1DBWx7haAkU+0At9oy86bvUEnOs9pcIPuftO lOMLxIQgQC8+RHE9u6WoE/+0gjRYm5CHFAJvZKBPqlQNBdlwDUMCQ/Yov9Bw+Dd9t2/P 0qT9aabqQP3g/yJrOxT6pDClgWhNU0EKoRFzamO0M3/BO0rRSH5N756NDM+BVZjLFqzn xHR9okDpJfd3o+/nXSC25PUfpbZHQBG4nZEWfhVAxt90i0qrXmOSaWDEG8R+ezUoiveL VPWMWiI+r0swbGDoxOvd2Rym0qnBc6Xg/v9zUxPwhUBCBDT0m8VJKHZ/5rpBaJi0aaAM sQcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=L3EBlkC846TlitKEKsoLOy71erLb9L5nYlku8kDSWCM=; b=utqNyaF6WSG7pmabdyH2dqlBML5/EuZsy9k05urFi354vFHD4QfGPU87bJvG9Z9fXN WwQNQjN1SAD+TaVh5MFbbfsQ7+OrpEudo6Fim/bpNjUy2egQnKbtBppLlCIe3apeomSn YF9V7TBmzX0CDqeFh6HjAgJweKZhp5Hp5Nb0xkYM0ULUvSuGLMe/zC7tyfpmVc2bGMr2 TFXaBSDrtwkKnrWgNRte5uGA8ZSKPceJv11YqEAjFhDvEtxA1zegN8zjsFyl5iJoOEEA tGaLvREZa1YjOuZNMB9dZVBsO8W/oYfA4LWOD0+bKvB7PuzMuEbEz3Zzf5r+43VV/JBj U87g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=W9L3eJ+E; 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=pass (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 72si3424536qki.114.2020.05.21.12.30.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:30: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=pass header.i=@linaro.org header.s=google header.b=W9L3eJ+E; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:39080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqtW-0006Hf-IT for patch@linaro.org; Thu, 21 May 2020 15:30:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgQ-00030u-Qn for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:46 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:33453) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgP-0000VK-Q1 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:46 -0400 Received: by mail-wr1-x42a.google.com with SMTP id l11so7811112wru.0 for ; Thu, 21 May 2020 12:16:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=L3EBlkC846TlitKEKsoLOy71erLb9L5nYlku8kDSWCM=; b=W9L3eJ+ElVnuWx37iAUFLxZDCogjYBrCxLitsboj4Kkfl17IRFGgjAlgqhkf5PMiWv Qaq7sMryOL/TRS061Tb8YOFGjaoVc8m5Omru2htNhasxYXW3bAG0QnFrssfH3F1tNWjz 5eWqUQ7PeErDrHt8W2OmnEZsOIT30UF1/Rsn7mqOoBn9i2s7FcMlJqMWO46KOYo3/qMz FEJNj2DvOPYIhshTLz1zn2KY7d5WppK5VYBdgtcIM+h5bhGTbDlb36FzS94/ZMKxVr2Q XDTtfVyy4zK1PX/Y2VUzcOrLe5t4iTifGMPdFIIJG7XH9GfqZRx/thE+dOyRdsIn4Oxn jnkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L3EBlkC846TlitKEKsoLOy71erLb9L5nYlku8kDSWCM=; b=NBf9d0BcOWNpTKPHy+fshVwqUwubl4iM2MYIRo/DUfmNVpTKXYXXo1j5IK/gIEIJVA AUg/MqJLmYqkCXcg4LhDJ1oMzo71rwALD3CHsPajIn0LVebH9ESHeb9DwPQEDELLya+/ EOxWOwHcintGveGcSaSKlV6mr3sneGGVDU3CEjOGO5stq3s/xVKnYQMeLddCP3v/PELI TMvJKeSMgMz2LX+ei5MJzjN3RioTInkxIQ4PfmYwF4biLUateNf1Glg/9IqlDdcQyEc6 0YDj4mhCf/v3WEJUbAMUHREThtQ3jBmwsUv2qjjwSG0C+wV0dn9PyQWW20VZN4AIGV9c BY9Q== X-Gm-Message-State: AOAM5329UZEd1kPejnxnfSvUdEpgHoE5SvgK3rSs3HvQCNeo4DknQFOC NFwYCbiZLKZLu2kL/rLTYoaMVpcoXeM7mA== X-Received: by 2002:a05:6000:114e:: with SMTP id d14mr112709wrx.110.1590088603861; Thu, 21 May 2020 12:16:43 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:43 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 27/29] target/arm: Allow user-mode code to write CPSR.E via MSR Date: Thu, 21 May 2020 20:16:08 +0100 Message-Id: <20200521191610.10941-28-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Using the MSR instruction to write to CPSR.E is deprecated, but it is required to work from any mode including unprivileged code. We were incorrectly forbidding usermode code from writing it because CPSR_USER did not include the CPSR_E bit. We use CPSR_USER in only three places: * as the mask of what to allow userspace MSR to write to CPSR * when deciding what bits a linux-user signal-return should be able to write from the sigcontext structure * in target_user_copy_regs() when we set up the initial registers for the linux-user process In the first two cases not being able to update CPSR.E is a bug, and in the third case it doesn't matter because CPSR.E is always 0 there. So we can fix both bugs by adding CPSR_E to CPSR_USER. Because the cpsr_write() in restore_sigcontext() is now changing a CPSR bit which is cached in hflags, we need to add an arm_rebuild_hflags() call there; the callsite in target_user_copy_regs() was already rebuilding hflags for other reasons. (The recommended way to change CPSR.E is to use the 'SETEND' instruction, which we do correctly allow from usermode code.) Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200518142801.20503-1-peter.maydell@linaro.org --- target/arm/cpu.h | 2 +- linux-user/arm/signal.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 5d995368d4f..677584e5da0 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1230,7 +1230,7 @@ void pmu_init(ARMCPU *cpu); #define CACHED_CPSR_BITS (CPSR_T | CPSR_AIF | CPSR_GE | CPSR_IT | CPSR_Q \ | CPSR_NZCV) /* Bits writable in user mode. */ -#define CPSR_USER (CPSR_NZCV | CPSR_Q | CPSR_GE) +#define CPSR_USER (CPSR_NZCV | CPSR_Q | CPSR_GE | CPSR_E) /* Execution state bits. MRS read as zero, MSR writes ignored. */ #define CPSR_EXEC (CPSR_T | CPSR_IT | CPSR_J | CPSR_IL) diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c index d96fc27ce11..8020c80acb5 100644 --- a/linux-user/arm/signal.c +++ b/linux-user/arm/signal.c @@ -546,6 +546,7 @@ restore_sigcontext(CPUARMState *env, struct target_sigcontext *sc) #ifdef TARGET_CONFIG_CPU_32 __get_user(cpsr, &sc->arm_cpsr); cpsr_write(env, cpsr, CPSR_USER | CPSR_EXEC, CPSRWriteByInstr); + arm_rebuild_hflags(env); #endif err |= !valid_user_regs(env); From patchwork Thu May 21 19:16:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187110 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1836674ilb; Thu, 21 May 2020 12:30:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzzPC9x+AW3srNoW3+xSSjA3kNkA6dEqsyV27Miu5BMWL+FGQ+0ZY851UZMboAsrlwR1DDX X-Received: by 2002:a37:bd81:: with SMTP id n123mr11034541qkf.57.1590089453753; Thu, 21 May 2020 12:30:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089453; cv=none; d=google.com; s=arc-20160816; b=tSAga5JIHhylhn2ceHCu3iACAhQKrMfiMsaZULkbNMuiH8Z81PDOUE/wr7S2yaitYK 7CKQbQ/FEkS4mM88DD3Y2IVVaLWWyuIzEP8bjZB6cq8uwHnYc73tXrY/Grk8SgQ4ooKn vYZTzBBtdvzeSpitAUyNYMVceVgYLESeaXu8gv1uEz7gE27k0zsbY2+/+9dQRqjCEfcN pbvqGeHzV5T23FTBDwndnFacVkHhX/ikz2N24bMMz8F+5y55H+Djurqh8blZuZFldOgr Z40dJH5p1Y5a1WIP0nG+UDg6F+LzE1dOHdYXI+HFW1l29bN1UP7N1JnqzN47D5JHiHT2 6iig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=9kKd+uI5z6jR/8DRUg4wAhiNt2UeI3CInnSxtouYWeE=; b=yPXGa746Hkg2UG5FCHo4AlZH3Od4CNf3mjaAHpDTr2A7S5joKhNwR4zLzdIcxw68wL o4j2U4VUbhi97HBKQhXMcp7uy5LbDgvw+iz932n/JoG0T1BaltMFneyU6On4gRyrmwV1 MzKqgocNCQgLdWpqyvln6ARHlviRAd+GH7KAiOIREbYGcwszkx89EK5R7w4V/ZRzkc4j NalWYKYqcWJQxEX476Z2NxQQBxyOjpIY2LEAu8i3xF0ghgA5ER+q61E8y5WGV17+z3sw SVkBHPx4fxFVe1F9Pq1k7t25o15xuZXEP33o0mKS1vlznJvrDMy8mzZni1SOIUcDKyeL QYEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p+EcMrVj; 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=pass (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 d12si4003630qvz.215.2020.05.21.12.30.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:30: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=pass header.i=@linaro.org header.s=google header.b=p+EcMrVj; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41804 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqu4-0007dC-Mf for patch@linaro.org; Thu, 21 May 2020 15:30:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38168) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgS-000345-31 for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:48 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:38003) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgR-0000VS-3e for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:47 -0400 Received: by mail-wm1-x344.google.com with SMTP id u12so2758532wmd.3 for ; Thu, 21 May 2020 12:16:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=9kKd+uI5z6jR/8DRUg4wAhiNt2UeI3CInnSxtouYWeE=; b=p+EcMrVjRaowMi9Xukm6rJ5kDln3uw+DoHqlw4RKl3fneVQJMgnecx9knyGGJVguuX FMHP3a14Zp6zjcRVwlimPbTzGT9SBweDPTRVTq2dC9xySSf6HjUbr6/g+ps5zz/YU5ci IoWidifCr7Ex0yK+tq2MTR11sg1W8hbPNaAH0ti2m3oPDhnb3vdleZntC0LygyWgvtSZ RsCUGm24QPBu/D4SsmiGy7o7tpIMAIA5UThJUBgtvkyHCTxgFMqagYsMGD9qXhUg2HCU SvPDor1J4ApCg2oQLSTg7UNqA5nB9r+lyEPMxR+LxLJSRiI8/oo8QX4CyFjpAMeIqPiI J2Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9kKd+uI5z6jR/8DRUg4wAhiNt2UeI3CInnSxtouYWeE=; b=gJAcYe0H/+BVrcg9RbY80tlXyCOtYwxKTqS4G0O6H2+QX3GUCTmaXOv/WIAv+SjTef tpM1THv/Fl0gL2Yn8DvVyxFK2ae6Dba4loq8IbUEEwoBVb13EaKBe6ZVG2Nda++3d2/N U1icqFwKFI03gEkibhZ9xDsv4XYx7EESslNjkNLU0chr+It8Pt+gxCw1vUj++vRU3Cx/ R7MtEndMq7ZUttKpSDbPD2gwoke82KYVVxr2kIGOKRwGplRD5sVDQ3ycGDmeylu6eqCy u3xa1+QahJHEYph8MBU3BF8v8hOSe/R2SXsHNR8bRSVLAYlFgl6fnAP3o/wTRAQMuoFo GBaw== X-Gm-Message-State: AOAM5321LE38mjP9Jb0iMCGFt8va5E6gqsZpy9mDb1CYoVEDQj6ojzwN zNuNdVbjI3jVB+9pdBWjE55jWgJe80d8aQ== X-Received: by 2002:a1c:740e:: with SMTP id p14mr10671500wmc.137.1590088605504; Thu, 21 May 2020 12:16:45 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:44 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 28/29] linux-user/arm: Reset CPSR_E when entering a signal handler Date: Thu, 21 May 2020 20:16:09 +0100 Message-Id: <20200521191610.10941-29-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Amanieu d'Antras This fixes signal handlers running with the wrong endianness if the interrupted code used SETEND to dynamically switch endianness. Signed-off-by: Amanieu d'Antras Reviewed-by: Peter Maydell Message-id: 20200511131117.2486486-1-amanieu@gmail.com Signed-off-by: Peter Maydell --- linux-user/arm/signal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c index 8020c80acb5..698985a647e 100644 --- a/linux-user/arm/signal.c +++ b/linux-user/arm/signal.c @@ -244,6 +244,11 @@ setup_return(CPUARMState *env, struct target_sigaction *ka, } else { cpsr &= ~CPSR_T; } + if (env->cp15.sctlr_el[1] & SCTLR_E0E) { + cpsr |= CPSR_E; + } else { + cpsr &= ~CPSR_E; + } if (ka->sa_flags & TARGET_SA_RESTORER) { if (is_fdpic) { @@ -287,7 +292,8 @@ setup_return(CPUARMState *env, struct target_sigaction *ka, env->regs[13] = frame_addr; env->regs[14] = retcode; env->regs[15] = handler & (thumb ? ~1 : ~3); - cpsr_write(env, cpsr, CPSR_IT | CPSR_T, CPSRWriteByInstr); + cpsr_write(env, cpsr, CPSR_IT | CPSR_T | CPSR_E, CPSRWriteByInstr); + arm_rebuild_hflags(env); return 0; } From patchwork Thu May 21 19:16:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 187111 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp1838452ilb; Thu, 21 May 2020 12:33:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtIhflUFyyGwoOd0sgjJpGSsy6Zdrjgyqp24C1QGCTfoKr9hyjSxq8/0NUmxuH3gO3R18e X-Received: by 2002:a05:620a:136b:: with SMTP id d11mr11588155qkl.411.1590089584757; Thu, 21 May 2020 12:33:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590089584; cv=none; d=google.com; s=arc-20160816; b=ouepgNC018nIiDzHusKChFTlv0YLw3tQrT5j+nXtSxYmGQhZPi3qIEfjaiZVKCdz3e aXabliKfXFAYhlFfntbp63YRPPxj5nug7SNYqLk6B+t1zOCxgnEGhLgI9eIr3nlnmmJP sopobYDkyS3DHS0kGZtRsjarg7IhiOzEbYew1Ups5Waqr15u7gkhMLhBK3/wjgr57ggy yN+8/dhZg2nT3EPnyU3egLLGpqs2Tg2ETb0R7f5NekKWYM2WcekjTdY2B3Dalq0vA0Te TiQlfPFHAJaiAe5XsXZ+dwB/KQ+IFiA9Sx2mxo7hlYkSCPJNd2nVaVkHdPT+OXrEjnnu gdTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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=JGi0kam4Hb96tw8QLNp1XZzN02TvAsgq8rt91AU8qsU=; b=tcxXUtf4ZbsS+O57EHEEUTBU4PDp8SR2U44YCJM76Ksgc66Qut6LYqtcK0rRaFxs7t Is8yflfhqQV4ABRzNDFz7cU3ap6mUQrA6hisuS6NtPtFXNUE27ncc72BgS/Rh46IraQh XQDbzHy1MgIvAHu2rMlRYm+mojJwoHLhArDE3r3AkgfoHuD5888IhE9TPOolSYSVxnH4 jvgGzpQO7riMZfhWyHYrYeWqczzN4OtBTCBOQQB9gYvCCFlHmmoQ5IFH9qAscGsFf9Ji d2GAh1aqI0XSwFVyCLiI9aByUkdq4n0kxW07bZGjHec3Z3E1K7lxxqteze6RA7G1L46G EeYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dxGBjI4+; 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=pass (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 n1si4089210qti.241.2020.05.21.12.33.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 May 2020 12:33:04 -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=pass header.i=@linaro.org header.s=google header.b=dxGBjI4+; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:50212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jbqwC-0002m6-5M for patch@linaro.org; Thu, 21 May 2020 15:33:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jbqgU-0003AY-MA for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:50 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:45750) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jbqgS-0000Vh-5c for qemu-devel@nongnu.org; Thu, 21 May 2020 15:16:50 -0400 Received: by mail-wr1-x444.google.com with SMTP id c3so3528180wru.12 for ; Thu, 21 May 2020 12:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=JGi0kam4Hb96tw8QLNp1XZzN02TvAsgq8rt91AU8qsU=; b=dxGBjI4+plqULDMi3VU0ejpviQu07Pr1yDT8h6IUcv26CGVkMUYqjCJ23Tl4sQffVt o0KUYqha4+zgYyUYBVxRTxbn3hvNici6EPlGxIW5bXygjnIvWl2ByQF1OsHj4k2efz7d qQTyvjIHWGjqHK2V9/x3eJKogVHDe0ocx455urGHXxAklvPwgLRGLP07d2jzIkpJ8wt8 75b0lZKUqQjXEQGNxUqoyET/JKJYjwlByXGYhIK6Fh2LxnzMZrshvswotPpdXDJmnJUp FO/A0VT9TBBeGhrae7PIynDKZ/QE66/4Vb9tBEjncnflX8SBUTm0FgAZMJrCSF0FP8qf gvuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JGi0kam4Hb96tw8QLNp1XZzN02TvAsgq8rt91AU8qsU=; b=qEXCHywuPssSQs12vK9jXx5qtljct/jNfxdp+HdKOBHLIm8gwu9QDyAi7Y3VOJbqFF 9+D9iXOeP+5OKzxnMn+CiNpQGq+PJwAjUZ+oEuFBgGog9xy1ZFEofGbrdT3nGBZ2Xxsv kMiYLw/+mnlS6OIJ1PnKWOvcPwxjHZJLwyuR5fFK3uIP77SRsFMlJpqNDeNane5AbsjH 0BCLTTKRtyKIrLdm6EfPX8aN5pthXVfLQjPqfHp+h+MTxVci1o/ymRpsEu/b3b4tjPIV DhgnnR30sjIi4t76FYvnEJmnbfHNnlLprmbTSBkGOJV2dhY1SqBYr+PB5QBHNA9PHfRz +hIw== X-Gm-Message-State: AOAM532oPKee8Og9X6lpTg3aWjaZ3gvgGKgpO6eUTs6gPqeIBHD/GFdr i/L3y/2HzKDLxYEACWoB35VGvFPVtv27iA== X-Received: by 2002:adf:dc0a:: with SMTP id t10mr108524wri.342.1590088606527; Thu, 21 May 2020 12:16:46 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id z124sm7335100wmg.20.2020.05.21.12.16.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 12:16:45 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 29/29] linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 Date: Thu, 21 May 2020 20:16:10 +0100 Message-Id: <20200521191610.10941-30-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200521191610.10941-1-peter.maydell@linaro.org> References: <20200521191610.10941-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@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_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The Arm signal-handling code has some parts ifdeffed with a TARGET_CONFIG_CPU_32, which is always defined. This is a leftover from when this code's structure was based on the Linux kernel signal handling code, where it was intended to support 26-bit Arm CPUs. The kernel dropped its CONFIG_CPU_32 in kernel commit 4da8b8208eded0ba21e3 in 2009. QEMU has never had 26-bit CPU support and is unlikely to ever add it; we certainly aren't going to support 26-bit Linux binaries via linux-user mode. The ifdef is just unhelpful noise, so remove it entirely. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200518143014.20689-1-peter.maydell@linaro.org --- linux-user/arm/signal.c | 6 ------ 1 file changed, 6 deletions(-) -- 2.20.1 diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c index 698985a647e..f21d1535e4d 100644 --- a/linux-user/arm/signal.c +++ b/linux-user/arm/signal.c @@ -126,8 +126,6 @@ struct rt_sigframe_v2 abi_ulong retcode[4]; }; -#define TARGET_CONFIG_CPU_32 1 - /* * For ARM syscalls, we encode the syscall number into the instruction. */ @@ -187,9 +185,7 @@ setup_sigcontext(struct target_sigcontext *sc, /*struct _fpstate *fpstate,*/ __put_user(env->regs[13], &sc->arm_sp); __put_user(env->regs[14], &sc->arm_lr); __put_user(env->regs[15], &sc->arm_pc); -#ifdef TARGET_CONFIG_CPU_32 __put_user(cpsr_read(env), &sc->arm_cpsr); -#endif __put_user(/* current->thread.trap_no */ 0, &sc->trap_no); __put_user(/* current->thread.error_code */ 0, &sc->error_code); @@ -549,11 +545,9 @@ restore_sigcontext(CPUARMState *env, struct target_sigcontext *sc) __get_user(env->regs[13], &sc->arm_sp); __get_user(env->regs[14], &sc->arm_lr); __get_user(env->regs[15], &sc->arm_pc); -#ifdef TARGET_CONFIG_CPU_32 __get_user(cpsr, &sc->arm_cpsr); cpsr_write(env, cpsr, CPSR_USER | CPSR_EXEC, CPSRWriteByInstr); arm_rebuild_hflags(env); -#endif err |= !valid_user_regs(env);