From owner-freebsd-ia64 Thu Jun 6 12:13:30 2002 Delivered-To: freebsd-ia64@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id EDD0437B404 for ; Thu, 6 Jun 2002 12:13:22 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.6/8.11.4) with ESMTP id g56JDJJ92338; Thu, 6 Jun 2002 12:13:20 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.3/8.12.3) with ESMTP id g56JDL31002778; Thu, 6 Jun 2002 12:13:21 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.3/8.12.3/Submit) id g56JDKa8002777; Thu, 6 Jun 2002 12:13:20 -0700 (PDT) (envelope-from marcel) Date: Thu, 6 Jun 2002 12:13:20 -0700 From: Marcel Moolenaar To: "K.Sumitani" Cc: ia64@FreeBSD.ORG Subject: Re: ia64 kernel does not boot SKI ? Message-ID: <20020606191320.GA2738@dhcp01.pn.xcllnt.net> References: <20020605212856.GA47618@dhcp01.pn.xcllnt.net> <20020606212522.VANVC0A8274D.C79F0C8A@mail.biglobe.ne.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020606212522.VANVC0A8274D.C79F0C8A@mail.biglobe.ne.jp> User-Agent: Mutt/1.3.99i Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Thu, Jun 06, 2002 at 09:25:06PM +0900, K.Sumitani wrote: > > If filesystem exists, clock(RTC or TOD) is read in mountroot- > path as: > vfs_mountroot() -> inittodr -> ski_fake_efi_get_time() Hmm... That one. We were bitten by this before... > ski_fake_efi_get_time() calles ssc() and it executes break > instruction to get RTC from ski. When execute break, some > address range on ski's data window become 'xxxx' and after > then, the value of such address is read as ZERO. This ZERO > cause unaligned access in binuptime() later. The problem is a bug in the Linux port of ski. If you look closely at PSR.dt before and after the SSC call you'll see that PSR.dt gets destroyed. > I looked into Linux kernel source and found that Linux does > not use SSC_GET_RTC. It use SSC_GET_TOD instead. The bug appears to be specific to SSC_GET_RTC. I'll apply your patch, > So, I modified ski_fake_efi_get_time() to use SSC_GET_TOD > as Linux and get another panic at start_init. > Below is console message and stack-trace. This one is known too. Disable WITNESS for now. > BTW, ia64 cross(?) buildworld is broken after May 31. Apply the following patch (possibly whitespace corruption): \begin{patch} --- /usr/src/gnu/lib/libstdc++/Makefile Sun Jun 2 20:22:24 2002 +++ Makefile Tue Jun 4 15:04:58 2002 @@ -16,6 +16,7 @@ CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR} +CFLAGS+= -I${GCCDIR}/config/${MACHINE_ARCH} CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections -Wno-deprecated #LDFLAGS+= -Wl,-version-info,4:0:0 -Wl,--version-script=${SRCDIR}/src/linker.map \end{patch} -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message