From owner-freebsd-ia64 Sun Oct 14 0:35: 4 2001 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 1157937B40A for ; Sun, 14 Oct 2001 00:35:02 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9E7Z1I93477; Sun, 14 Oct 2001 00:35:01 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9E7ZLK06734; Sun, 14 Oct 2001 00:35:21 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 00:35:21 -0700 From: Marcel Moolenaar To: Peter Wemm Cc: ia64@FreeBSD.ORG Subject: Re: vfprintf.c Message-ID: <20011014003521.A6557@dhcp01.pn.xcllnt.net> References: <20011013215052.A1551@dhcp01.pn.xcllnt.net> <20011014061413.4A1F73810@overcee.netplex.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20011014061413.4A1F73810@overcee.netplex.com.au> User-Agent: Mutt/1.3.21i 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 Sat, Oct 13, 2001 at 11:14:13PM -0700, Peter Wemm wrote: > Marcel Moolenaar wrote: > > Guys, > > > > Do we already have a "formal" solution for libc/stdio/vfprintf.c? > > I experimented with changing argtable to not store the addresses > > of the varargs (which fails on ia64), but to hold the values > > themselves and that works good. This is probably a pessimisation > > on i386; more so than on Alpha. An alternative is to not use the > > argtable at all. > > > > Is anybody taking a look at this? > > Doug already posted a patch which fixes it.. It should be committed. Yes, it should. I'm surprised it hasn't been done already. The patch is quite old... -- 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 From owner-freebsd-ia64 Sun Oct 14 6:45:54 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-11.mail.demon.net (finch-post-11.mail.demon.net [194.217.242.39]) by hub.freebsd.org (Postfix) with ESMTP id DC78837B42A for ; Sun, 14 Oct 2001 06:45:42 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-11.mail.demon.net with esmtp (Exim 2.12 #1) id 15slaH-0005UA-0B; Sun, 14 Oct 2001 13:45:41 +0000 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f9EDiQ731800; Sun, 14 Oct 2001 14:44:26 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Sun, 14 Oct 2001 14:42:47 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: Subject: Re: vfprintf.c In-Reply-To: <20011013215052.A1551@dhcp01.pn.xcllnt.net> Message-ID: <20011014144109.J549-100000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Sat, 13 Oct 2001, Marcel Moolenaar wrote: > Guys, > > Do we already have a "formal" solution for libc/stdio/vfprintf.c? > I experimented with changing argtable to not store the addresses > of the varargs (which fails on ia64), but to hold the values > themselves and that works good. This is probably a pessimisation > on i386; more so than on Alpha. An alternative is to not use the > argtable at all. > > Is anybody taking a look at this? This is the patch that I am using (storing the values instead of the pointers). I did put it up for review and at the time, Bruce pointed out that the argtable was only needed for a non-standard feature so perhaps the whole thing can be ripped out. Index: vfprintf.c =================================================================== RCS file: /home/ncvs/src/lib/libc/stdio/vfprintf.c,v retrieving revision 1.29 diff -u -r1.29 vfprintf.c --- vfprintf.c 2001/08/20 12:53:34 1.29 +++ vfprintf.c 2001/10/06 16:00:42 @@ -70,11 +70,30 @@ /* Define FLOATING_POINT to get floating point. */ #define FLOATING_POINT +union arg { + int intarg; + unsigned int uintarg; + long longarg; + unsigned long ulongarg; + quad_t quadarg; + u_quad_t uquadarg; + void *pvoidarg; + char *pchararg; + short *pshortarg; + int *pintarg; + long *plongarg; + quad_t *pquadarg; +#ifdef FLOATING_POINT + double doublearg; + long double longdoublearg; +#endif +}; + static int __sprint __P((FILE *, struct __suio *)); static int __sbprintf __P((FILE *, const char *, va_list)) __printflike(2, 0); static char * __ultoa __P((u_long, char *, int, int, char *)); static char * __uqtoa __P((u_quad_t, char *, int, int, char *)); -static void __find_arguments __P((const char *, va_list, void ***)); +static void __find_arguments __P((const char *, va_list, union arg **)); static void __grow_type_table __P((int, unsigned char **, int *)); /* @@ -330,8 +349,8 @@ struct __siov iov[NIOV];/* ... and individual io vectors */ char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ char ox[2]; /* space for 0x hex-prefix */ - void **argtable; /* args, built due to positional arg */ - void *statargtable [STATIC_ARG_TBL_SIZE]; + union arg *argtable; /* args, built due to positional arg */ + union arg statargtable [STATIC_ARG_TBL_SIZE]; int nextarg; /* 1-based argument index */ va_list orgap; /* original argument pointer */ @@ -382,7 +401,7 @@ * argument (and arguments must be gotten sequentially). */ #define GETARG(type) \ - ((argtable != NULL) ? *((type*)(argtable[nextarg++])) : \ + ((argtable != NULL) ? *((type*)(&argtable[nextarg++])) : \ (nextarg++, va_arg(ap, type))) /* @@ -912,7 +931,7 @@ * It will be replaces with a malloc-ed one if it overflows. */ static void -__find_arguments (const char *fmt0, va_list ap, void ***argtable) +__find_arguments (const char *fmt0, va_list ap, union arg **argtable) { char *fmt; /* format string */ int ch; /* character from fmt */ @@ -1112,63 +1131,65 @@ * Build the argument table. */ if (tablemax >= STATIC_ARG_TBL_SIZE) { - *argtable = (void **) - malloc (sizeof (void *) * (tablemax + 1)); + *argtable = (union arg *) + malloc (sizeof (union arg) * (tablemax + 1)); } - (*argtable) [0] = NULL; + (*argtable) [0].intarg = 0; for (n = 1; n <= tablemax; n++) { switch (typetable [n]) { case T_UNUSED: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_U_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case TP_SHORT: - (*argtable) [n] = (void *) &va_arg (ap, short *); + (*argtable) [n].pshortarg = va_arg (ap, short *); break; case T_INT: - (*argtable) [n] = (void *) &va_arg (ap, int); + (*argtable) [n].intarg = va_arg (ap, int); break; case T_U_INT: - (*argtable) [n] = (void *) &va_arg (ap, unsigned int); + (*argtable) [n].uintarg = va_arg (ap, unsigned int); break; case TP_INT: - (*argtable) [n] = (void *) &va_arg (ap, int *); + (*argtable) [n].pintarg = va_arg (ap, int *); break; case T_LONG: - (*argtable) [n] = (void *) &va_arg (ap, long); + (*argtable) [n].longarg = va_arg (ap, long); break; case T_U_LONG: - (*argtable) [n] = (void *) &va_arg (ap, unsigned long); + (*argtable) [n].ulongarg = va_arg (ap, unsigned long); break; case TP_LONG: - (*argtable) [n] = (void *) &va_arg (ap, long *); + (*argtable) [n].plongarg = va_arg (ap, long *); break; case T_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, quad_t); + (*argtable) [n].quadarg = va_arg (ap, quad_t); break; case T_U_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, u_quad_t); + (*argtable) [n].uquadarg = va_arg (ap, u_quad_t); break; case TP_QUAD: - (*argtable) [n] = (void *) &va_arg (ap, quad_t *); + (*argtable) [n].pquadarg = va_arg (ap, quad_t *); break; +#ifdef FLOATING_POINT case T_DOUBLE: - (*argtable) [n] = (void *) &va_arg (ap, double); + (*argtable) [n].doublearg = va_arg (ap, double); break; case T_LONG_DOUBLE: - (*argtable) [n] = (void *) &va_arg (ap, long double); + (*argtable) [n].longdoublearg = va_arg (ap, long double); break; +#endif case TP_CHAR: - (*argtable) [n] = (void *) &va_arg (ap, char *); + (*argtable) [n].pchararg = va_arg (ap, char *); break; case TP_VOID: - (*argtable) [n] = (void *) &va_arg (ap, void *); + (*argtable) [n].pvoidarg = va_arg (ap, void *); break; } } -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 6:46:17 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-11.mail.demon.net (finch-post-11.mail.demon.net [194.217.242.39]) by hub.freebsd.org (Postfix) with ESMTP id 3CF7937B407 for ; Sun, 14 Oct 2001 06:46:14 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-11.mail.demon.net with esmtp (Exim 2.12 #1) id 15slan-0005a7-0B; Sun, 14 Oct 2001 13:46:13 +0000 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f9EDiv731804; Sun, 14 Oct 2001 14:44:57 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Sun, 14 Oct 2001 14:43:19 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: Peter Wemm , Subject: Re: vfprintf.c In-Reply-To: <20011014003521.A6557@dhcp01.pn.xcllnt.net> Message-ID: <20011014144309.Y549-100000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Sun, 14 Oct 2001, Marcel Moolenaar wrote: > On Sat, Oct 13, 2001 at 11:14:13PM -0700, Peter Wemm wrote: > > Marcel Moolenaar wrote: > > > Guys, > > > > > > Do we already have a "formal" solution for libc/stdio/vfprintf.c? > > > I experimented with changing argtable to not store the addresses > > > of the varargs (which fails on ia64), but to hold the values > > > themselves and that works good. This is probably a pessimisation > > > on i386; more so than on Alpha. An alternative is to not use the > > > argtable at all. > > > > > > Is anybody taking a look at this? > > > > Doug already posted a patch which fixes it.. It should be committed. > > Yes, it should. I'm surprised it hasn't been done already. The patch > is quite old... I keep forgetting... -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 7: 0:35 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-10.mail.demon.net (finch-post-10.mail.demon.net [194.217.242.38]) by hub.freebsd.org (Postfix) with ESMTP id 774DD37B40C for ; Sun, 14 Oct 2001 07:00:32 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-10.mail.demon.net with esmtp (Exim 2.12 #1) id 15slob-000EP3-0A; Sun, 14 Oct 2001 14:00:30 +0000 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f9EDxE732058; Sun, 14 Oct 2001 14:59:14 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Sun, 14 Oct 2001 14:57:36 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: Peter Wemm , Subject: Re: vfprintf.c In-Reply-To: <20011014144309.Y549-100000@salmon.nlsystems.com> Message-ID: <20011014145724.G549-100000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Sun, 14 Oct 2001, Doug Rabson wrote: > On Sun, 14 Oct 2001, Marcel Moolenaar wrote: > > > On Sat, Oct 13, 2001 at 11:14:13PM -0700, Peter Wemm wrote: > > > Marcel Moolenaar wrote: > > > > Guys, > > > > > > > > Do we already have a "formal" solution for libc/stdio/vfprintf.c? > > > > I experimented with changing argtable to not store the addresses > > > > of the varargs (which fails on ia64), but to hold the values > > > > themselves and that works good. This is probably a pessimisation > > > > on i386; more so than on Alpha. An alternative is to not use the > > > > argtable at all. > > > > > > > > Is anybody taking a look at this? > > > > > > Doug already posted a patch which fixes it.. It should be committed. > > > > Yes, it should. I'm surprised it hasn't been done already. The patch > > is quite old... > > I keep forgetting... I committed it. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 8:41:39 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by hub.freebsd.org (Postfix) with SMTP id 90DEB37B408 for ; Sun, 14 Oct 2001 08:41:35 -0700 (PDT) Received: (qmail 16806 invoked by uid 0); 14 Oct 2001 15:41:33 -0000 Received: from pd9e1659f.dip.t-dialin.net (HELO forge.local) (217.225.101.159) by mail.gmx.net (mp002-rz3) with SMTP; 14 Oct 2001 15:41:33 -0000 Received: from tmm by forge.local with local (Exim 3.30 #1) id 15snON-0000Zc-00; Sun, 14 Oct 2001 17:41:31 +0200 Date: Sun, 14 Oct 2001 17:41:31 +0200 From: Thomas Moestl To: Doug Rabson Cc: ia64@freebsd.org Subject: Re: Things to do Message-ID: <20011014174131.A449@crow.dom2ip.de> Mail-Followup-To: Doug Rabson , ia64@freebsd.org References: <20011007170619.C530-100000@salmon.nlsystems.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20011007170619.C530-100000@salmon.nlsystems.com>; from dfr@nlsystems.com on Sun, Oct 07, 2001 at 05:15:46PM +0100 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 Sun, 2001/10/07 at 17:15:46 +0100, Doug Rabson wrote: > A random list of things which need doing: > [...] > Make all drivers use busdma This is also needed for the sparc64 port, so it would probably nice to coordinate on this to avoid duplicated work. I have started to convert the ATA driver (because my sparc box has ATA disks ;). The changes are in testing at the moment, but seem to mostly work already. - thomas To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 12:43:25 2001 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 3459137B40C for ; Sun, 14 Oct 2001 12:43:23 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9EJhHI95018; Sun, 14 Oct 2001 12:43:17 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9EJhfp01676; Sun, 14 Oct 2001 12:43:41 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 12:43:41 -0700 From: Marcel Moolenaar To: Doug Rabson Cc: ia64@FreeBSD.org Subject: Re: vfprintf.c Message-ID: <20011014124341.A545@dhcp01.pn.xcllnt.net> References: <20011013215052.A1551@dhcp01.pn.xcllnt.net> <20011014144109.J549-100000@salmon.nlsystems.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20011014144109.J549-100000@salmon.nlsystems.com> User-Agent: Mutt/1.3.21i 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 Sun, Oct 14, 2001 at 02:42:47PM +0100, Doug Rabson wrote: > > This is the patch that I am using (storing the values instead of the > pointers). I did put it up for review and at the time, Bruce pointed out > that the argtable was only needed for a non-standard feature so perhaps > the whole thing can be ripped out. The feature doesn't seem documented and NetBSD (for example) doesn't have it at all. I think we should (eventually) rip it out. -- 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 From owner-freebsd-ia64 Sun Oct 14 21:10:37 2001 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 354CC37B41B for ; Sun, 14 Oct 2001 21:10:24 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F4ANI95906 for ; Sun, 14 Oct 2001 21:10:23 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F4AmG00767 for ia64@FreeBSD.org; Sun, 14 Oct 2001 21:10:48 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 21:10:47 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.org Subject: Booting a dual Itanium Lion box Message-ID: <20011014211047.A654@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.21i 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 Gang, I had a chance to boot FreeBSD on a dual Itanium Lion box. The box had 4GB RAM, so after changing get_pv_entry in pmap.c I got: \begin{verbatim} PAL Proc at 0xe00000007ff48010 SAL Proc at 0xe00000007febac40, GP at 0xe00000007ff26390 Platform clock frequency 133349000 Hz Processor ratio 12/2, Bus ratio 1/1, ITC ratio 12/2 ptc.e base=0x0, count1=1, count2=1, stride1=0x0, stride2=0x0 ACPI debug layer 0x0 debug level 0x0 Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #35: Sun Oct 14 19:29:27 PDT 2001 marcel@vaio.foo.xcllnt.net:/usr/src/sys/ia64/compile/ITANIUM CPU: Itanium (800.09-Mhz) Origin = "GenuineIntel" Model = 0 Revision = 6 Features = 0x0 real memory = 4288634880 (4188120K bytes) Physical memory chunk(s): 0x0000c000 - 0x0006ffff, 409600 bytes (50 pages) 0x00100000 - 0x004fffff, 4194304 bytes (512 pages) 0x00bd4000 - 0x7fce1fff, 2131812352 bytes (260231 pages) 0x7fe94000 - 0x7fe95fff, 8192 bytes (1 pages) 0x7ff7c000 - 0x7ff7ffff, 16384 bytes (2 pages) 0x100000000 - 0x17fd87fff, 2144894976 bytes (261828 pages) 0x17fef4000 - 0x17ff03fff, 65536 bytes (8 pages) avail memory = 4127653888 (4030912K bytes) Preloaded elf kernel "/kernel" at 0xe000000000bd2000. null: random: mem: Table 'FACP' at 0xe00000007fe9c700 Table 'APIC' at 0xe00000007fe9c838 Local SAPIC entry ProcessorId=0x0, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0x201, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa02, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa03, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa04, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa05, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa06, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa07, Id=0x0, Eid=0x0 I/O SAPIC entry Id=0x4, Vector=0x0, Address=0xfec00000 Interrupt source override entry Bus=0, Source=9, Irq=0x9 Platform interrupt entry Polarity=3, TriggerMode=1, Id=0x0, Eid=0x0, Vector=0x2, Irq=61 Platform interrupt entry Polarity=3, TriggerMode=3, Id=0x0, Eid=0x0, Vector=0x1e, Irq=60 acpi0: on motherboard fatal kernel trap: trap vector = 0x1e (Unaligned Reference) cr.iip = 0xe00000000053e590 cr.ipsr = 0x121008022010 (mfl,ic,dt,rt,cpl=0,it,ri=1,bn) cr.isr = 0x20400000000 (r,ei=1) cr.ifa = 0xc00000007fe9663f cr.iim = 0xcf curthread = 0xe000000000b5b1c8 pid = 0, comm = swapper Stopped at AcpiDsGetRegionArguments+0x141: ld4 r48=[r47] db> trace \end{verbatim} I've attached the trace to preserved the long lines as much as possible. I didn't had a chance to debug or fix this yet. I'll see if I can hijack the box again sometime late at night or so... -- 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 From owner-freebsd-ia64 Sun Oct 14 21:12:24 2001 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 0AA2A37B40B for ; Sun, 14 Oct 2001 21:12:20 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F4CJI95922 for ; Sun, 14 Oct 2001 21:12:19 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F4Ch100823 for ia64@FreeBSD.org; Sun, 14 Oct 2001 21:12:43 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 21:12:43 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.org Subject: Booting a dual Itanium Lion box - the sequel Message-ID: <20011014211243.A771@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="J/dobhs11T7y2rNN" Content-Disposition: inline User-Agent: Mutt/1.3.21i 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 --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline It helps to actually attach the trace... -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="trace.txt" fatal kernel trap: trap vector = 0x1e (Unaligned Reference) cr.iip = 0xe00000000053e590 cr.ipsr = 0x121008022010 (mfl,ic,dt,rt,cpl=0,it,ri=1,bn) cr.isr = 0x20400000000 (r,ei=1) cr.ifa = 0xc00000007fe9663f cr.iim = 0xcf curthread = 0xe000000000b5b1c8 pid = 0, comm = swapper Stopped at AcpiDsGetRegionArguments+0x141: ld4 r48=[r47] db> trace AcpiDsGetRegionArguments(0xa0000000044a3980, 0xe000000000c40000, 0xe000000000a3f020, 0xa0000000044a3980, 0x9c, 0xa00000000449c980, 0xa0000000044a3940, 0xe000000000a3f040) at AcpiDsGetRegionArguments+0x140 AcpiExSetupField(0xa0000000044a38c0, 0x0, 0xe000000000c40000, 0xe000000000c40000, 0xe000000000a3f060, 0xa0000000044a3980, 0xa0000000044a38c0, 0x0) at AcpiExSetupField+0x190 AcpiExWriteFieldDatum(0xa0000000044a38c0, 0x0, 0x55, 0xe000000000c40000, 0x0, 0xa0000000044a38c0, 0xe00000000055c0a0, 0x797) at AcpiExWriteFieldDatum+0x170 AcpiExWriteFieldDatumWithUpdateRule(0xa0000000044a38c0, 0xffffffff, 0x55, 0x0, 0xe000000000c40000, 0xe000000000c40000, 0xa0000000044a38c0, 0x55) at AcpiExWriteFieldDatumWithUpdateRule+0x290 AcpiExInsertIntoField(0xa0000000044a38c0, 0xa0000000044aac88, 0x8, 0xe000000000c40000, 0x1, 0xa0000000044a38cd, 0xa0000000044a38c0, 0x0) at AcpiExInsertIntoField+0x300 AcpiExCommonAccessField(0x2, 0xa0000000044a38c0, 0xa0000000044aac88, 0x8) at AcpiExCommonAccessField+0x1b0 AcpiExAccessRegionField(0x2, 0xa0000000044a38c0, 0xa0000000044aac88, 0x8) at AcpiExAccessRegionField+0xf0 AcpiExWriteDataToField(0xa0000000044aac80, 0xa0000000044a38c0, 0xe000000000c40000, 0xa0000000044aac80, 0xa0000000044a38c0, 0xe000000000a3f1e0, 0xe0000000005673e0, 0x695) at AcpiExWriteDataToField+0x230 AcpiExStoreObjectToNode(0xa0000000044aac80, 0xa0000000044a3900, 0xa000000003c7c000, 0xe000000000c40000, 0xe000000000989f18, 0xe000000000a3f200, 0x0) at AcpiExStoreObjectToNode+0x310 AcpiExStore(0xa0000000044aac80, 0xa0000000044a3900, 0xa000000003c7c000, 0xe000000000c40000, 0xa000000003c7c000) at AcpiExStore+0x190 AcpiExMonadic2R(0xa000000003c7c000, 0xe000000000c40000, 0x0, 0x2, 0xe000000000980bc8, 0xe000000000980a20, 0xa000000003c7c2c0) at AcpiExMonadic2R+0xb50 AcpiDsExecEndOp(0xa000000003c7c000, 0xe000000000c40000, 0xa000000003c7c007, 0xe000000000c40000, 0x0, 0xa000000003c7c000, 0x9, 0xa000000003c7c007) at AcpiDsExecEndOp+0x740 AcpiPsParseLoop(0xa000000003c7c000, 0xe000000000c40000, 0xa000000003c7c018, 0xa000000003c7c000, 0xa000000003c7c014, 0xa000000003c7c320, 0x0) at AcpiPsParseLoop+0x1300 AcpiPsParseAml(0xa000000003c7d000, 0xe000000000c40000, 0xe000000000c40000, 0x0, 0x4003, 0xa000000003c7c000, 0x0, 0xe000000000a3f458) at AcpiPsParseAml+0x1e0 AcpiPsxExecute(0xa00000000449cfc0, 0x0, 0xe000000000a3f458, 0xe000000000c40000, 0xa000000003c7d000, 0x0) at AcpiPsxExecute+0x570 AcpiNsExecuteControlMethod(0xa00000000449cfc0, 0x0, 0xe000000000a3f458) at AcpiNsExecuteControlMethod+0x2a0 AcpiNsEvaluateByHandle(0xa00000000449cfc0, 0x0, 0x0, 0xa00000000449cfc0, 0xe000000000c40000, 0x0, 0xa00000000449cfc0) at AcpiNsEvaluateByHandle+0x210 AcpiNsEvaluateRelative(0xa00000000449d040, 0xe000000000985b88, 0x0, 0x0, 0xe000000000c40000, 0xe000000000a3f4a0) at AcpiNsEvaluateRelative+0x300 AcpiNsInitOneDevice(0xa00000000449d040, 0x3, 0xe000000000a3f5d0, 0xe000000000c40000) at AcpiNsInitOneDevice+0x2c0 AcpiNsWalkNamespace(0x6, 0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xe0000000009f0410, 0xe000000000a3f5d0, 0x0) at AcpiNsWalkNamespace+0x1d0 AcpiNsInitializeDevices(0xe000000000a3f5d0, 0xe000000000c40000, 0xe000000000a3f5f0, 0xe000000000a3f5b0) at AcpiNsInitializeDevices+0x110 AcpiEnableSubsystem(0x0, 0xe000000000c40000, 0xe000000000a3f5f0, 0xe000000000a3f5f0, 0x0, 0xe000000000a3f610, 0xe0000000005ae470, 0x716) at AcpiEnableSubsystem+0x400 acpi_attach(0xa000000003c8af00, 0xe000000000c40000, 0x0, 0x6) at acpi_attach+0x390 device_probe_and_attach(0xa000000003c8af00) at device_probe_and_attach+0x220 bus_generic_attach(0xa000000003c8b200) at bus_generic_attach+0x30 nexus_attach(0xa000000003c8b200, 0xe000000000a3f680, 0xe000000000734aa0, 0x48d) at nexus_attach+0xe0 device_probe_and_attach(0xa000000003c8b200) at device_probe_and_attach+0x220 root_bus_configure(0xe000000000c40000, 0xa000000003c8b200, 0xe000000000a3f6a0) at root_bus_configure+0x50 configure(0xe000000000c40000, 0xe000000000a3f6b0) at configure+0x70 mi_startup() at mi_startup+0x2c0 mi_startup() at mi_startup db> ps pid proc addr uid ppid pgrp flag stat wmesg wchan cmd 18 a000000048578ba0 e00000000019c000 0 0 0 000204 6 intr: acpi0 17 a0000000485790c0 e00000000019a000 0 0 0 000204 6 swi5: task queue 16 a0000000485795e0 e000000000190000 0 0 0 000204 6 swi3: cambio 15 a000000048579b00 e00000000016e000 0 0 0 000204 6 swi2: camnet 14 a00000004857a020 e00000000006c000 0 0 0 000204 2 random 13 a00000004857a540 e00000000006a000 0 0 0 000204 6 swi4: vm 12 a00000004857aa60 e000000000060000 0 0 0 00020c 6 swi6: clock 11 a00000004857af80 e000000000056000 0 0 0 000204 6 swi1: net 10 a00000004857b4a0 e00000000000e000 0 0 0 00020c 2 idle 1 a00000004857b9c0 e00000000000c000 0 0 0 000200 1 swapper 0 e000000000b5b028 e000000000002000 0 0 0 000200 2 swapper db> --J/dobhs11T7y2rNN-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 22:31:18 2001 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 BDE3C37B40B for ; Sun, 14 Oct 2001 22:31:10 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F5VAI96053 for ; Sun, 14 Oct 2001 22:31:10 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F5VY200617 for ia64@FreeBSD.ORG; Sun, 14 Oct 2001 22:31:34 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 22:31:34 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.ORG Subject: Faulty ACPI debug code [was: Re: Booting a dual ...] Message-ID: <20011014223134.A543@dhcp01.pn.xcllnt.net> References: <20011014211243.A771@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20011014211243.A771@dhcp01.pn.xcllnt.net> User-Agent: Mutt/1.3.21i 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 Sun, Oct 14, 2001 at 09:12:43PM -0700, Marcel Moolenaar wrote: > It helps to actually attach the trace... > > fatal kernel trap: > > trap vector = 0x1e (Unaligned Reference) > cr.iip = 0xe00000000053e590 > cr.ipsr = 0x121008022010 (mfl,ic,dt,rt,cpl=0,it,ri=1,bn) > cr.isr = 0x20400000000 (r,ei=1) > cr.ifa = 0xc00000007fe9663f > cr.iim = 0xcf > curthread = 0xe000000000b5b1c8 > pid = 0, comm = swapper > > Stopped at AcpiDsGetRegionArguments+0x141: ld4 r48=[r47] I located the spot. It's in /sys/contrib/dev/acpi/dsopcode.c:325: ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "[%4.4s] OpRegion Init at AML %p[%x]\n", &Node->Name, ExtraDesc->Extra.AmlStart, *(UINT32*) ExtraDesc->Extra.AmlStart)); AmlStart is defined as a pointer to UINT8, so it looks like faulty debug code... I'll remove ACPI_DEBUG from my kernel config file and try again when I get a chance. -- 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 From owner-freebsd-ia64 Sun Oct 14 22:34:26 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 857B037B407 for ; Sun, 14 Oct 2001 22:34:23 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f9F5YNM98870 for ; Sun, 14 Oct 2001 22:34:23 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 3D861380F for ; Sun, 14 Oct 2001 22:34:23 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: ia64@freebsd.org Subject: OK.. what's the secret for ski now? Date: Sun, 14 Oct 2001 22:34:23 -0700 From: Peter Wemm Message-Id: <20011015053423.3D861380F@overcee.netplex.com.au> 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 I tried the way I used to do it: $ ski -i ia64.cmd bootloader kernel.ski loading kernel.ski... starting kernel... No system table! fatal kernel trap: trap vector = 0x18 (General Exception) cr.iip = 0xe0000000007d72e0 cr.ipsr = 0x1210080a2010 (mfl,ic,dt,dfh,rt,cpl=0,it,ri=1,bn) cr.isr = 0x8000000030 (ni,ei=0) cr.ifa = 0xdfffffffffffffe8 cr.iim = 0x0 curthread = 0 Stopped at 0xe0000000007d72e1: ld4 r15=[r14] db> 60000e ? db> c This happened with both the GENERIC and SKI kernels. I'm guessing that some dependency on EFI/SAL/whatever has crept in and is not conditional. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 22:36: 7 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from mass.dis.org (mass.dis.org [216.240.45.41]) by hub.freebsd.org (Postfix) with ESMTP id 22ABA37B407 for ; Sun, 14 Oct 2001 22:36:03 -0700 (PDT) Received: from mass.dis.org (localhost [127.0.0.1]) by mass.dis.org (8.11.6/8.11.3) with ESMTP id f9F5lLx04912; Sun, 14 Oct 2001 22:47:21 -0700 (PDT) (envelope-from msmith@mass.dis.org) Message-Id: <200110150547.f9F5lLx04912@mass.dis.org> X-Mailer: exmh version 2.1.1 10/15/1999 To: Marcel Moolenaar Cc: ia64@FreeBSD.ORG, Andrew.Grover@intel.com Subject: Re: Faulty ACPI debug code [was: Re: Booting a dual ...] In-reply-to: Your message of "Sun, 14 Oct 2001 22:31:34 PDT." <20011014223134.A543@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 14 Oct 2001 22:47:21 -0700 From: Mike Smith 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 I've copied the Intel ACPI CA folks on this, since I'm sure they'll be interested. Thanks! > On Sun, Oct 14, 2001 at 09:12:43PM -0700, Marcel Moolenaar wrote: > > It helps to actually attach the trace... > > > > fatal kernel trap: > > > > trap vector = 0x1e (Unaligned Reference) > > cr.iip = 0xe00000000053e590 > > cr.ipsr = 0x121008022010 (mfl,ic,dt,rt,cpl=0,it,ri=1,bn) > > cr.isr = 0x20400000000 (r,ei=1) > > cr.ifa = 0xc00000007fe9663f > > cr.iim = 0xcf > > curthread = 0xe000000000b5b1c8 > > pid = 0, comm = swapper > > > > Stopped at AcpiDsGetRegionArguments+0x141: ld4 r48=[r47] > > I located the spot. It's in /sys/contrib/dev/acpi/dsopcode.c:325: > > ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "[%4.4s] OpRegion Init at AML %p[%x]\n", > &Node->Name, ExtraDesc->Extra.AmlStart, > *(UINT32*) ExtraDesc->Extra.AmlStart)); > > AmlStart is defined as a pointer to UINT8, so it looks like faulty > debug code... > > I'll remove ACPI_DEBUG from my kernel config file and try again when > I get a chance. > > -- > 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 -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 22:55:53 2001 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 BA03737B401; Sun, 14 Oct 2001 22:55:40 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F5tdI96109; Sun, 14 Oct 2001 22:55:39 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F5u3t04515; Sun, 14 Oct 2001 22:56:03 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 22:56:03 -0700 From: Marcel Moolenaar To: Mike Smith Cc: ia64@FreeBSD.ORG, Andrew.Grover@intel.com Subject: Re: Faulty ACPI debug code [was: Re: Booting a dual ...] Message-ID: <20011014225603.B543@dhcp01.pn.xcllnt.net> References: <20011014223134.A543@dhcp01.pn.xcllnt.net> <200110150547.f9F5lLx04912@mass.dis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200110150547.f9F5lLx04912@mass.dis.org> User-Agent: Mutt/1.3.21i 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 Sun, Oct 14, 2001 at 10:47:21PM -0700, Mike Smith wrote: > > I've copied the Intel ACPI CA folks on this, since I'm sure they'll be > interested. Then they probably want to know about the following as well: \begin{verbatim} Index: utmath.c =================================================================== RCS file: /home/ncvs/src/sys/contrib/dev/acpica/utmath.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 utmath.c --- utmath.c 4 Oct 2001 23:12:13 -0000 1.1.1.1 +++ utmath.c 15 Oct 2001 05:52:41 -0000 @@ -416,7 +416,7 @@ *OutRemainder = *InDividend % *InDivisor; } - return_ACPI_STATUS (AE_OK) + return_ACPI_STATUS (AE_OK); } #endif \end{verbatim} :-) -- 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 From owner-freebsd-ia64 Sun Oct 14 23:28:27 2001 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 41C6437B40A for ; Sun, 14 Oct 2001 23:28:24 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F6SNI96155; Sun, 14 Oct 2001 23:28:23 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F6Skd05410; Sun, 14 Oct 2001 23:28:46 -0700 (PDT) (envelope-from marcel) Date: Sun, 14 Oct 2001 23:28:45 -0700 From: Marcel Moolenaar To: Peter Wemm Cc: ia64@FreeBSD.ORG Subject: Re: OK.. what's the secret for ski now? Message-ID: <20011014232845.C543@dhcp01.pn.xcllnt.net> References: <20011015053423.3D861380F@overcee.netplex.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20011015053423.3D861380F@overcee.netplex.com.au> User-Agent: Mutt/1.3.21i 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 Sun, Oct 14, 2001 at 10:34:23PM -0700, Peter Wemm wrote: > > Stopped at 0xe0000000007d72e1: ld4 r15=[r14] > db> 60000e > ? > db> c > > This happened with both the GENERIC and SKI kernels. I'm guessing that > some dependency on EFI/SAL/whatever has crept in and is not conditional. It looks like the descriptor count is 0 (in machdep.c). I guess md != NULL while dcount == 0. The following should help: Index: machdep.c =================================================================== RCS file: /home/ncvs/src/sys/ia64/ia64/machdep.c,v retrieving revision 1.55 diff -u -r1.55 machdep.c --- machdep.c 11 Oct 2001 12:31:50 -0000 1.55 +++ machdep.c 15 Oct 2001 06:28:05 -0000 @@ -528,7 +528,7 @@ */ mdcount = bootinfo.bi_memmap_size / bootinfo.bi_memdesc_size; md = (EFI_MEMORY_DESCRIPTOR *) IA64_PHYS_TO_RR7(bootinfo.bi_memmap); - if (!md) { + if (md == NULL || mdcount == 0) { #ifdef SKI static EFI_MEMORY_DESCRIPTOR ski_md[2]; /* -- 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 From owner-freebsd-ia64 Sun Oct 14 23:37: 7 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 59D3F37B407; Sun, 14 Oct 2001 23:37:01 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f9F6b1M98994; Sun, 14 Oct 2001 23:37:01 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id EF98C3810; Sun, 14 Oct 2001 23:37:00 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Mike Smith Cc: Marcel Moolenaar , ia64@FreeBSD.ORG, Andrew.Grover@intel.com Subject: Re: Faulty ACPI debug code [was: Re: Booting a dual ...] In-Reply-To: <200110150547.f9F5lLx04912@mass.dis.org> Date: Sun, 14 Oct 2001 23:37:00 -0700 From: Peter Wemm Message-Id: <20011015063700.EF98C3810@overcee.netplex.com.au> 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 Mike Smith wrote: > > I've copied the Intel ACPI CA folks on this, since I'm sure they'll be > interested. While on the subject, If you add printf format checking, there are some *nasty* problems in the debug printfs. They fixed about 2/3 of them a few months ago but left the others alone. They're still trying to printf a 64 bit int with %p on the i386 platform (which causes stack misalignment). ie: --- acutils.h 2001/10/04 23:12:11 1.1.1.11 +++ acutils.h 2001/10/15 06:00:36 @@ -436,5 +436,5 @@ ACPI_DEBUG_PRINT_INFO *DbgInfo, char *Format, - ...); + ...) __attribute__ ((format (printf, 4, 5))); void @@ -444,5 +444,5 @@ ACPI_DEBUG_PRINT_INFO *DbgInfo, char *Format, - ...); + ...) __attribute__ ((format (printf, 4, 5))); Additional warnings about the function in question: dsopcode.c: In function `AcpiDsGetRegionArguments': dsopcode.c:325: warning: char format, different type arg (arg 5) Line 325: ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "[%4.4s] OpRegion Init at AML %p[%x]\n", &Node->Name, ExtraDesc->Extra.AmlStart, *(UINT32*) ExtraDesc->Extra.AmlStart)); typedef struct acpi_node { UINT32 Name; /* ACPI Name, always 4 chars per ACPI spec */ } ACPI_NAMESPACE_NODE; This is passing an &UINT32 instead of 'char *'. This had better be little endian. A sample of more problems: evevent.c:559: warning: format argument is not a pointer (arg 6) evevent.c:559: warning: format argument is not a pointer (arg 8) ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "GPE registers: %X@%p (Blk0) %X@%p (Blk1)\n", Gpe0RegisterCount, AcpiGbl_FADT->XGpe0Blk.Address, Gpe1RegisterCount, AcpiGbl_FADT->XGpe1Blk.Address)); XGpe0Blk.Address and XGpe1Blk.Address are 64 bit integers, not pointers. This causes stack misalignment. exdump.c:348: warning: long int format, different type arg (arg 5) exdump.c:366: warning: long int format, different type arg (arg 5) ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " value is [%ld]", EntryDesc->Integer.Value)); The above two are moderately harmless unless you are compiling on gcc where long == 64 bit. exdump.c:491: warning: format argument is not a pointer (arg 5) ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, " base %p Length %X\n", EntryDesc->Region.Address, EntryDesc->Region.Length)); This is a fatal UINT64 / 32 bit %p mixup. exprep.c:434: warning: char format, different type arg (arg 6) exprep.c:542: warning: char format, different type arg (arg 6) exprep.c:633: warning: char format, different type arg (arg 6) ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "set NamedObj %p (%4.4s) val = %p\n", Node, &(Node->Name), ObjDesc)); More &UINT32 vs char * exresolv.c:239: warning: long unsigned int format, different type arg (arg 11) relatively harmless long / int mixup. exresop.c:248: warning: unsigned int format, pointer arg (arg 5) ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Internal - null stack entry at %X\n", StackPtr)); This should actually use %p hwregs.c:573: warning: format argument is not a pointer (arg 6) ACPI_DEBUG_PRINT ((ACPI_DB_IO, "PM2 control: Read %X from %p\n", RegisterValue, ACPI_GET_ADDRESS (AcpiGbl_FADT->XPm2CntBlk.Address))); Another fatal (for debugging) UINT64 / %p mixup hwregs.c:583: warning: format argument is not a pointer (arg 6) ACPI_DEBUG_PRINT ((ACPI_DB_IO, "About to write %04X to %p\n", RegisterValue, AcpiGbl_FADT->XPm2CntBlk.Address)); same again hwregs.c:597: warning: format argument is not a pointer (arg 6) ACPI_DEBUG_PRINT ((ACPI_DB_IO, "PM_TIMER: Read %X from %p\n", RegisterValue, ACPI_GET_ADDRESS (AcpiGbl_FADT->XPmTmrBlk.Address))); and again... nsdump.c:570: warning: unsigned int format, different type arg (arg 6) ACPI_DEBUG_PRINT_RAW ((ACPI_DB_TABLES, " HID: %.8X, ADR: %.8X, Status: %x\n", Info.HardwareId, Info.Address, Info.CurrentStatus)); This is an interesting one... Info.HardwareId is NATIVE_CHAR HardwareId[9]; It should probably be %p. This is a sample of the problems that using printf type checking turns up. I have only included a small fraction of the instances of each problem as an example only. Some only mess up debugging output, and cause lots of wasted time due to wild goose chases when bogus values are reported. (printf %p of a uint64 always prints 0 on i386 with gcc (eg: on freebsd and linux)) Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Sun Oct 14 23:40:21 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 75A3D37B405 for ; Sun, 14 Oct 2001 23:40:18 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f9F6eIM99015 for ; Sun, 14 Oct 2001 23:40:18 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 0B3C9380F; Sun, 14 Oct 2001 23:40:18 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Marcel Moolenaar Cc: ia64@FreeBSD.ORG Subject: Re: OK.. what's the secret for ski now? In-Reply-To: <20011014232845.C543@dhcp01.pn.xcllnt.net> Date: Sun, 14 Oct 2001 23:40:18 -0700 From: Peter Wemm Message-Id: <20011015064018.0B3C9380F@overcee.netplex.com.au> 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 Marcel Moolenaar wrote: > On Sun, Oct 14, 2001 at 10:34:23PM -0700, Peter Wemm wrote: > > > > Stopped at 0xe0000000007d72e1: ld4 r15=[r14] > > db> 60000e > > ? > > db> c > > > > This happened with both the GENERIC and SKI kernels. I'm guessing that > > some dependency on EFI/SAL/whatever has crept in and is not conditional. > > It looks like the descriptor count is 0 (in machdep.c). I guess > md != NULL while dcount == 0. The following should help: > > Index: machdep.c > =================================================================== > RCS file: /home/ncvs/src/sys/ia64/ia64/machdep.c,v > retrieving revision 1.55 > diff -u -r1.55 machdep.c > --- machdep.c 11 Oct 2001 12:31:50 -0000 1.55 > +++ machdep.c 15 Oct 2001 06:28:05 -0000 > @@ -528,7 +528,7 @@ > */ > mdcount = bootinfo.bi_memmap_size / bootinfo.bi_memdesc_size; > md = (EFI_MEMORY_DESCRIPTOR *) IA64_PHYS_TO_RR7(bootinfo.bi_memmap); > - if (!md) { > + if (md == NULL || mdcount == 0) { > #ifdef SKI > static EFI_MEMORY_DESCRIPTOR ski_md[2]; > /* Yes, that got over that hurdle.. The next is: loading kernel.ski... starting kernel... No system table! Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #1: Sun Oct 14 23:38:43 PDT 2001 peter@overcee.netplex.com.au:/home/src/sys/ia64/compile/SKI panic: vm_page_wakeup: page not busy!!! panic Stopped at 0xe000000000753691: mov sp=r33 db> bah. :-) Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Oct 15 0:31:17 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) by hub.freebsd.org (Postfix) with ESMTP id 9DFE537B405 for ; Mon, 15 Oct 2001 00:31:13 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by anchor-post-30.mail.demon.net with esmtp (Exim 2.12 #1) id 15t2DQ-0006Qm-0U; Mon, 15 Oct 2001 08:31:12 +0100 Received: from salmon.nlsystems.com (salmon [10.0.0.3]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f9F7Tt748334; Mon, 15 Oct 2001 08:29:55 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 15 Oct 2001 08:28:15 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: Marcel Moolenaar , Subject: Re: OK.. what's the secret for ski now? In-Reply-To: <20011015064018.0B3C9380F@overcee.netplex.com.au> Message-ID: <20011015082735.Y549-100000@salmon.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Sun, 14 Oct 2001, Peter Wemm wrote: > Marcel Moolenaar wrote: > > On Sun, Oct 14, 2001 at 10:34:23PM -0700, Peter Wemm wrote: > > > > > > Stopped at 0xe0000000007d72e1: ld4 r15=[r14] > > > db> 60000e > > > ? > > > db> c > > > > > > This happened with both the GENERIC and SKI kernels. I'm guessing that > > > some dependency on EFI/SAL/whatever has crept in and is not conditional. > > > > It looks like the descriptor count is 0 (in machdep.c). I guess > > md != NULL while dcount == 0. The following should help: > > > > Index: machdep.c > > =================================================================== > > RCS file: /home/ncvs/src/sys/ia64/ia64/machdep.c,v > > retrieving revision 1.55 > > diff -u -r1.55 machdep.c > > --- machdep.c 11 Oct 2001 12:31:50 -0000 1.55 > > +++ machdep.c 15 Oct 2001 06:28:05 -0000 > > @@ -528,7 +528,7 @@ > > */ > > mdcount = bootinfo.bi_memmap_size / bootinfo.bi_memdesc_size; > > md = (EFI_MEMORY_DESCRIPTOR *) IA64_PHYS_TO_RR7(bootinfo.bi_memmap); > > - if (!md) { > > + if (md == NULL || mdcount == 0) { > > #ifdef SKI > > static EFI_MEMORY_DESCRIPTOR ski_md[2]; > > /* > > Yes, that got over that hurdle.. The next is: > > loading kernel.ski... > starting kernel... > No system table! > Copyright (c) 1992-2001 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD 5.0-CURRENT #1: Sun Oct 14 23:38:43 PDT 2001 > peter@overcee.netplex.com.au:/home/src/sys/ia64/compile/SKI > panic: vm_page_wakeup: page not busy!!! > panic > Stopped at 0xe000000000753691: mov sp=r33 > db> > > bah. :-) Try 'xski -i skiload.cmd skiload' in a directory containing 'boot/kernel/kenel'. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Oct 15 0:49:33 2001 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 BA84637B401 for ; Mon, 15 Oct 2001 00:49:30 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9F7nPI96302 for ; Mon, 15 Oct 2001 00:49:25 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9F7nnb06397 for ia64@FreeBSD.org; Mon, 15 Oct 2001 00:49:49 -0700 (PDT) (envelope-from marcel) Date: Mon, 15 Oct 2001 00:49:49 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.org Subject: IA-64 disassembler Message-ID: <20011015004949.A6335@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.21i 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 Guys, I wrote an IA-64 disassembler a while back (more than a year) and I still find it useful. The only other decent disassembler is ski itself. My disassembler produces assembly code as much as possible so that you can feed the output to an assembler in most cases. Unfortunately, the GNU toolchain is too broken to have any decent output. Anyway, you can download the disassebler here: http://www.xcllnt.net/~marcel/tdis.tar.gz If it's useful enough I can probably turn it into a port, write a manpage and the works... Enjoy, -- 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 From owner-freebsd-ia64 Mon Oct 15 1:43: 1 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [24.14.150.180]) by hub.freebsd.org (Postfix) with ESMTP id 981FF37B40F for ; Mon, 15 Oct 2001 01:42:58 -0700 (PDT) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f9F8gwM99290 for ; Mon, 15 Oct 2001 01:42:58 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 5202C3803; Mon, 15 Oct 2001 01:42:58 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: Doug Rabson Cc: Marcel Moolenaar , ia64@FreeBSD.ORG Subject: Re: OK.. what's the secret for ski now? In-Reply-To: <20011015082735.Y549-100000@salmon.nlsystems.com> Date: Mon, 15 Oct 2001 01:42:58 -0700 From: Peter Wemm Message-Id: <20011015084258.5202C3803@overcee.netplex.com.au> 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 Doug Rabson wrote: > Try 'xski -i skiload.cmd skiload' in a directory containing > 'boot/kernel/kenel'. That helps a lot. :-) It gets up to the point of mounting the root fs now, but panics with an unaligned access. Timecounter "IA64 ITC" frequency 733409028 Hz Mounting root from ufs:/dev/sscdisk0c fatal kernel trap: trap vector = 0x1e (Unaligned Reference) cr.iip = 0xe0000000007aaff0 cr.ipsr = 0x121008006010 (mfl,ic,i,rt,cpl=0,it,ri=1,bn) cr.isr = 0x20400000000 (r,ei=1) cr.ifa = 0x41 cr.iim = 0x0 curthread = 0xe000000000d36188 pid = 0, comm = swapper Stopped at nanouptime+0x71: ld4 r14=[r14] db> I seem to remember some tweaks for the timecounter stuff kicking around somewhere. I'll go look. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Oct 15 3:20:32 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from finch-post-11.mail.demon.net (finch-post-11.mail.demon.net [194.217.242.39]) by hub.freebsd.org (Postfix) with ESMTP id ECCEC37B403 for ; Mon, 15 Oct 2001 03:20:28 -0700 (PDT) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-11.mail.demon.net with esmtp (Exim 2.12 #1) id 15t4rC-000Pyi-0B; Mon, 15 Oct 2001 10:20:26 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id f9FAJB750781; Mon, 15 Oct 2001 11:19:11 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Mon, 15 Oct 2001 11:19:10 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: Marcel Moolenaar , Subject: Re: OK.. what's the secret for ski now? In-Reply-To: <20011015084258.5202C3803@overcee.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Mon, 15 Oct 2001, Peter Wemm wrote: > Doug Rabson wrote: > > > Try 'xski -i skiload.cmd skiload' in a directory containing > > 'boot/kernel/kenel'. > > That helps a lot. :-) It gets up to the point of mounting the root fs > now, but panics with an unaligned access. > > Timecounter "IA64 ITC" frequency 733409028 Hz > Mounting root from ufs:/dev/sscdisk0c > > fatal kernel trap: > > trap vector = 0x1e (Unaligned Reference) > cr.iip = 0xe0000000007aaff0 > cr.ipsr = 0x121008006010 (mfl,ic,i,rt,cpl=0,it,ri=1,bn) > cr.isr = 0x20400000000 (r,ei=1) > cr.ifa = 0x41 > cr.iim = 0x0 > curthread = 0xe000000000d36188 > pid = 0, comm = swapper > > Stopped at nanouptime+0x71: ld4 r14=[r14] > db> > > I seem to remember some tweaks for the timecounter stuff kicking > around somewhere. I'll go look. Look at the value of cr.ifa - something is badly wrong here. I got panics like this a couple of times when I was starting the interval timer before registering the timecounter and I got a hardclock interrupt before the timecounter was fully initialised. I though I fixed that though - what is the stack trace here? Whats the value of r14? -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Oct 15 14:35:54 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from femail28.sdc1.sfba.home.com (femail28.sdc1.sfba.home.com [24.254.60.18]) by hub.freebsd.org (Postfix) with ESMTP id 94FA337B409; Mon, 15 Oct 2001 14:35:49 -0700 (PDT) Received: from laptop.baldwin.cx ([24.2.39.156]) by femail28.sdc1.sfba.home.com (InterMail vM.4.01.03.20 201-229-121-120-20010223) with ESMTP id <20011015213549.TOXI22390.femail28.sdc1.sfba.home.com@laptop.baldwin.cx>; Mon, 15 Oct 2001 14:35:49 -0700 Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20011013085449.E26933808@overcee.netplex.com.au> Date: Mon, 15 Oct 2001 14:35:48 -0700 (PDT) From: John Baldwin To: Peter Wemm Subject: Re: non recursive lock reaquired.. Cc: ia64@FreeBSD.ORG, dfr@FreeBSD.ORG 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 13-Oct-01 Peter Wemm wrote: > Peter Wemm wrote: >> This doesn't look too healthy. I wonder if this is what caused my >> zone allocation panic before: > > Actually I take this back.. it seems witness is upset about having > two different mutexes with the same *name*... > > zinitna(vm_zone_t z, vm_object_t obj, char *name, int size, > { > mtx_init(&(z)->zmtx, "zone", MTX_DEF); > } > > zbootinit(vm_zone_t z, char *name, int size, void *item, int nitems) > { > mtx_init(&(z)->zmtx, "zone", MTX_DEF); > } > > Should "zone" be added here in subr_witness.c? > > static const char *dup_list[] = { > "process lock", > NULL > }; Not unless you have a well defined order for zone locks. For processes we always lock child processes then parent processes. Do you have an order in mind for zone locks? If not, then how are you going to ensure two threads won't lock the zones in the opposite order? >> acquiring duplicate lock of same type: "zone" >> 1st @ ../../../vm/vm_zone.c:473 >> 2nd @ ../../../vm/vm_zone.c:473 >> witness_lock >> Stopped at Debugger+0x31: mov sp=r33 >> db> trace >> Debugger(0xe000000000a1b6a8, 0xe0000000011135a0, 0xe0000000007b5930, 0xa9a, >> 0 > xe000000000a2ad98) at Debugger+0x30 >> witness_lock(0xe000000000b69bb8, 0x8, 0xe000000000a27910, 0x1d9) at >> witness_l > ock+0x1000 >> _mtx_lock_flags(0xe000000000b69bb8, 0x0, 0xe000000000a27910, 0x1d9) at >> _mtx_l > ock_flags+0x170 >> zalloc(0xe000000000b69bb8) at zalloc+0x80 >> ^^^^^ >> get_pv_entry(0xe0000000011135f0, 0xe0000000011135e0) at get_pv_entry+0x190 >> pmap_make_pv(0xe000000000b69b78, 0xa00000001315c000, 0xe0000000011135f0, >> 0xe0 > 00000000cc8000, 0xa00000001315c000) at pmap_make_pv+0x30 >> pmap_kenter(0xa00000001315c000, 0x11d8000, 0xe000000000cc8000, >> 0xe000000000ad > a6d8) at pmap_kenter+0x80 >> _zget(0xa00000000135ff00, 0xa00000001315c000, 0xe000000000cc8000, >> 0xa00000000 > 135ff80) at _zget+0x1b0 >> zalloc(0xa00000000135ff00, 0xa00000000135ff00) at zalloc+0xc0 >> ^^^^ >> soalloc(0x1, 0xe000000000cc8000, 0xe000000000ada288) at soalloc+0x40 >> socreate(0x2, 0xe000000001113658, 0x2, 0x0, 0xa0000000133886e0) at >> socreate+0 > x200 >> socket(0xa0000000133886e0, 0xe000000001113690, 0xe000000001113690, >> 0xe0000000 > 00cc8000) at socket+0x120 >> syscall(0x61, 0xe000000001113690, 0xe0000000011136d0) at syscall+0x4e0 >> do_syscall(0x61, 0xe0000000011136d0, 0x600000000000e3e0, 0x61, >> 0xe00000000111 > 3690, 0xe0000000011136d0, 0xe000000000cc8000, 0xe000000000cc8000, > 0xa000000 > 013388540, 0xe0000000011136d0, 0xe000000000a97210, 0xa0000000133886e0, > 0x61 > , 0xe000000001113690, 0x4000000000010ff0, 0x20000000000, 0x1, > 0xe0000000011 > 13680, 0xe0000000009540d0, 0x186, 0xa0000000133886e0, 0xe000000001113690, > 0 > xe000000001113690, 0xe000000000cc8000, 0x0) at do_syscall+0x260 >> __gp() at 0xe0000000011136d0 >> db> >> db> show locks >> exclusive (sleep mutex) zone (0xa00000000135ff00) locked @ >> ../../../vm/vm_zon > e.c:473 >> exclusive (sleep mutex) Giant (0xe000000000b71058) locked @ >> ../../../kern/uip > c_syscalls.c:129 >> db> >> >> Cheers, >> -Peter >> -- >> Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au >> "All of this is for nothing if we don't go to the stars" - JMS/B5 >> >> >> To Unsubscribe: send mail to majordomo@FreeBSD.org >> with "unsubscribe freebsd-ia64" in the body of the message >> >> > > Cheers, > -Peter > -- > Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au > "All of this is for nothing if we don't go to the stars" - JMS/B5 > -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message From owner-freebsd-ia64 Mon Oct 15 23:40:43 2001 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 03CE637B40A for ; Mon, 15 Oct 2001 23:40:30 -0700 (PDT) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.4/8.11.4) with ESMTP id f9G6eTI99478 for ; Mon, 15 Oct 2001 23:40:29 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id f9G6etG01680 for ia64@FreeBSD.org; Mon, 15 Oct 2001 23:40:55 -0700 (PDT) (envelope-from marcel) Date: Mon, 15 Oct 2001 23:40:55 -0700 From: Marcel Moolenaar To: ia64@FreeBSD.org Subject: Dual-Itanium Lion boots ok. Message-ID: <20011015234055.A1617@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.21i 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 Log follows (long): FYI, \begin{verbatim} PAL Proc at 0xe00000007ff48010 SAL Proc at 0xe00000007febac40, GP at 0xe00000007ff26390 Platform clock frequency 133349000 Hz Processor ratio 12/2, Bus ratio 1/1, ITC ratio 12/2 ptc.e base=0x0, count1=1, count2=1, stride1=0x0, stride2=0x0 ACPI debug layer 0x0 debug level 0x0 Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #35: Sun Oct 14 19:29:27 PDT 2001 marcel@vaio.foo.xcllnt.net:/usr/src/sys/ia64/compile/ITANIUM CPU: Itanium (800.09-Mhz) Origin = "GenuineIntel" Model = 0 Revision = 6 Features = 0x0 real memory = 4288634880 (4188120K bytes) Physical memory chunk(s): 0x0000c000 - 0x0006ffff, 409600 bytes (50 pages) 0x00100000 - 0x004fffff, 4194304 bytes (512 pages) 0x00bc6000 - 0x7fce1fff, 2131869696 bytes (260238 pages) 0x7fe94000 - 0x7fe95fff, 8192 bytes (1 pages) 0x7ff7c000 - 0x7ff7ffff, 16384 bytes (2 pages) 0x100000000 - 0x17fd87fff, 2144894976 bytes (261828 pages) 0x17fef4000 - 0x17ff03fff, 65536 bytes (8 pages) avail memory = 4127711232 (4030968K bytes) Preloaded elf kernel "/kernel" at 0xe000000000bc4000. null: random: mem: Table 'FACP' at 0xe00000007fe9c700 Table 'APIC' at 0xe00000007fe9c838 Local SAPIC entry ProcessorId=0x0, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0x201, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa02, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa03, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa04, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa05, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa06, Id=0x0, Eid=0x0 Local SAPIC entry ProcessorId=0xaa07, Id=0x0, Eid=0x0 I/O SAPIC entry Id=0x4, Vector=0x0, Address=0xfec00000 Interrupt source override entry Bus=0, Source=9, Irq=0x9 Platform interrupt entry Polarity=3, TriggerMode=1, Id=0x0, Eid=0x0, Vector=0x2, Irq=61 Platform interrupt entry Polarity=3, TriggerMode=3, Id=0x0, Eid=0x0, Vector=0x1e, Irq=60 acpi0: on motherboard acpi0: power button is handled as a fixed feature programming model. Timecounter "ACPI" frequency 3579545 Hz unknown: I/O range not supported acpi_timer0: <24-bit timer at 3.579545MHz> port 0xc08-0xc0b on acpi0 acpi_cpu0: on acpi0 acpi_cpu1: on acpi0 acpi_cpu2: on acpi0 acpi_cpu3: on acpi0 acpi_pcib0: port 0xcf8-0xcff on acpi0 pci0: physical bus=0 found-> vendor=0x8086, dev=0x7600, revid=0x01 bus=0, slot=3, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 map[20]: type 4, range 32, base 00001000, size 4, enabled found-> vendor=0x8086, dev=0x7601, revid=0x01 bus=0, slot=3, func=1 class=01-01-80, hdrtype=0x00, mfdev=0 map[20]: type 4, range 32, base 00006f80, size 5, enabled acpi_pcib0: matched entry for 0.3.INTD (source ) acpi_pcib0: device is hardwired to IRQ 50 found-> vendor=0x8086, dev=0x7602, revid=0x01 bus=0, slot=3, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 intpin=d, irq=50 map[20]: type 4, range 32, base 0000c000, size 4, port disabled found-> vendor=0x8086, dev=0x7603, revid=0x01 bus=0, slot=3, func=3 class=0c-05-00, hdrtype=0x00, mfdev=0 intpin=b, irq=255 found-> vendor=0x8086, dev=0x123d, revid=0x01 bus=0, slot=4, func=0 class=08-00-20, hdrtype=0x00, mfdev=0 map[10]: type 1, range 32, base f3fe0000, size 12, enabled map[14]: type 4, range 32, base 00006f00, size 6, enabled map[18]: type 1, range 32, base f3fa0000, size 17, enabled acpi_pcib0: matched entry for 0.5.INTA (source ) acpi_pcib0: device is hardwired to IRQ 51 found-> vendor=0x8086, dev=0x1229, revid=0x09 bus=0, slot=5, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 intpin=a, irq=51 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 3, range 32, base f8000000, size 26, enabled map[14]: type 4, range 32, base 00006800, size 8, enabled map[18]: type 1, range 32, base f3ff0000, size 14, enabled acpi_pcib0: matched entry for 0.6.INTA (source ) acpi_pcib0: device is hardwired to IRQ 49 found-> vendor=0x1002, dev=0x524b, revid=0x00 bus=0, slot=6, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 intpin=a, irq=49 powerspec 1 supports D0 D1 D3 current D0 found-> vendor=0x8086, dev=0x84e0, revid=0x02 bus=0, slot=16, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 pci0: on acpi_pcib0 isab0: at device 3.0 on pci0 isa0: on isab0 atapci0: port 0x1000-0x100f at device 3.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0x1000 ata0: mask=03 ostat0=50 ostat2=01 ata0-master: ATAPI probe 14 eb ata0-slave: ATAPI probe ff ff ata0: mask=03 stat0=00 stat1=01 ata0-slave: ATA probe 04 ff ata0: devices=04 ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0x1008 ata1: mask=03 ostat0=50 ostat2=01 ata1-master: ATAPI probe 14 eb ata1-slave: ATAPI probe 14 eb ata1: mask=03 stat0=00 stat1=01 ata1: devices=0c ata1: at 0x170 irq 15 on atapci0 pci0: at device 3.2 (no driver attached) pci0: at device 3.3 (no driver attached) pci0: at device 4.0 (no driver attached) fxp0: port 0x6f00-0x6f3f mem 0xf3fa0000-0xf3fbffff,0xf3fe0000-0xf3fe0fff irq 51 at device 5.0 on pci0 fxp0: using memory space register mapping fxp0: Ethernet address 00:d0:b7:00:df:8e fxp0: PCI IDs: 8086 1229 8086 3001 0009 fxp0: Chip Type: 0 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto bpf: fxp0 attached pci0: at device 6.0 (no driver attached) pci0: at device 16.0 (no driver attached) acpi_pcib1: on acpi0 pci1: physical bus=1 map[10]: type 4, range 32, base 00008800, size 8, enabled map[14]: type 1, range 32, base ebff0000, size 12, enabled acpi_pcib1: matched entry for 1.2.INTA (source ) acpi_pcib1: device is hardwired to IRQ 48 found-> vendor=0x1077, dev=0x1216, revid=0x05 bus=1, slot=2, func=0 class=01-00-00, hdrtype=0x00, mfdev=0 intpin=a, irq=48 powerspec 1 supports D0 D3 current D0 map[10]: type 1, range 32, base ebfe0000, size 8, enabled acpi_pcib1: matched entry for 1.15.INTA (source ) acpi_pcib1: device is hardwired to IRQ 55 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=1, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=55 pci1: on acpi_pcib1 Qlogic ISP Driver, FreeBSD Version 5.9, Core Version 2.4 isp0: port 0x8800-0x88ff mem 0xebff0000-0xebff0fff irq 48 at device 2.0 on pci1 isp0: using I/O space register mapping isp0: bus 0 is in LVD Mode isp0: bus 1 is in LVD Mode isp0: Board Type 12160, Chip Revision 0x5, resident F/W Revision 10.4.28 isp0: Last F/W revision was 10.4.28 isp0: 568 max I/O commands supported isp0: Initiator ID is 7 on Channel 0 isp0: Initiator ID is 7 on Channel 1 isp0: Enabled FW features (0x3) pci1: at device 15.0 (no driver attached) acpi_pcib2: on acpi0 pci4: physical bus=4 map[10]: type 1, range 32, base e1ff0000, size 8, enabled acpi_pcib2: matched entry for 4.15.INTA (source ) acpi_pcib2: device is hardwired to IRQ 55 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=4, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=55 pci4: on acpi_pcib2 pci4: at device 15.0 (no driver attached) acpi_pcib3: on acpi0 pci8: physical bus=8 map[10]: type 1, range 32, base d7ff0000, size 8, enabled acpi_pcib3: matched entry for 8.15.INTA (source ) acpi_pcib3: device is hardwired to IRQ 57 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=8, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=57 pci8: on acpi_pcib3 pci8: at device 15.0 (no driver attached) acpi_pcib4: on acpi0 pci12: physical bus=12 map[10]: type 1, range 32, base cfff0000, size 8, enabled acpi_pcib4: matched entry for 12.15.INTA (source ) acpi_pcib4: device is hardwired to IRQ 57 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=12, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=57 pci12: on acpi_pcib4 pci12: at device 15.0 (no driver attached) acpi_pcib5: on acpi0 pci15: physical bus=15 map[10]: type 1, range 32, base c7ff0000, size 8, enabled acpi_pcib5: matched entry for 15.15.INTA (source ) acpi_pcib5: device is hardwired to IRQ 59 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=15, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=59 pci15: on acpi_pcib5 pci15: at device 15.0 (no driver attached) acpi_pcib6: on acpi0 pci18: physical bus=18 map[10]: type 1, range 32, base bfff0000, size 8, enabled acpi_pcib6: matched entry for 18.15.INTA (source ) acpi_pcib6: device is hardwired to IRQ 59 found-> vendor=0x8086, dev=0x123f, revid=0x01 bus=18, slot=15, func=0 class=08-04-00, hdrtype=0x00, mfdev=0 intpin=a, irq=59 pci18: on acpi_pcib6 pci18: at device 15.0 (no driver attached) unknown: not probed (disabled) atkbdc0: port 0x64,0x60 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x1d0000 psm0: unable to allocate IRQ unknown: not probed (disabled) sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: irq maps: 0 0 0 0 sio0 port 0x3f8-0x3ff irq 4 on acpi0 sio0: type 16550A, console unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) sio-: sio0 already exists, using sio1 instead Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: