From patchwork Tue Jun 19 01:42:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Michael Roth X-Patchwork-Id: 139072 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp4670813lji; Mon, 18 Jun 2018 19:58:20 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJummFDdQJSdVVntUZ9F5iu7SDOe5TK12vqwqqHaA1j/N9PK/73Sqhrda2T2howszppwEcd X-Received: by 2002:aed:3534:: with SMTP id a49-v6mr13408673qte.47.1529377100433; Mon, 18 Jun 2018 19:58:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529377100; cv=none; d=google.com; s=arc-20160816; b=k1+51G7NMbeF1161n4SgeUDTFmNZMOeb8rP5eYM2w6KEfM4uFnJNiA43VeXnRQ1qHp PbdnUyO/zuYfv9R7lwqjymQU+8BlsP6erJHSOHNplzb+wF/HYcz20IHDUecOeLX3xIaj vMBTbpNFXoBTJZn19tbyMloHpESXb3dsNQ9T//UpHMgL22jWOaErN4M0mmFx7qq25F0+ JJJtNAoRG1/jnBU/mQNVWWCcz4ASPIVSjI8nxSADVp4c2QBAfLhwmX8lnvg0aLV7c/zr 18j51doXTDAKZuwG0ZMhVKMEtv/ECdjNgZSdtNv/8uzSzuZI/mW2S3dwmZ/j782d2W55 yX5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:arc-authentication-results; bh=upoUpTUx54PoqmTgNon2saxWoWBtl1z80fkO6l8JrNA=; b=tugdPZD08+o4HBG+oeDPRthUBN3AMlbTayCcpJIyqNnAljT3Qtkn9PLaWa/7u1dy3R Sk4OI1J62TSCo1PXspRoS31D3iSC88O+R9lJBy00UhJR5tZTYJ0MbxfoE0zR/UCOPshI p55i1bBSASAVg/exzwYehWutU4/XYPJ7JitFh85fSOEenol3r1d6kFolAkhFvgNordIR N8iK3CNdgO5ERJYVZZ7SilwL29vO3lMURc+Fm2PvfK4VhR39U3tVCIBf6O8O5NuYKSQp l+biyoQI0eLZNsYrYY7wVQW9XPhIZ6r8sKWsCvIq5HwskwhYWGixRrAFFZI6eaXKmxvU 83+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MoKqJaTg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id o133-v6si680167qke.209.2018.06.18.19.58.20 for (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 18 Jun 2018 19:58:20 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=MoKqJaTg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from localhost ([::1]:38812 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV6qZ-0000FB-T3 for patch@linaro.org; Mon, 18 Jun 2018 22:58:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46497) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV5ir-0002Sk-Jg for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:46:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fV5in-0000IG-KM for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:46:17 -0400 Received: from mail-ot0-x22c.google.com ([2607:f8b0:4003:c0f::22c]:44557) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fV5in-0000I3-Ez; Mon, 18 Jun 2018 21:46:13 -0400 Received: by mail-ot0-x22c.google.com with SMTP id w13-v6so20758894ote.11; Mon, 18 Jun 2018 18:46:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=upoUpTUx54PoqmTgNon2saxWoWBtl1z80fkO6l8JrNA=; b=MoKqJaTgcHo9usj2pryYXS3IQUPA2RmC3R6aTqnhDOHFCrqWyxD4sQN/1AYrQhJt8r H2ZCw42GxdmCWWOF1Jhpbo+Op6onsiFk10x364+VZKUfH1s8K+2bZ037nMcD6l4Jy3aJ C8MH6CUpVbx9TWivYY/fueohcLIr0NYNbhv2QPxz4CDOrtYkqgZ0FPOcTGZS91OHB7vx e1XnbZ3QMtqb4J0B/i1LQkbEdJmByVq/NSzUkk8bSavJutNDeOnoxbp4Q/Mnx/E7VmZw KS3UVAupWt4rDTgLpIcsIGn7UBujpMalxMTBxH6kLzMgtkNOBETJYwSFJrEckWENlqWQ EyKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=upoUpTUx54PoqmTgNon2saxWoWBtl1z80fkO6l8JrNA=; b=ksJmyWv+MQOUoE07njQt6tlPbcIdOJIVNhSKFrq7q6jkZlEi4z4hl5ReJO9bsTCJwN w1j7Qrkf4alvjwKb/eUt5Ie7xlq7LzUge4UeteacG8sNgUyTlu6sgkilD7XXSv1qC+Ym 1UkUkB8fM6P8vunfJJnJPW+ykuVrbPUB687ewNqpHntcfoz14LTrom6zT67ZCp/J9YYT FXw4x1ilEjZ7J0vlNaWoUxHpP08fiD0N3XIEyvzcF20r3vqKfrVbN4zWDemADq8Std0y Ke4uBI06mpCpp5loP7njDRTdmPtmt4IRGDazLploV8GdPSeudTG91QNQJtgZdGUDY1PC zHmA== X-Gm-Message-State: APt69E0egaGRBku9wQEepCmSj4SALYbaW4juWa7oxZIh3+XdlwvBGGTa fa30sXFiYCixNmfrjCgj7V/2kKb5syY= X-Received: by 2002:a9d:32e1:: with SMTP id u88-v6mr9612759otb.173.1529372772273; Mon, 18 Jun 2018 18:46:12 -0700 (PDT) Received: from localhost (76-251-165-188.lightspeed.austtx.sbcglobal.net. [76.251.165.188]) by smtp.gmail.com with ESMTPSA id s22-v6sm10290687ote.14.2018.06.18.18.46.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 Jun 2018 18:46:11 -0700 (PDT) From: Michael Roth To: qemu-devel@nongnu.org Date: Mon, 18 Jun 2018 20:42:24 -0500 Message-Id: <20180619014319.28272-59-mdroth@linux.vnet.ibm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> References: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c0f::22c Subject: [Qemu-devel] [PATCH 058/113] hw/char/cmsdk-apb-uart.c: Correctly clear INTSTATUS bits on writes X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Peter Maydell The CMSDK APB UART INTSTATUS register bits are all write-one-to-clear. We were getting this correct for the TXO and RXO bits (which need special casing because their state lives in the STATE register), but had forgotten to handle the normal bits for RX and TX which we do store in our s->intstatus field. Perform the W1C operation on the bits in s->intstatus too. Fixes: https://bugs.launchpad.net/qemu/+bug/1760262 Cc: qemu-stable@nongnu.org Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Peter Maydell Message-id: 20180410134203.17552-1-peter.maydell@linaro.org (cherry picked from commit 6670b494fdb23f74ecd9be3d952c007f64e268f1) Signed-off-by: Michael Roth --- hw/char/cmsdk-apb-uart.c | 1 + 1 file changed, 1 insertion(+) -- 2.11.0 diff --git a/hw/char/cmsdk-apb-uart.c b/hw/char/cmsdk-apb-uart.c index 1ad1e14295..9c0929d8a2 100644 --- a/hw/char/cmsdk-apb-uart.c +++ b/hw/char/cmsdk-apb-uart.c @@ -274,6 +274,7 @@ static void uart_write(void *opaque, hwaddr offset, uint64_t value, * is then reflected into the intstatus value by the update function). */ s->state &= ~(value & (R_INTSTATUS_TXO_MASK | R_INTSTATUS_RXO_MASK)); + s->intstatus &= ~value; cmsdk_apb_uart_update(s); break; case A_BAUDDIV: