Date: Thu, 6 Jun 2002 12:13:20 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: "K.Sumitani" <ksumitani@mui.biglobe.ne.jp> Cc: ia64@FreeBSD.ORG Subject: Re: ia64 kernel does not boot SKI ? Message-ID: <20020606191320.GA2738@dhcp01.pn.xcllnt.net> In-Reply-To: <20020606212522.VANVC0A8274D.C79F0C8A@mail.biglobe.ne.jp> References: <20020605212856.GA47618@dhcp01.pn.xcllnt.net> <20020606212522.VANVC0A8274D.C79F0C8A@mail.biglobe.ne.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020606191320.GA2738>