From patchwork Thu Feb 20 09:28:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 866728 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1f85:b0:38f:210b:807b with SMTP id hj5csp107092wrb; Thu, 20 Feb 2025 01:30:56 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCU9GQKJiDDTVV6FuJLzTFTTLoWB+sDL8pgMUBmK6X64TEdZvtK10zvQxGTx1ncair3BtvZ6ww==@linaro.org X-Google-Smtp-Source: AGHT+IGVYwNhMUdZGbMAtLZ+z/RTce/9gT9dGzuCpJ4OFyRFnkIJxtih5z7126MpfV0APu+xyo/8 X-Received: by 2002:a05:620a:1a8c:b0:7c0:c0e6:9003 with SMTP id af79cd13be357-7c0c0e6933fmr469588485a.43.1740043856399; Thu, 20 Feb 2025 01:30:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1740043856; cv=none; d=google.com; s=arc-20240605; b=XGiptzBZFMR+4VxY7gb0XHTvZC52IyNnvtE3SLn9jXhhvewRNyVjDDv6Kr3WVoR/W0 +NiGXS1++dUJ7/5f3jpoOwqs9Lw+fAWv0/osuZV7xwzMGYWp9em85nx8IyC4Bo7ytlRl stjgrHvSSQxA64l9HQiXDVbrjZMgsjOikboDwkVOLCxrfmbwTnkdECtY0ZU5qtzojIpR pWy28A0CrCzOjxZARcx7titKbVTndKCztdbrevusE2jHXjl9EYb4Z/mKuWM/DcZyOpx1 CQvTigzPayRhHqoFhjIjheHeRFiRL20vpOIszIYeSZ5sdwMTyyhip6sKb3LRENugyonC Wz1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:cc:to :from:dkim-signature; bh=YvVgNJ/E5bcHmFtQhvSS1dYamLv2zmBpjT3Espofk2I=; fh=gY+v03fz5Z/f8BPmNSMfbYWIwy5FodJM5YajpP1C9O4=; b=G/EYzK6qNhHzrtoRS1tjsVzj630O0gFINKuhzIAihwdM7fOxFexxcK6MhLMqGr8QT7 RvDUTYzRvb7MCD6NDeXRAAloD5EoMzwwvXDTONs++WQyUv/cuiVsSm4f1k4O0TYy1/4j KScLkr/BlF/X+W9OWaU5GpT2Q7eq8feJdIuDsMO+Fpqomrrs05ZE7RWNhKF+HoeUDC9I M3nraC07b29M5xOZvDvUbz6tDbnavCrDHSTmmReSfE2/jL/dLXMVWDfIHqVHrWe2fJog S7PDBVLPbaLX7UXEBcU0V4nUIc7er/kByjFU2AvR5IXq+LCC0jeq+Iu/9In5EtyE4Xuv fsJg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=O6vXiRKO; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c09e77fbf6si737641385a.585.2025.02.20.01.30.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Feb 2025 01:30:56 -0800 (PST) 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=O6vXiRKO; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tl2sD-0008GQ-1E; Thu, 20 Feb 2025 04:29:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tl2sB-0008G2-0j for qemu-devel@nongnu.org; Thu, 20 Feb 2025 04:29:35 -0500 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tl2s9-0003Qp-FB for qemu-devel@nongnu.org; Thu, 20 Feb 2025 04:29:34 -0500 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-221050f3f00so13053655ad.2 for ; Thu, 20 Feb 2025 01:29:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740043771; x=1740648571; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YvVgNJ/E5bcHmFtQhvSS1dYamLv2zmBpjT3Espofk2I=; b=O6vXiRKOLWTfNJ+gvtzjELWrXHwl8RkzwfAUZrVi50YrP1Nh3xTWYzdnKKCLi1hGyd +24imDDGtakOdjlrFy/g6J9KdecZFaGAK4k0m8cI01D7LZbkpHwxM6AEvVlcrQUJXTFC H60YQTK+9dnuJ8CtBrE9rqv8r5D6ENOIMABS1TThmmG2T6AN0fU23TB544v+DsRq4j7P lT5SWxMMNvDgZOXRyBtecqjrvBqcQr1fWLxAea3dH2PGF2IzTrnUFauSqVFvfyY6D1w7 SJkiP1kAKFX0OtO+5+Y6L+MoyZmWDYWMegYzV3xpASHLgYIvGhg7+svR3ZHcq3K7eXKS 71KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740043771; x=1740648571; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YvVgNJ/E5bcHmFtQhvSS1dYamLv2zmBpjT3Espofk2I=; b=Bsm90OaBL5AwreAsFFkrHDpd/bnhISulzjjR3bTKzBM4t75xzMXGaqrnMeQ6FwOuM4 ivALGom3qjv38iQ5WuuKR7c80nh53iwaMun6W8d1V0IyzJEAydvBHHaCg7LJxY3MXdyq fPPsxUgnVgD7ofj3zIpRj+L3mhnlXxPOa138sNlWtGLifypX9+t5zdNBdNC4TfmWiYpg AL4iQsR05bGD2DJA73UornK50PiiOz8/rZfv5sDhIM4vxYUgrw8cqVbbc0VFztGaUTyL aJjZiyA+JBclbJ2eRL0F/BH1v67CIV92wiVUCGUCG2utt8uJlurh0Yq1IY1EUTq7BS98 Wehw== X-Gm-Message-State: AOJu0YyJVZs+xD+Ooni7TXryq+iH9CtST2gHi/jzeqco4EmfygVGTez7 EPBAkP6IZ0ILznh4lW53QGm0jrL2sPGB7t/n47PS4o+Y7HTO2VKyRF0cwWYHfWsO2ttoRbBCGFH d+eY= X-Gm-Gg: ASbGncvlWjxONN5YlgWJoL7no3noHtmQT09BAc1bqsMByO5sxk6EicOAt4gM5/BOtgB HmjlLJN1gQs+01Z5JhmYD0LVt5zS/jTNsXTpR8UO9qNO8mlTUZD+mp94FLE8lo8h01+NjYOxho1 xdA5FjB+zurKDa8x3VXWIgv0oZBpEzCfyhgbb77Vm3Ol4f2Ry1NQh1iQ+rVgdcUOhc2xX1jgtz1 CSP4uhpB0IdgQrQ1AqRuhvyfQS0A2WltjBwmzTeg8Kwe7wgbSHv0OZWJK7kgP+9nUqHOswxKIfj ZD3ZQGyYiKdXxjBmWgFpVHOuss0Y8JoD6EKxvpXY+9n7+7w98u945qe7Q7TaLrZPvg== X-Received: by 2002:aa7:888e:0:b0:730:8d25:4c24 with SMTP id d2e1a72fcca58-7326179e908mr31597617b3a.10.1740043771021; Thu, 20 Feb 2025 01:29:31 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73264729945sm10067375b3a.179.2025.02.20.01.29.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 20 Feb 2025 01:29:30 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?A?= =?utf-8?q?lex_Benn=C3=A9e?= , Magnus Damm , Thomas Huth , Shin'ichiro Kawasaki , Rayhan Faizel , qemu-arm@nongnu.org, Evgeny Iakovlev , Paolo Bonzini , Peter Maydell , Luc Michel , Yoshinori Sato , Richard Henderson Subject: [PATCH v2 1/9] hw/char/pl011: Warn when using disabled receiver Date: Thu, 20 Feb 2025 10:28:54 +0100 Message-ID: <20250220092903.3726-2-philmd@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250220092903.3726-1-philmd@linaro.org> References: <20250220092903.3726-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=philmd@linaro.org; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+patch=linaro.org@nongnu.org We shouldn't receive characters when the full UART or its receiver is disabled. However we don't want to break the possibly incomplete "my first bare metal assembly program"s, so we choose to simply display a warning when this occurs. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Luc Michel --- hw/char/pl011.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/char/pl011.c b/hw/char/pl011.c index 06ce851044d..12a2d4bc7bd 100644 --- a/hw/char/pl011.c +++ b/hw/char/pl011.c @@ -85,6 +85,7 @@ DeviceState *pl011_create(hwaddr addr, qemu_irq irq, Chardev *chr) #define CR_OUT1 (1 << 12) #define CR_RTS (1 << 11) #define CR_DTR (1 << 10) +#define CR_RXE (1 << 9) #define CR_TXE (1 << 8) #define CR_LBE (1 << 7) #define CR_UARTEN (1 << 0) @@ -487,6 +488,14 @@ static int pl011_can_receive(void *opaque) PL011State *s = (PL011State *)opaque; int r; + if (!(s->cr & CR_UARTEN)) { + qemu_log_mask(LOG_GUEST_ERROR, + "PL011 receiving data on disabled UART\n"); + } + if (!(s->cr & CR_RXE)) { + qemu_log_mask(LOG_GUEST_ERROR, + "PL011 receiving data on disabled RX UART\n"); + } r = s->read_count < pl011_get_fifo_depth(s); trace_pl011_can_receive(s->lcr, s->read_count, r); return r;