From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1CD3BC4361B for ; Fri, 18 Dec 2020 22:08:21 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 53C5723406 for ; Fri, 18 Dec 2020 22:08:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 53C5723406 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=freebsd.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44426 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kqNv9-0003p1-8v for qemu-devel@archiver.kernel.org; Fri, 18 Dec 2020 17:08:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55870) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kqMmW-0002Fw-1h for qemu-devel@nongnu.org; Fri, 18 Dec 2020 15:55:20 -0500 Received: from mx2.freebsd.org ([2610:1c1:1:606c::19:2]:43117) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kqMmL-00039L-FL for qemu-devel@nongnu.org; Fri, 18 Dec 2020 15:55:19 -0500 Received: from mx1.freebsd.org (mx1.freebsd.org [96.47.72.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx2.freebsd.org (Postfix) with ESMTPS id 2BE9A7D5ED for ; Fri, 18 Dec 2020 20:55:07 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CyLj70WQYz3hBV; Fri, 18 Dec 2020 20:55:07 +0000 (UTC) (envelope-from imp@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1608324907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bb/F9Ea4b0CvodFIdBceU7QoqC3If5T57HfLRiPeMI8=; b=M43GerthNB+r1aun8bkj/LL+J8Jvo1Wre4F8/TBt8Xyfk8xuW/rrR6P857yI8IXUw66lDJ pa2gQZAKWt1y/sm3KnaKIMWh1C8OFivfVB2iVeMgePRWF+oVj4yRGuTqceAYgR8vRWTVYc PW05A8key3AfO0qeVr21HheQLZ3whGrACgaw1HTKw1+UdXcKWwDZPUizSLk+AqTTw6t+Zv stJs6BFvLd8dm4z6j+XY8HdjQr8Uaee3vyfNrv/qLoXeo6ImII2GhDaFvLKVkDO7x6d6NQ wn2cOZ5NPXvKbdwpYsDISGkoQLl74RgokeyJ3pCp+eAKhUzhrAFyxRJD6vhq4g== Received: by freefall.freebsd.org (Postfix, from userid 547) id 008ADE6DB; Fri, 18 Dec 2020 20:55:06 +0000 (UTC) From: imp@freebsd.org To: qemu-devel@nongnu.org Subject: [PATCH 2/4] tcg: Additional Trap type for FreeBSD Date: Fri, 18 Dec 2020 13:54:49 -0700 Message-Id: <20201218205451.10559-3-imp@freebsd.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201218205451.10559-1-imp@freebsd.org> References: <20201218205451.10559-1-imp@freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1608324907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bb/F9Ea4b0CvodFIdBceU7QoqC3If5T57HfLRiPeMI8=; b=MxPYwOZQJo+AYN0/A2gHyQhTWl2GtLTSm3n5wHjJRfGzuonj9GY0UEr89UdldllQPovzvX pf0zoUtYxns7BhJWVvyNAX1UFRBp23NBONKQ3AXG/OPsWF/QtCUasihc78PFdpskxcU0Vg EmNho2NWYp3bgH7ambMEp4MdNNYGDqhkZCwbXRjd1CfytAEb50UyfMsJ+m/naICtMq/ecf GGud7BjcyM0fzEuD7CvZGtMXK/s28ygzB75PAXk5gaIc0JOnPMcfgpsbYWg0Ij7bjcBL8o qMNMm6Stgg6bjIe85skSX6runwekKAAbml25KwO2Os00JZvPvzznP6eoUFqCxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1608324907; a=rsa-sha256; cv=none; b=Qv9mugcYbQ6LUlt55Yc64d7yjh3V1tNXOPJkf8Dep21cLJSZtPs4GAcc+R/vjqVUJobjml eNykVxZv5BkyuQsdEkxbEzwjSWSFvbA9lp2xhNDGWfuN9JdFskZoYFCXNm+kcdyKIekYSs YHQsx6luZkz7x7Op6S1PSs+bmpDlhyJz+Atv9h+FIqGw+y7ORzDhDONe/Ae+PikI4U6rXP X5f5ORxzrLZzvvMNQi/bLSsY3kjxqryYWWwExADfIIN72N/T8rONNusw2MsfJZzpV0k5jC QiL7JDvSIMu6wVgFSrDfSJGPBrJNHw4bc62MgSX9Yr/GKX+fFPpiN94di/B20Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received-SPF: pass client-ip=2610:1c1:1:606c::19:2; envelope-from=imp@freebsd.org; helo=mx2.freebsd.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 18 Dec 2020 16:50:11 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Juergen Lock , Sean Bruno , Warner Losh Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Sean Bruno FreeBSD can generate a trap 0xc as well as 0xe when writing to a read-only page. Signed-off-by: Juergen Lock [imp rewored commit message for clarity] Signed-off-by: Warner Losh --- accel/tcg/user-exec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 4ebe25461a..1f5befa9f9 100644 --- a/accel/tcg/user-exec.c +++ b/accel/tcg/user-exec.c @@ -343,7 +343,13 @@ int cpu_signal_handler(int host_signum, void *pinfo, pc = PC_sig(uc); return handle_cpu_signal(pc, info, - TRAP_sig(uc) == 0xe ? (ERROR_sig(uc) >> 1) & 1 : 0, +#if defined(__FreeBSD__) || defined(__DragonFly__) + (TRAP_sig(uc) == 0xe || + TRAP_sig(uc) == 0xc) ? +#else + TRAP_sig(uc) == 0xe ? +#endif + (ERROR_sig(uc) >> 1) & 1 : 0, &MASK_sig(uc)); } -- 2.22.1