From owner-cvs-all Mon Oct 16 13:15:46 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 8FA4037B66C; Mon, 16 Oct 2000 13:15:43 -0700 (PDT) Received: (from gallatin@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id NAA18435; Mon, 16 Oct 2000 13:15:43 -0700 (PDT) (envelope-from gallatin@FreeBSD.org) Message-Id: <200010162015.NAA18435@freefall.freebsd.org> From: Andrew Gallatin Date: Mon, 16 Oct 2000 13:15:43 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha exception.s src/sys/alpha/include asm.h X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG gallatin 2000/10/16 13:15:43 PDT Modified files: sys/alpha/alpha exception.s sys/alpha/include asm.h Log: Fix problems booting large kernels on alphas. The symptom is that the kernel loads, prints the copyright, and either hangs or locks solid. The PC tends to be in the data segment and the RA is in XentMM Doug really came up with the fix, I'm just the monkey typing. Doug says: The alpha can only support 64k of globals with $gp pointing at base+32k so that the code can use 16bit signed offsets from $gp to access it. .... it is possible to have multiple .got subsections and the linker handles this with the relocations for 'ldgp' pseudo instructions. [Without this patch] the code in exception.s has been linked to use a different gp from locore.s (where pal_kgp is set). Reviewed by: dfr Revision Changes Path 1.4 +5 -1 src/sys/alpha/alpha/exception.s 1.8 +5 -2 src/sys/alpha/include/asm.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message