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>
