NetBSD Problem Report #50635
From www@NetBSD.org Fri Jan 8 21:51:54 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.NetBSD.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 618C47A20F
for <gnats-bugs@gnats.NetBSD.org>; Fri, 8 Jan 2016 21:51:54 +0000 (UTC)
Message-Id: <20160108215153.601B37ACCA@mollari.NetBSD.org>
Date: Fri, 8 Jan 2016 21:51:53 +0000 (UTC)
From: frank.zerangue@gmail.com
Reply-To: frank.zerangue@gmail.com
To: gnats-bugs@NetBSD.org
Subject: arm11_setup() cpuctrlmask value causes CPU_CONTROL_VECRELOC bit to toggle
X-Send-Pr-Version: www-1.0
>Number: 50635
>Category: port-arm
>Synopsis: arm11_setup() cpuctrlmask value causes CPU_CONTROL_VECRELOC bit to toggle
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-arm-maintainer
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jan 08 21:55:01 +0000 2016
>Closed-Date: Tue Aug 30 10:05:27 +0000 2022
>Last-Modified: Tue Aug 30 10:05:27 +0000 2022
>Originator: Frank Zerangue
>Release: NetBSD-7.0
>Organization:
>Environment:
Darwin Franks-Mac-Pro-3.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
>Description:
arch/arm/arm/cpufunc.c: arm11_setup()
// When using high vectors, code below sets CPU_CONTROL_VECRELOC bit in cpuctrl.
// When cpu_control(cpuctrlmask,cpuctrl) is called later cpu_control() will toggle bit if already set rather than set it because cpuctrlmask does not contain this bit.
#ifndef ARM_HAS_VBAR
if (vector_page == ARM_VECTORS_HIGH)
cpuctrl |= CPU_CONTROL_VECRELOC;
#endif
>How-To-Repeat:
>Fix:
#ifndef ARM_HAS_VBAR
if (vector_page == ARM_VECTORS_HIGH) {
cpuctrl |= CPU_CONTROL_VECRELOC;
cpuctrlmask |= CPU_CONTROL_VECRELOC;
}
#endif
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed
State-Changed-By: skrll@NetBSD.org
State-Changed-When: Tue, 30 Aug 2022 10:05:27 +0000
State-Changed-Why:
----------------------------
revision 1.184
date: 2022-05-16 08:07:17 +0100; author: skrll; state: Exp; lines: +5 -4; commitid: CiWBCtxMjHh0wfED;
port-arm/50635: arm11_setup() cpuctrlmask value causes CPU_CONTROL_VECRELOC bit to toggle
Fix slightly differently to as suggested in the PR. Annotate arm10_setup
while I'm here.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.