From owner-freebsd-alpha Fri Jan 11 1:16:30 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mail12.speakeasy.net (mail12.speakeasy.net [216.254.0.212]) by hub.freebsd.org (Postfix) with ESMTP id 6F9A637B419 for ; Fri, 11 Jan 2002 01:16:22 -0800 (PST) Received: (qmail 10860 invoked from network); 11 Jan 2002 09:16:22 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail12.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 11 Jan 2002 09:16:22 -0000 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: Date: Fri, 11 Jan 2002 01:15:47 -0800 (PST) From: John Baldwin To: "Stephen D. Spencer" Subject: RE: /boot/loader failure 4.5-PR Cc: freebsd-alpha@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 11-Jan-02 Stephen D. Spencer wrote: > > Resetting I/O buses... > > ewa0: link up : Negotiated 100BaseTX: full duplex > (boot dqa0.0.0.13.0 -flags a) > block 0 of dqa0.0.0.13.0 is a valid boot block > reading 15 blocks from dqa0.0.0.13.0 > bootstrap code read in > base = 200000, image_start = 0, image_bytes = 1e00 > initializing HWRPB at 2000 > initializing page table at 17f3e000 > initializing machine state > setting affinity to the primary CPU > jumping to bootstrap code > Loading /boot/loader > - > halted CPU 0 > > halt code = 2 > kernel stack not valid halt > PC = 545532080018 > boot failure Works fine on my DS20 here: FreeBSD/alpha SRM disk boot, Revision 1.0 (john@sema.baldwin.cx, Wed Jan 9 11:58:18 PST 2002) Memory: 1048576 k Loading /boot/defaults/loader.conf /kernel data=0x2ad7d8+0x23e02 syms=[0x8+0x39f90+0x8+0x2a0f5] Your PC is way wacked out. What's your SP and RA? ("e sp", "e ra" at the SRM prompt) > This is a DS10/466 running -stable as of today. This issue started, I > believe, > between the 4th and 7th of January. Monday's build was the first to exhibit > this behavior. If you oculd binary date it down to a commit that would be helpful. :) > On another topic, I am looking for any documentation that might assist > me in understanding the source and [ more specific ] nature of these > unaligned access errors that are disturbingly cropping up in base OS > utilities such as ifconfig. I've traced it down to where it's running > a logic operator (if) on the if_msghdr struct called ifm in the ifconfig.c > status(). > > Now, I understand machine language concepts (ex. w/ 6502, 8088 and Z80); how- > ever I am not familar with the alpha instructions. I think I understand the > nature of these misaligned access errors (all memory access must occur on a > 64-bit word boundry?). Is it a matter of hunting down the offending variable > in the faulty data structure and widening its data type? Well, you can't change if_msghdr(). An aligned access does not have to be at a quadword (64-bit) boundary. Only quad accesses have to be quad-word aligned. Double world (32-bit, int) accesssed need only be double aligned, shorts have to be short aligned, etc. Usually the problem is caused by using some kind of funky cast like casting an int to a long where the int is 32-bit aligned ok, but not 64-bit aligned. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message