From patchwork Fri Mar 8 18:59:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 159993 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp9075175jad; Fri, 8 Mar 2019 10:59:49 -0800 (PST) X-Google-Smtp-Source: APXvYqymOLWehmwMpLGCiz8ylYPeYd6sf0FOXYNwZtgvDeu90loACck5HkFW/K+IeeYZ6TCqI5Ij X-Received: by 2002:a25:4e09:: with SMTP id c9mr10983779ybb.167.1552071589754; Fri, 08 Mar 2019 10:59:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1552071589; cv=none; d=google.com; s=arc-20160816; b=lcE8FzecR6LsGYp6iDeJM5X4ewg7Q1Hp2zP7TSAsJXTiP5AvNpdmknP63Tj+D2GdfX iPVm3yaYghYLjEVFsQwLVvaMtXeh14m1TpKHJAOAZWAfQ2NzAfm9ds9JyrRcnF5/3BuP KtLvWATegqrqnfqITkr4H+nvP3/egGsqYYzwJunbG3mH67gAFp6mTPP+5xOy7FFVQDcm 01hNsXFiTODQ7uiM4v8n9nSvlN82AJFLYMzpy3+2IrLq7qNfvbzoFXRjZoDDqjnonX95 JybHqNPmVYXS1UGtWeZEy7xPFhDVx/DeC8eNhX03zPvu0bBcukk9NMR4ZdzbWwHrf7XF C91g== 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:message-id:date:to:from :dkim-signature; bh=JBcKzip65zMWiQURMI3nn1U61H1/5KiDKQ/le/p+P/o=; b=DS4P7I859uHyY8luFVAS88TEyeNY3udsLi9i0b8/obvfvqCOQFg+20w5mMFAKawdE3 GsO8YezUtmHexL5gJnGxu+ar5+VjHKSfqznuOHqW/blcbg3rjQdJDqkzSV7vhCHUZDlH kl2ZkqZIb8N3YzhWDYmvsnseykOYiDKFw5GZcke06lhpvlcetR65I93tl6ykRLyx5Lzi k1PSvtbZFQ3yUoIb3sYq1XG2jWYIO13EPonmmpJt0C0Jc7Ks4tzH2YVsHLMCH0OvB6ey 8ljNsJ958VXAAI5WyiOr9sM2cGifh+RAJd8+3r6+UQAKYV5Q8ETWYSYP05BgjuL14xoD 2TEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=dy4hvb8c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 206si4898039ywl.377.2019.03.08.10.59.49 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 08 Mar 2019 10:59:49 -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=fail header.i=@linaro.org header.s=google header.b=dy4hvb8c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:48568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2Kij-0001wE-Bu for patch@linaro.org; Fri, 08 Mar 2019 13:59:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2KiY-0001vS-6E for qemu-devel@nongnu.org; Fri, 08 Mar 2019 13:59:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h2KiX-0001kf-Cg for qemu-devel@nongnu.org; Fri, 08 Mar 2019 13:59:38 -0500 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:44185) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h2KiX-0001jE-4i for qemu-devel@nongnu.org; Fri, 08 Mar 2019 13:59:37 -0500 Received: by mail-pf1-x441.google.com with SMTP id a3so14786226pff.11 for ; Fri, 08 Mar 2019 10:59:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=JBcKzip65zMWiQURMI3nn1U61H1/5KiDKQ/le/p+P/o=; b=dy4hvb8cT7VAOYGkvuFT4GCzXJ5WczfBBHH/L1Y3E5HjUpttcVASz+2jo/itYG1zxO mLPgycFNWYBQ5ejwBm7SZceCGEsKmfxKNHWTbG9iPJ3Fzsr7XWTb419AfG8Hmfq71nHX QWrot4v1fIetVCdYVTEvquxSZ5Xdm3M88KRiQHMsnuhP9VB/vmCUUsyYoDaX7jtNZEmE lom5kF+5TDQQAC6RS+vHy57oNU39Q+qxsnm4tm8kMI3DAojJ1i9fh6LQGbMRjFYf8QHv aEKEH+3Z7OZyjjyTB/oEY8L9xHOB9dcXsEh5A28Gw8eKasf3euuAndIXHauIpUV6l056 Hl5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=JBcKzip65zMWiQURMI3nn1U61H1/5KiDKQ/le/p+P/o=; b=jp8OX+iWcZlwht778AUq1P6DalnJi1nxUNuNFm4qABwNQzF2YY4jzDRv4FM0BwqYAj a9dAqQ7xqWhWFfqMVKSsy2Cz4L70i8g9hjwm9Kmm9m3g8Vg1HczEy8wwxUiwx+YzkWK9 wHoId0F0xKsC9WnJuLXP0Cd8n9Dr53OiIAwG13F1LRBK/v8AbecWbxw23xLCfx26x4X9 wLVwdkORsFfDKvm8zxFgO71LWMFd0lNXjdjEHNUyzDJZmYPy6xvKY7xhsmAl67l7PvYA lrEMlQwiTV3lmb1anNAvpzHJcdacJ0gSLs3bvVId16BY6XiIyK1SVPgVDnYW56iAnvC/ HOgg== X-Gm-Message-State: APjAAAVlXwdZuYO1N9WutNqzaFW7T59+mPOwVLAS0vTqbh+tYJbQ6gl6 sKYONPLUyD+Xd6Jrz3Xw3e7msfpLqrI= X-Received: by 2002:a17:902:7202:: with SMTP id ba2mr19906043plb.147.1552071574839; Fri, 08 Mar 2019 10:59:34 -0800 (PST) Received: from cloudburst.twiddle.net (97-113-188-82.tukw.qwest.net. [97.113.188.82]) by smtp.gmail.com with ESMTPSA id h126sm27314756pfc.135.2019.03.08.10.59.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 08 Mar 2019 10:59:34 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 8 Mar 2019 10:59:32 -0800 Message-Id: <20190308185932.4954-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::441 Subject: [Qemu-devel] [PATCH] target/hppa: Check for page crossings in use_goto_tb 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: svens@stackframe.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We got away with eliding this check when target/hppa was user-only, but missed adding this check when adding system support. Fixes an early crash in the HP-UX 11 installer. Reported-by: Sven Schnelle Signed-off-by: Richard Henderson --- target/hppa/translate.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) -- 2.17.2 diff --git a/target/hppa/translate.c b/target/hppa/translate.c index dc5636fe94..6c815e05c2 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -816,12 +816,10 @@ static bool gen_illegal(DisasContext *ctx) static bool use_goto_tb(DisasContext *ctx, target_ureg dest) { - /* Suppress goto_tb in the case of single-steping and IO. */ - if ((tb_cflags(ctx->base.tb) & CF_LAST_IO) - || ctx->base.singlestep_enabled) { - return false; - } - return true; + /* Suppress goto_tb for page crossing, IO, or single-steping. */ + return !(((ctx->base.pc_first ^ dest) & TARGET_PAGE_MASK) + || (tb_cflags(ctx->base.tb) & CF_LAST_IO) + || ctx->base.singlestep_enabled); } /* If the next insn is to be nullified, and it's on the same page,