From owner-cvs-all Sat Oct 12 15:42:50 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 774A637B401; Sat, 12 Oct 2002 15:42:49 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2620843E97; Sat, 12 Oct 2002 15:42:49 -0700 (PDT) (envelope-from marcel@FreeBSD.org) Received: from freefall.freebsd.org (marcel@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g9CMgnCo036110; Sat, 12 Oct 2002 15:42:49 -0700 (PDT) (envelope-from marcel@freefall.freebsd.org) Received: (from marcel@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g9CMgnFa036109; Sat, 12 Oct 2002 15:42:49 -0700 (PDT) Message-Id: <200210122242.g9CMgnFa036109@freefall.freebsd.org> From: Marcel Moolenaar Date: Sat, 12 Oct 2002 15:42:49 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/ia64 exception.s X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG marcel 2002/10/12 15:42:48 PDT Modified files: sys/ia64/ia64 exception.s Log: Plug two holes where we returned to userland without restoring the predicate registers. Even though the ITLB and DTLB interrupts happen often enough, this bug didn't do much harm. The reason is that the interrupt handlers only modify p1 and since this is a preserved (callee-saved) register it is hardly used in code generated by the compiler. Compilers use scratch registers by default. Changing the interrupt handlers to use p6 (ie a scratch register) proved that the bug was in fact fatal. Revision Changes Path 1.35 +2 -0 src/sys/ia64/ia64/exception.s To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message