From owner-freebsd-sparc64@FreeBSD.ORG Sun Apr 18 14:40:03 2010 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B984E106567A for ; Sun, 18 Apr 2010 14:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8A7C98FC27 for ; Sun, 18 Apr 2010 14:40:03 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3IEe3pI044969 for ; Sun, 18 Apr 2010 14:40:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3IEe3xg044968; Sun, 18 Apr 2010 14:40:03 GMT (envelope-from gnats) Date: Sun, 18 Apr 2010 14:40:03 GMT Message-Id: <201004181440.o3IEe3xg044968@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Rob Farmer Cc: Subject: Re: sparc64/144867: panic: trap: memory address not aligned booting Sunfire 280R X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Rob Farmer List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Apr 2010 14:40:03 -0000 The following reply was made to PR sparc64/144867; it has been noted by GNATS. From: Rob Farmer To: Marius Strobl Cc: Craig Butler , bug-followup@freebsd.org Subject: Re: sparc64/144867: panic: trap: memory address not aligned booting Sunfire 280R Date: Sun, 18 Apr 2010 07:37:52 -0700 On Sat, Apr 17, 2010 at 1:05 PM, Marius Strobl wrote: > > Could both of you please refetch the following patch and give it try? > http://people.freebsd.org/~marius/cas_mmf.diff > The MD5 hash of the new version is 0d668f21e2b3bb3c9641950bd0153e3d. > > Marius > > Thanks for looking into this. The patch works for my machine. Here's the dmesg from generic: jumping to kernel entry at 0xc0088000. GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2010 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-CURRENT #0: Sun Apr 18 05:37:42 PDT 2010 rfarmer@sunfire.predatorlabs.net:/usr/obj/usr/src/sys/GENERIC sparc64 WARNING: WITNESS option enabled, expect reduced performance. real memory = 8589934592 (8192 MB) avail memory = 8381571072 (7993 MB) cpu0: Sun Microsystems UltraSparc-III+ Processor (1200.00 MHz CPU) cpu1: Sun Microsystems UltraSparc-III+ Processor (1200.00 MHz CPU) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs kbd0 at kbdmux0 nexus0: nexus0: mem 0x40000400000-0x40000400047 type memory-controller (no driver attached) nexus0: mem 0x40000c00000-0x40000c00047 type memory-controller (no driver attached) pcib0: mem 0x40004700000-0x40004717fff,0x40004410000-0x4000441004f,0x7ffee000000-0x7ffee0000ff irq 563,560,561,564,550 on nexus0 pcib0: Schizo, version 7, IGN 0x8, bus B, 33MHz pcib0: DVMA map: 0xc0000000 to 0xffffffff 131072 entries, streaming buffer pcib0: [FILTER] pcib0: [FILTER] pcib0: [FILTER] pcib0: [FILTER] pcib0: [FILTER] pci0: on pcib0 ebus0: mem 0x7d000000-0x7dffffff,0x7e000000-0x7e7fffff at device 5.0 on pci0 ebus0: addr 0-0x1fffff (no driver attached) ebus0: addr 0x10000002e-0x10000002f,0x10000002d irq 35 (no driver attached) ebus0: addr 0x100000000-0x1000fffff (no driver attached) ebus0: addr 0x10030002e-0x10030002f,0x100300600-0x100300607 (no driver attached) ebus0: addr 0x100000030-0x100000031 irq 35 (no driver attached) ebus0: addr 0x100000032-0x100000037 (no driver attached) rtc0: addr 0x100300070-0x100300071 irq 36 on ebus0 ebus0: addr 0x100300600-0x100300607 (no driver attached) ebus0: addr 0x100300700-0x100300701 (no driver attached) ebus0: addr 0x100300278-0x100300287,0x10030002e-0x10030002f,0x100700000-0x10070000f irq 28 (no driver attached) uart0: <16550 or compatible> addr 0x1003062f8-0x1003062ff irq 46 on ebus0 uart0: [FILTER] uart1: <16550 or compatible> addr 0x1003083f8-0x1003083ff irq 45 on ebus0 uart1: [FILTER] scc0: addr 0x100400000-0x10040007f irq 34 on ebus0 scc0: [FILTER] uart2: on scc0 uart2: [FILTER] uart2: CTS oflow uart2: console (9600,n,8,1) uart3: on scc0 uart3: [FILTER] uart3: CTS oflow gem0: mem 0x100000-0x11ffff at device 5.1 on pci0 miibus0: on gem0 ukphy0: PHY 1 on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto gem0: 2kB RX FIFO, 2kB TX FIFO gem0: Ethernet address: 00:03:ba:3a:0f:f2 gem0: [ITHREAD] ohci0: mem 0x1000000-0x1007fff at device 5.3 on pci0 ohci0: [ITHREAD] usbus0: on ohci0 sym0: <875> port 0x300-0x3ff mem 0x124000-0x1240ff,0x126000-0x126fff at device 6.0 on pci0 sym0: No NVRAM, ID 7, Fast-20, SE, parity checking sym0: [ITHREAD] sym1: <875> port 0x400-0x4ff mem 0x128000-0x1280ff,0x12a000-0x12afff at device 6.1 on pci0 sym1: No NVRAM, ID 7, Fast-20, SE, parity checking sym1: [ITHREAD] cas0: mem 0x200000-0x3fffff at device 3.0 on pci0 miibus1: on cas0 gentbi0: PHY 0 on miibus1 gentbi0: 1000baseSX, 1000baseSX-FDX, auto cas0: 16kB RX FIFO, 9kB TX FIFO cas0: Ethernet address: 00:03:ba:3a:0f:f2 cas0: [FILTER] pcib1: mem 0x40004600000-0x40004617fff,0x40004410000-0x4000441004f,0x7ffec000000-0x7ffec0000ff irq 562,560,561,564 on nexus0 pcib1: Schizo, version 7, IGN 0x8, bus A, 66MHz Timecounter "pcib1" frequency 150000000 Hz quality 100 pcib1: DVMA map: 0xc0000000 to 0xffffffff 131072 entries, streaming buffer pcib1: [FILTER] pcib1: [FILTER] pci1: on pcib1 isp0: port 0x300-0x3ff mem 0x100000-0x100fff at device 4.0 on pci1 isp0: [ITHREAD] isp0: invalid NVRAM header isp0: invalid NVRAM header isp0: bad frame length (0) from NVRAM- using 1024 isp0: bad execution throttle of 0- using 16 cas1: mem 0x200000-0x3fffff at device 1.0 on pci1 miibus2: on cas1 gentbi1: PHY 0 on miibus2 gentbi1: 1000baseSX, 1000baseSX-FDX, auto cas1: 16kB RX FIFO, 9kB TX FIFO cas1: Ethernet address: 00:03:ba:3a:0f:f2 cas1: [FILTER] nexus0: type unknown (no driver attached) Timecounter "tick" frequency 1200000000 Hz quality 10 Timecounters tick every 1.000 msec usbus0: 12Mbps Full Speed USB v1.0 (xpt0:isp0:0:-1:-1): rescan already queued (xpt0:isp0:0:-1:-1): rescan already queued ugen0.1: at usbus0 uhub0: on usbus0 uhub0: 4 ports with 4 removable, self powered (probe6:sym0:0:6:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe6:sym0:0:6:0): CAM status: SCSI Status Error (probe6:sym0:0:6:0): SCSI status: Check Condition (probe6:sym0:0:6:0): SCSI sense: NOT READY asc:3a,0 (Medium not present) SMP: AP CPU #1 Launched! da0 at isp0 bus 0 scbus2 target 0 lun 0 WARNING: WITNESS option enabled, expect reduced performance. da0: Fixed Direct Access SCSI-4 device da0: 100.000MB/s transfers da0: Command Queueing enabled da0: 70007MB (143374738 512 byte sectors: 255H 63S/T 8924C) da1 at isp0 bus 0 scbus2 target 1 lun 0 da1: Fixed Direct Access SCSI-4 device da1: 100.000MB/s transfers WWNN 0x500000e0103578e0 WWPN 0x500000e0103578e1 PortID 0xe8 da1: Command Queueing enabled da1: 70007MB (143374738 512 byte sectors: 255H 63S/T 8924C) cd0 at sym0 bus 0 scbus0 target 6 lun 0 cd0: Removable CD-ROM SCSI-2 device cd0: 20.000MB/s transfers (20.000MHz, offset 16) cd0: Attempt to query device size failed: NOT READY, Medium not present GEOM: da0: adding VTOC8 information. GEOM: da1: adding VTOC8 information. Trying to mount root from ufs:/dev/da0a -- Rob Farmer From owner-freebsd-sparc64@FreeBSD.ORG Sun Apr 18 23:20:03 2010 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9974E1065673 for ; Sun, 18 Apr 2010 23:20:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7E7158FC18 for ; Sun, 18 Apr 2010 23:20:03 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3INK3MD090714 for ; Sun, 18 Apr 2010 23:20:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3INK3Xq090713; Sun, 18 Apr 2010 23:20:03 GMT (envelope-from gnats) Date: Sun, 18 Apr 2010 23:20:03 GMT Message-Id: <201004182320.o3INK3Xq090713@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Craig Butler Cc: Subject: Re: sparc64/144867: panic: trap: memory address not aligned booting Sunfire 280R X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Craig Butler List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Apr 2010 23:20:03 -0000 The following reply was made to PR sparc64/144867; it has been noted by GNATS. From: Craig Butler To: Rob Farmer Cc: Marius Strobl , bug-followup@freebsd.org Subject: Re: sparc64/144867: panic: trap: memory address not aligned booting Sunfire 280R Date: Sun, 18 Apr 2010 23:46:26 +0100 On Sun, 2010-04-18 at 07:37 -0700, Rob Farmer wrote: > On Sat, Apr 17, 2010 at 1:05 PM, Marius Strobl > wrote: > > > > Could both of you please refetch the following patch and give it try? > > http://people.freebsd.org/~marius/cas_mmf.diff > > The MD5 hash of the new version is 0d668f21e2b3bb3c9641950bd0153e3d. > > > > Marius > > > > > > Thanks for looking into this. The patch works for my machine. Here's > the dmesg from generic: > > jumping to kernel entry at 0xc0088000. > GDB: no debug ports present > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2010 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 is a registered trademark of The FreeBSD Foundation. > FreeBSD 9.0-CURRENT #0: Sun Apr 18 05:37:42 PDT 2010 > rfarmer@sunfire.predatorlabs.net:/usr/obj/usr/src/sys/GENERIC sparc64 > WARNING: WITNESS option enabled, expect reduced performance. > real memory = 8589934592 (8192 MB) > avail memory = 8381571072 (7993 MB) > cpu0: Sun Microsystems UltraSparc-III+ Processor (1200.00 MHz CPU) > cpu1: Sun Microsystems UltraSparc-III+ Processor (1200.00 MHz CPU) > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > kbd0 at kbdmux0 > nexus0: > nexus0: mem 0x40000400000-0x40000400047 type > memory-controller (no driver attached) > nexus0: mem 0x40000c00000-0x40000c00047 type > memory-controller (no driver attached) > pcib0: mem > 0x40004700000-0x40004717fff,0x40004410000-0x4000441004f,0x7ffee000000-0x7ffee0000ff > irq 563,560,561,564,550 on nexus0 > pcib0: Schizo, version 7, IGN 0x8, bus B, 33MHz > pcib0: DVMA map: 0xc0000000 to 0xffffffff 131072 entries, streaming buffer > pcib0: [FILTER] > pcib0: [FILTER] > pcib0: [FILTER] > pcib0: [FILTER] > pcib0: [FILTER] > pci0: on pcib0 > ebus0: mem > 0x7d000000-0x7dffffff,0x7e000000-0x7e7fffff at device 5.0 on pci0 > ebus0: addr 0-0x1fffff (no driver attached) > ebus0: addr 0x10000002e-0x10000002f,0x10000002d irq 35 (no > driver attached) > ebus0: addr 0x100000000-0x1000fffff (no driver attached) > ebus0: addr 0x10030002e-0x10030002f,0x100300600-0x100300607 > (no driver attached) > ebus0: addr 0x100000030-0x100000031 irq 35 (no driver attached) > ebus0: addr 0x100000032-0x100000037 (no driver attached) > rtc0: addr 0x100300070-0x100300071 irq 36 on ebus0 > ebus0: addr 0x100300600-0x100300607 (no driver attached) > ebus0: addr 0x100300700-0x100300701 (no driver attached) > ebus0: addr > 0x100300278-0x100300287,0x10030002e-0x10030002f,0x100700000-0x10070000f > irq 28 (no driver attached) > uart0: <16550 or compatible> addr 0x1003062f8-0x1003062ff irq 46 on ebus0 > uart0: [FILTER] > uart1: <16550 or compatible> addr 0x1003083f8-0x1003083ff irq 45 on ebus0 > uart1: [FILTER] > scc0: addr > 0x100400000-0x10040007f irq 34 on ebus0 > scc0: [FILTER] > uart2: on scc0 > uart2: [FILTER] > uart2: CTS oflow > uart2: console (9600,n,8,1) > uart3: on scc0 > uart3: [FILTER] > uart3: CTS oflow > gem0: mem 0x100000-0x11ffff at device 5.1 on pci0 > miibus0: on gem0 > ukphy0: PHY 1 on miibus0 > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > gem0: 2kB RX FIFO, 2kB TX FIFO > gem0: Ethernet address: 00:03:ba:3a:0f:f2 > gem0: [ITHREAD] > ohci0: mem 0x1000000-0x1007fff at device 5.3 on pci0 > ohci0: [ITHREAD] > usbus0: on ohci0 > sym0: <875> port 0x300-0x3ff mem 0x124000-0x1240ff,0x126000-0x126fff > at device 6.0 on pci0 > sym0: No NVRAM, ID 7, Fast-20, SE, parity checking > sym0: [ITHREAD] > sym1: <875> port 0x400-0x4ff mem 0x128000-0x1280ff,0x12a000-0x12afff > at device 6.1 on pci0 > sym1: No NVRAM, ID 7, Fast-20, SE, parity checking > sym1: [ITHREAD] > cas0: mem 0x200000-0x3fffff at device > 3.0 on pci0 > miibus1: on cas0 > gentbi0: PHY 0 on miibus1 > gentbi0: 1000baseSX, 1000baseSX-FDX, auto > cas0: 16kB RX FIFO, 9kB TX FIFO > cas0: Ethernet address: 00:03:ba:3a:0f:f2 > cas0: [FILTER] > pcib1: mem > 0x40004600000-0x40004617fff,0x40004410000-0x4000441004f,0x7ffec000000-0x7ffec0000ff > irq 562,560,561,564 on nexus0 > pcib1: Schizo, version 7, IGN 0x8, bus A, 66MHz > Timecounter "pcib1" frequency 150000000 Hz quality 100 > pcib1: DVMA map: 0xc0000000 to 0xffffffff 131072 entries, streaming buffer > pcib1: [FILTER] > pcib1: [FILTER] > pci1: on pcib1 > isp0: port 0x300-0x3ff mem > 0x100000-0x100fff at device 4.0 on pci1 > isp0: [ITHREAD] > isp0: invalid NVRAM header > isp0: invalid NVRAM header > isp0: bad frame length (0) from NVRAM- using 1024 > isp0: bad execution throttle of 0- using 16 > cas1: mem 0x200000-0x3fffff at device > 1.0 on pci1 > miibus2: on cas1 > gentbi1: PHY 0 on miibus2 > gentbi1: 1000baseSX, 1000baseSX-FDX, auto > cas1: 16kB RX FIFO, 9kB TX FIFO > cas1: Ethernet address: 00:03:ba:3a:0f:f2 > cas1: [FILTER] > nexus0: type unknown (no driver attached) > Timecounter "tick" frequency 1200000000 Hz quality 10 > Timecounters tick every 1.000 msec > usbus0: 12Mbps Full Speed USB v1.0 > (xpt0:isp0:0:-1:-1): rescan already queued > (xpt0:isp0:0:-1:-1): rescan already queued > ugen0.1: at usbus0 > uhub0: on usbus0 > uhub0: 4 ports with 4 removable, self powered > (probe6:sym0:0:6:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 > (probe6:sym0:0:6:0): CAM status: SCSI Status Error > (probe6:sym0:0:6:0): SCSI status: Check Condition > (probe6:sym0:0:6:0): SCSI sense: NOT READY asc:3a,0 (Medium not present) > SMP: AP CPU #1 Launched! > da0 at isp0 bus 0 scbus2 target 0 lun 0 > WARNING: WITNESS option enabled, expect reduced performance. > da0: Fixed Direct Access SCSI-4 device > da0: 100.000MB/s transfers > da0: Command Queueing enabled > da0: 70007MB (143374738 512 byte sectors: 255H 63S/T 8924C) > da1 at isp0 bus 0 scbus2 target 1 lun 0 > da1: Fixed Direct Access SCSI-4 device > da1: 100.000MB/s transfers WWNN 0x500000e0103578e0 WWPN > 0x500000e0103578e1 PortID 0xe8 > da1: Command Queueing enabled > da1: 70007MB (143374738 512 byte sectors: 255H 63S/T 8924C) > cd0 at sym0 bus 0 scbus0 target 6 lun 0 > cd0: Removable CD-ROM SCSI-2 device > cd0: 20.000MB/s transfers (20.000MHz, offset 16) > cd0: Attempt to query device size failed: NOT READY, Medium not present > GEOM: da0: adding VTOC8 information. > GEOM: da1: adding VTOC8 information. > Trying to mount root from ufs:/dev/da0a > Confirmed working for the b1600 chassis as well :-) brilliant, thanks a million. Rebooting with command: boot Boot device: disk File and args: >> FreeBSD/sparc64 boot block Boot path: /pci@1f,0/ide@d/disk@0,0:a Boot loader: /boot/loader Consoles: Open Firmware console Booting with sun4u support. FreeBSD/sparc64 bootstrap loader, Revision 1.0 (root@araz.cse.buffalo.edu, Sat Nov 21 15:42:12 UTC 2009) bootpath="/pci@1f,0/ide@d/disk@0,0:a" Loading /boot/defaults/loader.conf /boot/kernel/kernel data=0x972848+0x75368 syms=[0x8+0xa2f90+0x8+0x95b0e] / Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... jumping to kernel entry at 0xc0088000. Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-RELEASE #1: Sun Apr 18 20:55:49 BST 2010 root@gradfly.lerwick.hopto.org:/usr/obj/usr/src/sys/GENERIC real memory = 1073741824 (1024 MB) avail memory = 1032560640 (984 MB) cpu0: Sun Microsystems UltraSparc-IIe Processor (650.00 MHz CPU) ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware ispfw: registered firmware kbd0 at kbdmux0 nexus0: pcib0: mem 0x1fe00000000-0x1fe0000ffff,0x1fe01000000-0x1fe010000ff irq 2032,2030,2031,2021 on nexus0 pcib0: Hummingbird compatible, impl 0, version 0, IGN 0x1f, bus A, 33MHz pcib0: DVMA map: 0xc0000000 to 0xc3ffffff pcib0: [FILTER] pcib0: [FILTER] pcib0: [GIANT-LOCKED] pcib0: [ITHREAD] pcib0: [FILTER] pci0: on pcib0 isab0: at device 7.0 on pci0 isa0: on isab0 pci0: at device 3.0 (no driver attached) cas0: mem 0-0x1fffff at device 10.0 on pci0 miibus0: on cas0 gentbi0: PHY 0 on miibus0 gentbi0: 1000baseSX, 1000baseSX-FDX, auto cas0: 16kB RX FIFO, 9kB TX FIFO cas0: Ethernet address: 00:03:ba:4c:ee:fa cas0: [FILTER] cas1: mem 0x400000-0x5fffff at device 11.0 on pci0 miibus1: on cas1 gentbi1: PHY 0 on miibus1 gentbi1: 1000baseSX, 1000baseSX-FDX, auto cas1: 16kB RX FIFO, 9kB TX FIFO cas1: Ethernet address: 00:03:ba:4c:ee:fb cas1: [FILTER] atapci0: port 0x900-0x907,0x918-0x91b,0x910-0x917,0x908-0x90b,0x920-0x92f at device 13.0 on pci0 atapci0: [ITHREAD] atapci0: using PIO transfers above 137GB as workaround for 48bit DMA access bug, expect reduced performance ata2: on atapci0 ata2: [ITHREAD] ata3: on atapci0 ata3: [ITHREAD] nexus0: type unknown (no driver attached) uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 42 on isa0 uart0: [FILTER] uart0: console (9600,n,8,1) rtc0: at port 0x70-0x71 on isa0 Timecounter "tick" frequency 650000000 Hz quality 1000 Timecounters tick every 1.000 msec ad0: 28615MB at ata2-master UDMA100 GEOM: ad0: adding VTOC8 information. Trying to mount root from ufs:/dev/ad0a Invalid time in real time clock. Check and reset the date immediately! Setting hostuuid: b144b077-4b38-11df-ba65-0003ba0b715c. Setting hostid: 0x02c86842. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad0a: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0a: clean, 163323 free (307 frags, 20377 blocks, 0.1% fragmentation) /dev/ad0e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0e: clean, 253997 free (37 frags, 31745 blocks, 0.0% fragmentation) /dev/ad0f: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0f: clean, 12743683 free (4083 frags, 1592450 blocks, 0.0% fragmentation) /dev/ad0d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad0d: clean, 625999 free (47 frags, 78244 blocks, 0.0% fragmentation) Mounting local file systems:. /etc/rc: WARNING: $hostname is not set -- see rc.conf(5). Starting Network: lo0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Starting devd. Creating and/or trimming log files. Starting syslogd. ELF ldconfig path: /lib /usr/lib /usr/lib/compat Clearing /tmp (X related). Updating motd:. Starting cron. Starting background file system checks in 60 seconds. Sun Apr 18 22:25:06 UTC 2010 Apr 18 22:25:06 getty[893]: open /dev/ttyv0: No such file or directory FreeBSD/sparc64 (Amnesiac) (ttyu0) # ping yahoo.com PING yahoo.com (72.30.2.43): 56 data bytes 64 bytes from 72.30.2.43: icmp_seq=0 ttl=49 time=201.886 ms 64 bytes from 72.30.2.43: icmp_seq=1 ttl=49 time=220.346 ms From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 19 05:26:39 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC716106566B for ; Mon, 19 Apr 2010 05:26:39 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [213.240.137.9]) by mx1.freebsd.org (Postfix) with ESMTP id 7A7838FC1F for ; Mon, 19 Apr 2010 05:26:39 +0000 (UTC) Received: by uriah.heep.sax.de (Postfix, from userid 107) id 2085B37; Mon, 19 Apr 2010 07:26:37 +0200 (MET DST) Date: Mon, 19 Apr 2010 07:26:37 +0200 From: Joerg Wunsch To: freebsd-sparc64@freebsd.org Message-ID: <20100419052637.GY69438@uriah.heep.sax.de> References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> <4BCA0598.90905@rawbw.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BCA0598.90905@rawbw.com> X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-GPG-Fingerprint: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Joerg Wunsch List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2010 05:26:39 -0000 As Yuri wrote: > Also do you know will it boot if only one of 2 CPUs is present? I think so. All the Sun machines I came across could automatically detect (and adapt to) the number of CPU modules installed. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 19 09:14:58 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54FC2106564A for ; Mon, 19 Apr 2010 09:14:58 +0000 (UTC) (envelope-from christian.baer@uni-dortmund.de) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by mx1.freebsd.org (Postfix) with ESMTP id C83A78FC1F for ; Mon, 19 Apr 2010 09:14:57 +0000 (UTC) Received: from [192.168.1.100] (p508C2255.dip0.t-ipconnect.de [80.140.34.85]) by mrelayeu.kundenserver.de (node=mrbap0) with ESMTP (Nemesis) id 0MQ7u7-1O8zve3BGV-005NzR; Mon, 19 Apr 2010 11:02:17 +0200 Message-ID: <4BCC1C18.7040708@uni-dortmund.de> Date: Mon, 19 Apr 2010 11:02:16 +0200 From: Christian Baer User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: freebsd-sparc64@freebsd.org X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-Provags-ID: V01U2FsdGVkX19lK4J4NMyhH/HcbpzNVZzhPAYuRq1tX3dFo2A /X96O6fZXg5TMlVsYxkf4mVs7lXK9epm39WICf9iUayhVcvMjC 1A1/oMs6iNoD+R1QeTWDI/A5IOxY7whbPUOKysQ438= Subject: make installworld doesn't work X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2010 09:14:58 -0000 Hello there dear readers! A while back I tried to update from 8.0-RELEASE to RELENG_8_0. I got this far: - buildworld - buildkernel - installkernel - reboot - mergemaster -p Then I started a make installworld and it broke here: install -s -o root -g wheel -m 555 sort /usr/bin install -o root -g wheel -m 444 sort.1.gz /usr/share/man/man1 ===> gnu/usr.bin/texinfo (install) ===> gnu/usr.bin/texinfo/libtxi (install) ===> gnu/usr.bin/texinfo/makeinfo (install) install -s -o root -g wheel -m 555 makeinfo /usr/bin install -o root -g wheel -m 444 makeinfo.1.gz /usr/share/man/man1 ===> gnu/usr.bin/texinfo/info (install) install -s -o root -g wheel -m 555 info /usr/bin install -o root -g wheel -m 444 info.1.gz /usr/share/man/man1 install -o root -g wheel -m 444 info.5.gz /usr/share/man/man5 install -o root -g wheel -m 444 texinfo.5.gz /usr/share/man/man5 ===> gnu/usr.bin/texinfo/infokey (install) install -s -o root -g wheel -m 555 infokey /usr/bin install -o root -g wheel -m 444 infokey.1.gz /usr/share/man/man1 ===> gnu/usr.bin/texinfo/install-info (install) install -s -o root -g wheel -m 555 install-info /usr/bin install -o root -g wheel -m 444 install-info.1.gz /usr/share/man/man1 ===> gnu/usr.bin/texinfo/texindex (install) install -s -o root -g wheel -m 555 texindex /usr/bin install -o root -g wheel -m 444 texindex.1.gz /usr/share/man/man1 ===> gnu/usr.bin/texinfo/doc (install) install-info --quiet --defsection=Miscellaneous --defentry= info.info /usr/share/info/dir install-info --quiet --defsection=Miscellaneous --defentry= info-stnd.info /usr/share/info/dir install-info --quiet --defsection=Miscellaneous --defentry= texinfo.info /usr/share/info/dir install -o root -g wheel -m 444 info.info.gz info-stnd.info.gz texinfo.info.gz /usr/share/info ===> include (install) creating osreldate.h from newvers.sh touch: not found *** Error code 127 Stop in /usr/src/include. *** Error code 1 Stop in /usr/src. *** Error code 1 Obviously, just trying to install again won't do any good (this isn't Windows), I'm just a little careful about breaking the system. It is also possible that I broke this by playing with the compiler-options (I added 'CFLAGS+= -mcpu=ultrasparc' in make.conf). Maybe that broke my world. Strangely, it compiled without any error I could see, so I don't see why installing should fail. I removed alle additional compiler-flags from make.conf, erased the entire contents of /usr/obj/ and tried to make the world again. Same thing happened: The world built fine but refused to install. Updating the sources didn't do any good either. Actually, the sources haven't been updated since. I tried an Update a few minutes ago. The ports (and maybe docs) got updated, nothing else. So I am guessing, this isn't a know problem, or it probably would have been fixed by now. Any ideas, anybody? Regards, Chris From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 19 11:07:08 2010 Return-Path: Delivered-To: freebsd-sparc64@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24C571065674 for ; Mon, 19 Apr 2010 11:07:08 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 128EC8FC2A for ; Mon, 19 Apr 2010 11:07:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3JB77Vr034222 for ; Mon, 19 Apr 2010 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3JB77FE034220 for freebsd-sparc64@FreeBSD.org; Mon, 19 Apr 2010 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 19 Apr 2010 11:07:07 GMT Message-Id: <201004191107.o3JB77FE034220@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-sparc64@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-sparc64@FreeBSD.org X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2010 11:07:08 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o sparc/145211 sparc64 [panic] Memory modified after free o sparc/144900 sparc64 [patch] SPARC64 Floating point fixes o sparc/144867 sparc64 [panic] trap: memory address not aligned booting Sunfi o sparc/142102 sparc64 [nfs] [panic] FreeBSD 8.0 kernel panics on sparc64 whe o sparc/141918 sparc64 [ehci] ehci_interrupt: unrecoverable error, controller s sparc/139134 sparc64 kernel output corruption f sparc/127051 sparc64 [hme] hme interfaces "pause" with the message "device o sparc/119244 sparc64 X11Forwarding to X11 server on sparc crashes Xorg o sparc/119240 sparc64 top has WCPU over 100% on UP system s sparc/119239 sparc64 gdb coredumps on sparc64 f sparc/108732 sparc64 ping(8) reports 14 digit time on sparc64 s sparc/107087 sparc64 [hang] system is hung during boot from CD o sparc/105048 sparc64 [trm] trm(4) panics on sparc64 o sparc/104428 sparc64 [nullfs] nullfs panics on E4500 (but not E420) o sparc/80890 sparc64 [panic] kmem_malloc(73728): kmem_map too small running o sparc/71729 sparc64 printf in kernel thread causes panic on SPARC 16 problems total. From owner-freebsd-sparc64@FreeBSD.ORG Mon Apr 19 12:07:09 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D73C81065674 for ; Mon, 19 Apr 2010 12:07:09 +0000 (UTC) (envelope-from evaldo@fcm.unicamp.br) Received: from head.fcm.unicamp.br (head.fcm.unicamp.br [143.106.46.2]) by mx1.freebsd.org (Postfix) with ESMTP id 8BE6B8FC22 for ; Mon, 19 Apr 2010 12:07:09 +0000 (UTC) Received: from localhost (localhost.fcm.unicamp.br [127.0.0.1]) by head.fcm.unicamp.br (Postfix) with ESMTP id E909E7145C4; Mon, 19 Apr 2010 08:47:52 -0300 (BRT) X-Virus-Scanned: amavisd-new at fcm.unicamp.br Received: from head.fcm.unicamp.br ([127.0.0.1]) by localhost (head.fcm.unicamp.br [127.0.0.1]) (amavisd-new, port 10024) with SMTP id p1tQKqkZM7xk; Mon, 19 Apr 2010 08:47:52 -0300 (BRT) Received: from [143.106.46.61] (netadm.fcm.unicamp.br [143.106.46.61]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by head.fcm.unicamp.br (Postfix) with ESMTPSA id AA01C714803; Mon, 19 Apr 2010 08:47:52 -0300 (BRT) Message-ID: <4BCC42E3.9020109@fcm.unicamp.br> Date: Mon, 19 Apr 2010 08:47:47 -0300 From: Evaldo Silva User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: Christian Baer , freebsd-sparc64@freebsd.org References: <4BCC1C18.7040708@uni-dortmund.de> In-Reply-To: <4BCC1C18.7040708@uni-dortmund.de> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: make installworld doesn't work X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2010 12:07:09 -0000 Christian Baer escreveu: > Hello there dear readers! > (...) > touch: not found > *** Error code 127 > Hello there! I guess it did not found the "touch" utility at that momment. Just changed the path to that touch? Hope it helps You. Regards, Evaldo At fcm.unicamp.br From owner-freebsd-sparc64@FreeBSD.ORG Tue Apr 20 10:04:38 2010 Return-Path: Delivered-To: freebsd-sparc64@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E093106564A for ; Tue, 20 Apr 2010 10:04:38 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw2.york.ac.uk (mail-gw2.york.ac.uk [144.32.128.247]) by mx1.freebsd.org (Postfix) with ESMTP id BB2F88FC2A for ; Tue, 20 Apr 2010 10:04:37 +0000 (UTC) Received: from mail-gw7.york.ac.uk (mail-gw7.york.ac.uk [144.32.129.30]) by mail-gw2.york.ac.uk (8.13.6/8.13.6) with ESMTP id o3KA4L1Z003324; Tue, 20 Apr 2010 11:04:21 +0100 (BST) Received: from buffy-128.york.ac.uk ([144.32.128.160] helo=buffy.york.ac.uk) by mail-gw7.york.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1O4AJZ-0003lR-7p; Tue, 20 Apr 2010 11:04:21 +0100 Received: from buffy.york.ac.uk (localhost [127.0.0.1]) by buffy.york.ac.uk (8.14.3/8.14.3) with ESMTP id o3KA4Kvj017488; Tue, 20 Apr 2010 11:04:20 +0100 (BST) (envelope-from gavin@FreeBSD.org) Received: (from ga9@localhost) by buffy.york.ac.uk (8.14.3/8.14.3/Submit) id o3KA4KHJ017487; Tue, 20 Apr 2010 11:04:20 +0100 (BST) (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: buffy.york.ac.uk: ga9 set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson To: Christian Baer In-Reply-To: <4BCC1C18.7040708@uni-dortmund.de> References: <4BCC1C18.7040708@uni-dortmund.de> Content-Type: text/plain; charset="ASCII" Content-Transfer-Encoding: quoted-printable Date: Tue, 20 Apr 2010 11:04:19 +0100 Message-ID: <1271757859.43086.13.camel@buffy.york.ac.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 FreeBSD GNOME Team Port X-York-MailScanner: Found to be clean X-York-MailScanner-From: gavin@freebsd.org Cc: freebsd-sparc64@FreeBSD.org Subject: Re: make installworld doesn't work X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Apr 2010 10:04:38 -0000 On Mon, 2010-04-19 at 11:02 +0200, Christian Baer wrote: > =3D=3D=3D> include (install) > creating osreldate.h from newvers.sh > touch: not found > *** Error code 127 Check your date/time is set correctly. http://www.freebsd.org/doc/en/books/faq/troubleshoot.html#TOUCH-NOT-FOUND Gavin From owner-freebsd-sparc64@FreeBSD.ORG Tue Apr 20 21:30:33 2010 Return-Path: Delivered-To: sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE091106568E; Tue, 20 Apr 2010 21:30:32 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id A6F508FC1B; Tue, 20 Apr 2010 21:30:32 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.3) with ESMTP id o3KLUWU1062416; Tue, 20 Apr 2010 17:30:32 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.3/Submit) id o3KLUVnL062415; Tue, 20 Apr 2010 21:30:31 GMT (envelope-from tinderbox@freebsd.org) Date: Tue, 20 Apr 2010 21:30:31 GMT Message-Id: <201004202130.o3KLUVnL062415@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Cc: Subject: [releng_8 tinderbox] failure on sparc64/sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Apr 2010 21:30:33 -0000 TB --- 2010-04-20 20:23:53 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-04-20 20:23:53 - starting RELENG_8 tinderbox run for sparc64/sparc64 TB --- 2010-04-20 20:23:53 - cleaning the object tree TB --- 2010-04-20 20:24:08 - cvsupping the source tree TB --- 2010-04-20 20:24:08 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/RELENG_8/sparc64/sparc64/supfile TB --- 2010-04-20 20:26:05 - building world TB --- 2010-04-20 20:26:05 - MAKEOBJDIRPREFIX=/obj TB --- 2010-04-20 20:26:05 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-04-20 20:26:05 - TARGET=sparc64 TB --- 2010-04-20 20:26:05 - TARGET_ARCH=sparc64 TB --- 2010-04-20 20:26:05 - TZ=UTC TB --- 2010-04-20 20:26:05 - __MAKE_CONF=/dev/null TB --- 2010-04-20 20:26:05 - cd /src TB --- 2010-04-20 20:26:05 - /usr/bin/make -B buildworld >>> World build started on Tue Apr 20 20:26:05 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Tue Apr 20 21:16:59 UTC 2010 TB --- 2010-04-20 21:16:59 - generating LINT kernel config TB --- 2010-04-20 21:16:59 - cd /src/sys/sparc64/conf TB --- 2010-04-20 21:16:59 - /usr/bin/make -B LINT TB --- 2010-04-20 21:16:59 - building LINT kernel TB --- 2010-04-20 21:16:59 - MAKEOBJDIRPREFIX=/obj TB --- 2010-04-20 21:16:59 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-04-20 21:16:59 - TARGET=sparc64 TB --- 2010-04-20 21:16:59 - TARGET_ARCH=sparc64 TB --- 2010-04-20 21:16:59 - TZ=UTC TB --- 2010-04-20 21:16:59 - __MAKE_CONF=/dev/null TB --- 2010-04-20 21:16:59 - cd /src TB --- 2010-04-20 21:16:59 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Tue Apr 20 21:16:59 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] ===> geom/geom_sched (all) ===> geom/geom_sched/gs_sched (all) cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -include /obj/sparc64/src/sys/LINT/opt_global.h -I. -I@ -I@/contrib/altq -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -I/obj/sparc64/src/sys/LINT -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -c /src/sys/modules/geom/geom_sched/gs_sched/../../../../geom/sched/g_sched.c cc1: warnings being treated as errors /src/sys/modules/geom/geom_sched/gs_sched/../../../../geom/sched/g_sched.c: In function 'g_sched_issuer_pid': /src/sys/modules/geom/geom_sched/gs_sched/../../../../geom/sched/g_sched.c:760: warning: implicit declaration of function 'g_sched_issuer' /src/sys/modules/geom/geom_sched/gs_sched/../../../../geom/sched/g_sched.c:760: warning: nested extern declaration of 'g_sched_issuer' /src/sys/modules/geom/geom_sched/gs_sched/../../../../geom/sched/g_sched.c:760: warning: initialization makes pointer from integer without a cast *** Error code 1 Stop in /src/sys/modules/geom/geom_sched/gs_sched. *** Error code 1 Stop in /src/sys/modules/geom/geom_sched. *** Error code 1 Stop in /src/sys/modules/geom. *** Error code 1 Stop in /src/sys/modules. *** Error code 1 Stop in /obj/sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-04-20 21:30:31 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-04-20 21:30:31 - ERROR: failed to build lint kernel TB --- 2010-04-20 21:30:31 - 3272.77 user 560.33 system 3998.65 real http://tinderbox.freebsd.org/tinderbox-releng_8-RELENG_8-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Thu Apr 22 21:11:31 2010 Return-Path: Delivered-To: freebsd-sparc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47A3B106564A for ; Thu, 22 Apr 2010 21:11:31 +0000 (UTC) (envelope-from yuri@rawbw.com) Received: from shell0.rawbw.com (shell0.rawbw.com [198.144.192.45]) by mx1.freebsd.org (Postfix) with ESMTP id EE34B8FC17 for ; Thu, 22 Apr 2010 21:11:30 +0000 (UTC) Received: from eagle.syrec.org (stunnel@localhost [127.0.0.1]) (authenticated bits=0) by shell0.rawbw.com (8.14.4/8.14.4) with ESMTP id o3MKpb9k027418; Thu, 22 Apr 2010 13:51:39 -0700 (PDT) (envelope-from yuri@rawbw.com) Message-ID: <4BD0B6D9.5030307@rawbw.com> Date: Thu, 22 Apr 2010 13:51:37 -0700 From: Yuri User-Agent: Thunderbird 2.0.0.24 (X11/20100331) MIME-Version: 1.0 To: Craig Butler References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> In-Reply-To: <1271499634.2166.65.camel@main.lerwick.hopto.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Thu, 22 Apr 2010 21:24:50 +0000 Cc: Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: yuri@rawbw.com List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Apr 2010 21:11:31 -0000 Craig Butler wrote: > *power on sparc machine break to OK, boot net > > sit back and hopefully watch the installer load up (unless I missed > something :S) > I am using minicom to connect to serial console ttya on sun. I followed your instructions until breaking to ok prompt. But I get no response from sun box after ok prompt, no matter what commands I type. Also if I let it go without ok prompt it keeps saying: Timeout waiting for ARP/RARP packet. Yuri From owner-freebsd-sparc64@FreeBSD.ORG Fri Apr 23 02:22:16 2010 Return-Path: Delivered-To: sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C3651065673; Fri, 23 Apr 2010 02:22:16 +0000 (UTC) (envelope-from tinderbox@freebsd.org) Received: from freebsd-current.sentex.ca (freebsd-current.sentex.ca [64.7.128.98]) by mx1.freebsd.org (Postfix) with ESMTP id 68D098FC0C; Fri, 23 Apr 2010 02:22:16 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.4/8.14.3) with ESMTP id o3N2MFUV007562; Thu, 22 Apr 2010 22:22:15 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.4/8.14.3/Submit) id o3N2MFaV007561; Fri, 23 Apr 2010 02:22:15 GMT (envelope-from tinderbox@freebsd.org) Date: Fri, 23 Apr 2010 02:22:15 GMT Message-Id: <201004230222.o3N2MFaV007561@freebsd-current.sentex.ca> X-Authentication-Warning: freebsd-current.sentex.ca: tinderbox set sender to FreeBSD Tinderbox using -f Sender: FreeBSD Tinderbox From: FreeBSD Tinderbox To: FreeBSD Tinderbox , , Precedence: bulk Cc: Subject: [releng_8 tinderbox] failure on sparc64/sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 02:22:16 -0000 TB --- 2010-04-23 01:21:05 - tinderbox 2.6 running on freebsd-current.sentex.ca TB --- 2010-04-23 01:21:05 - starting RELENG_8 tinderbox run for sparc64/sparc64 TB --- 2010-04-23 01:21:05 - cleaning the object tree TB --- 2010-04-23 01:21:24 - cvsupping the source tree TB --- 2010-04-23 01:21:24 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/RELENG_8/sparc64/sparc64/supfile TB --- 2010-04-23 01:21:48 - building world TB --- 2010-04-23 01:21:48 - MAKEOBJDIRPREFIX=/obj TB --- 2010-04-23 01:21:48 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-04-23 01:21:48 - TARGET=sparc64 TB --- 2010-04-23 01:21:48 - TARGET_ARCH=sparc64 TB --- 2010-04-23 01:21:48 - TZ=UTC TB --- 2010-04-23 01:21:48 - __MAKE_CONF=/dev/null TB --- 2010-04-23 01:21:48 - cd /src TB --- 2010-04-23 01:21:48 - /usr/bin/make -B buildworld >>> World build started on Fri Apr 23 01:21:48 UTC 2010 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: make dependencies >>> stage 4.4: building everything >>> World build completed on Fri Apr 23 02:15:56 UTC 2010 TB --- 2010-04-23 02:15:56 - generating LINT kernel config TB --- 2010-04-23 02:15:56 - cd /src/sys/sparc64/conf TB --- 2010-04-23 02:15:56 - /usr/bin/make -B LINT TB --- 2010-04-23 02:15:56 - building LINT kernel TB --- 2010-04-23 02:15:56 - MAKEOBJDIRPREFIX=/obj TB --- 2010-04-23 02:15:56 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2010-04-23 02:15:56 - TARGET=sparc64 TB --- 2010-04-23 02:15:56 - TARGET_ARCH=sparc64 TB --- 2010-04-23 02:15:56 - TZ=UTC TB --- 2010-04-23 02:15:56 - __MAKE_CONF=/dev/null TB --- 2010-04-23 02:15:56 - cd /src TB --- 2010-04-23 02:15:56 - /usr/bin/make -B buildkernel KERNCONF=LINT >>> Kernel build for LINT started on Fri Apr 23 02:15:56 UTC 2010 >>> stage 1: configuring the kernel >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3.1: making dependencies >>> stage 3.2: building everything [...] cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/fs/nfs/nfs_commonacl.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/fs/nfsclient/nfs_clcomsubs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/fs/nfsclient/nfs_clsubs.c cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-builtin -mcmodel=medany -msoft-float -ffreestanding -fstack-protector -Werror /src/sys/fs/nfsclient/nfs_clstate.c /src/sys/fs/nfsclient/nfs_clstate.c: In function 'nfscl_open': /src/sys/fs/nfsclient/nfs_clstate.c:280: error: 'NFSCLOPEN_SETCRED' undeclared (first use in this function) /src/sys/fs/nfsclient/nfs_clstate.c:280: error: (Each undeclared identifier is reported only once /src/sys/fs/nfsclient/nfs_clstate.c:280: error: for each function it appears in.) *** Error code 1 Stop in /obj/sparc64/src/sys/LINT. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2010-04-23 02:22:15 - WARNING: /usr/bin/make returned exit code 1 TB --- 2010-04-23 02:22:15 - ERROR: failed to build lint kernel TB --- 2010-04-23 02:22:15 - 2889.47 user 554.27 system 3669.41 real http://tinderbox.freebsd.org/tinderbox-releng_8-RELENG_8-sparc64-sparc64.full From owner-freebsd-sparc64@FreeBSD.ORG Fri Apr 23 04:26:56 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2AE0106564A for ; Fri, 23 Apr 2010 04:26:56 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [213.240.137.9]) by mx1.freebsd.org (Postfix) with ESMTP id 4FC078FC0C for ; Fri, 23 Apr 2010 04:26:55 +0000 (UTC) Received: by uriah.heep.sax.de (Postfix, from userid 107) id D0ACA90; Fri, 23 Apr 2010 06:26:53 +0200 (MET DST) Date: Fri, 23 Apr 2010 06:26:53 +0200 From: Joerg Wunsch To: Yuri Message-ID: <20100423042653.GS69438@uriah.heep.sax.de> References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> <4BD0B6D9.5030307@rawbw.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BD0B6D9.5030307@rawbw.com> X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-GPG-Fingerprint: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-sparc64@freebsd.org Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Joerg Wunsch List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 04:26:56 -0000 As Yuri wrote: > Also if I let it go without ok prompt it keeps saying: Timeout waiting > for ARP/RARP packet. Do you have a rarpd in your network? Can you sniff the Sun's network traffic? Short of being able to setup a switch with port mirroring, I always found using an old 10 Mbit/s ethernet hub good for the purpose of sniffing really all traffic from a certain machine. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) From owner-freebsd-sparc64@FreeBSD.ORG Fri Apr 23 05:23:18 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2987C1065679 for ; Fri, 23 Apr 2010 05:23:18 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [213.240.137.9]) by mx1.freebsd.org (Postfix) with ESMTP id CA0898FC14 for ; Fri, 23 Apr 2010 05:23:17 +0000 (UTC) Received: by uriah.heep.sax.de (Postfix, from userid 107) id 9F1BC90; Fri, 23 Apr 2010 07:23:16 +0200 (MET DST) Date: Fri, 23 Apr 2010 07:23:16 +0200 From: Joerg Wunsch To: Yuri Message-ID: <20100423052316.GT69438@uriah.heep.sax.de> References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> <4BD0B6D9.5030307@rawbw.com> <20100423042653.GS69438@uriah.heep.sax.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100423042653.GS69438@uriah.heep.sax.de> X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-GPG-Fingerprint: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-sparc64@freebsd.org Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Joerg Wunsch List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 05:23:18 -0000 As Joerg Wunsch wrote: > Do you have a rarpd in your network? Also, I remember when I've been netbooting a Sun last time (which has been years ago, so things might have changed), they required the server to respond to an "ICMP mask request", which is not enabled by default in FreeBSD. Set sysctl net.inet.icmp.maskrepl=1 -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) From owner-freebsd-sparc64@FreeBSD.ORG Fri Apr 23 10:23:13 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2853106566B for ; Fri, 23 Apr 2010 10:23:13 +0000 (UTC) (envelope-from craig001@lerwick.hopto.org) Received: from lerwick.hopto.org (86.78.187.81.in-addr.arpa [81.187.78.86]) by mx1.freebsd.org (Postfix) with ESMTP id 2F3878FC1F for ; Fri, 23 Apr 2010 10:23:12 +0000 (UTC) Received: (qmail 18606 invoked by uid 98); 23 Apr 2010 11:39:34 +0100 Received: from 192.168.0.2 by polaris.lerwick.hopto.org (envelope-from , uid 82) with qmail-scanner-2.01 (clamdscan: 0.95.1/9971. hbedv: 7.9.1.53/7.1.6.174. spamassassin: 3.2.5. Clear:RC:1(192.168.0.2):. Processed in 0.050221 secs); 23 Apr 2010 10:39:34 -0000 Received: from unknown (HELO ?192.168.0.2?) (192.168.0.2) by lerwick.hopto.org with SMTP; 23 Apr 2010 11:39:34 +0100 From: Craig Butler To: Joerg Wunsch In-Reply-To: <20100423042653.GS69438@uriah.heep.sax.de> References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> <4BD0B6D9.5030307@rawbw.com> <20100423042653.GS69438@uriah.heep.sax.de> Content-Type: text/plain; charset="UTF-8" Date: Fri, 23 Apr 2010 11:23:10 +0100 Message-ID: <1272018190.60703.16.camel@main.lerwick.hopto.org> Mime-Version: 1.0 X-Mailer: Evolution 2.28.2 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: Yuri , freebsd-sparc64@freebsd.org Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 10:23:14 -0000 On Fri, 2010-04-23 at 06:26 +0200, Joerg Wunsch wrote: > As Yuri wrote: > > > Also if I let it go without ok prompt it keeps saying: Timeout waiting > > for ARP/RARP packet. > > Do you have a rarpd in your network? > > Can you sniff the Sun's network traffic? Short of being able to setup > a switch with port mirroring, I always found using an old 10 Mbit/s > ethernet hub good for the purpose of sniffing really all traffic from > a certain machine. > Yuri did you get my off list reply ?? the waiting for ARP/RARP is the sparc box doing a boot net, is rarp running on your intel sever ? ps axf | grep rarp to confirm... if it is running is there anything in the intel's /var/log/messages ? If the intel box can't resolve itself (ie no 127.0.0.1 in /etc/hosts) then rarp falls over -- you'll see error messages in /var/log/messages As long as the sparcs mac address is setup correctly in /etc/ethers and /etc/bootptab. inetd with tftp and bootp are running and rarp is running... my instructions should work... I have just recently used them to build another netboot server here. Regards Craig B From owner-freebsd-sparc64@FreeBSD.ORG Fri Apr 23 17:02:42 2010 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BC781065675 for ; Fri, 23 Apr 2010 17:02:42 +0000 (UTC) (envelope-from yuri@rawbw.com) Received: from shell0.rawbw.com (shell0.rawbw.com [198.144.192.45]) by mx1.freebsd.org (Postfix) with ESMTP id 5494F8FC19 for ; Fri, 23 Apr 2010 17:02:42 +0000 (UTC) Received: from eagle.syrec.org (stunnel@localhost [127.0.0.1]) (authenticated bits=0) by shell0.rawbw.com (8.14.4/8.14.4) with ESMTP id o3NH2ePB027322; Fri, 23 Apr 2010 10:02:40 -0700 (PDT) (envelope-from yuri@rawbw.com) Message-ID: <4BD1D2B0.2030806@rawbw.com> Date: Fri, 23 Apr 2010 10:02:40 -0700 From: Yuri User-Agent: Thunderbird 2.0.0.24 (X11/20100331) MIME-Version: 1.0 To: Craig Butler References: <4BC968B2.4030009@rawbw.com> <1271499634.2166.65.camel@main.lerwick.hopto.org> <4BD0B6D9.5030307@rawbw.com> <20100423042653.GS69438@uriah.heep.sax.de> <1272018190.60703.16.camel@main.lerwick.hopto.org> In-Reply-To: <1272018190.60703.16.camel@main.lerwick.hopto.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Joerg Wunsch , freebsd-sparc64@freebsd.org Subject: Re: Is it easy to netboot sun fire V210 using only sparc64 iso image and intel host? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: yuri@rawbw.com List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2010 17:02:42 -0000 Craig Butler wrote: > Yuri did you get my off list reply ?? > Thank you Craig and /Joerg Wunsch./ I got my Sparc booting through NFS, and it works like a charm now. The only correction I make to instructions (al least to make a diskless host): * delete /tftpboot/boot/mfsroot.gz * in /tftboot/boot/loader.conf: mfsroot_load="NO" vfs.root.mountfrom="nfs::" * on NFS host create some directory like /usr/diskless-sparc64 () into which unpack 'base' folder from installation CD and (maybe) 'boot' directory. * correct /etc/fstab to mount appropriate directories (/home, etc) from the appropriate NFS locations * create /etc/rc.conf to launch appropriate services on boot, and particularly add swap if needed. Otherwise mfsroot.gz drops into sysinstall, and it offers to partition disks and netbooted stations are often (at least mine is) diskless. Thank you again, I would have to spend much more time without them. Yuri From owner-freebsd-sparc64@FreeBSD.ORG Sat Apr 24 12:20:07 2010 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 896AA106564A for ; Sat, 24 Apr 2010 12:20:07 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 5D1A58FC0A for ; Sat, 24 Apr 2010 12:20:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3OCK7Z6008723 for ; Sat, 24 Apr 2010 12:20:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3OCK7Jx008722; Sat, 24 Apr 2010 12:20:07 GMT (envelope-from gnats) Date: Sat, 24 Apr 2010 12:20:07 GMT Message-Id: <201004241220.o3OCK7Jx008722@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: sparc64/144900: commit references a PR X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Apr 2010 12:20:07 -0000 The following reply was made to PR sparc64/144900; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: sparc64/144900: commit references a PR Date: Sat, 24 Apr 2010 12:11:59 +0000 (UTC) Author: marius Date: Sat Apr 24 12:11:41 2010 New Revision: 207151 URL: http://svn.freebsd.org/changeset/base/207151 Log: Add a TestFloat based test suite for floating-point implementations currently supporting sparc64. After a `make depend all` there are three programs; testsoftfloat for testing against the SoftFloat in src/lib/libc/softfloat for reference purposes, testemufloat for testing the emulator source in src/lib/libc/sparc64/fpu and testfloat for testing with the installed libc. Support for other architectures can be added as needed. PR: 144900 Submitted by: Peter Jeremy Added: head/tools/test/testfloat/ head/tools/test/testfloat/README.txt - copied unchanged from r207134, vendor/testfloat/dist/testfloat/README.txt head/tools/test/testfloat/fail.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/fail.c head/tools/test/testfloat/fail.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/fail.h head/tools/test/testfloat/random.c (contents, props changed) - copied, changed from r207134, vendor/testfloat/dist/testfloat/random.c head/tools/test/testfloat/random.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/random.h head/tools/test/testfloat/slowfloat-32.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/slowfloat-32.c head/tools/test/testfloat/slowfloat-64.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/slowfloat-64.c head/tools/test/testfloat/slowfloat.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/slowfloat.c head/tools/test/testfloat/slowfloat.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/slowfloat.h head/tools/test/testfloat/sparc64/ head/tools/test/testfloat/sparc64/Makefile (contents, props changed) head/tools/test/testfloat/sparc64/fpu_emul.S (contents, props changed) head/tools/test/testfloat/sparc64/fpu_reg.h (contents, props changed) head/tools/test/testfloat/sparc64/fpu_util.c (contents, props changed) head/tools/test/testfloat/sparc64/libc_private.h (contents, props changed) head/tools/test/testfloat/sparc64/milieu.h (contents, props changed) head/tools/test/testfloat/sparc64/namespace.h (contents, props changed) head/tools/test/testfloat/sparc64/softfloat.h (contents, props changed) head/tools/test/testfloat/sparc64/sparc64.h (contents, props changed) head/tools/test/testfloat/sparc64/systflags.c (contents, props changed) head/tools/test/testfloat/sparc64/systfloat.S (contents, props changed) head/tools/test/testfloat/sparc64/systfloat.h (contents, props changed) head/tools/test/testfloat/sparc64/systmodes.c (contents, props changed) head/tools/test/testfloat/sparc64/un-namespace.h (contents, props changed) head/tools/test/testfloat/systemBugs.txt - copied unchanged from r207134, vendor/testfloat/dist/testfloat/systemBugs.txt head/tools/test/testfloat/systflags.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/systflags.h head/tools/test/testfloat/systfloat.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/systfloat.c head/tools/test/testfloat/systmodes.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/systmodes.h head/tools/test/testfloat/testCases.c (contents, props changed) - copied, changed from r207134, vendor/testfloat/dist/testfloat/testCases.c head/tools/test/testfloat/testCases.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testCases.h head/tools/test/testfloat/testFunction.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testFunction.c head/tools/test/testfloat/testFunction.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testFunction.h head/tools/test/testfloat/testLoops.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testLoops.c head/tools/test/testfloat/testLoops.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testLoops.h head/tools/test/testfloat/testfloat-history.txt - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testfloat-history.txt head/tools/test/testfloat/testfloat-source.txt - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testfloat-source.txt head/tools/test/testfloat/testfloat.c (contents, props changed) - copied, changed from r207134, vendor/testfloat/dist/testfloat/testfloat.c head/tools/test/testfloat/testfloat.txt - copied unchanged from r207134, vendor/testfloat/dist/testfloat/testfloat.txt head/tools/test/testfloat/testsoftfloat.c (contents, props changed) - copied, changed from r207134, vendor/testfloat/dist/testfloat/testsoftfloat.c head/tools/test/testfloat/writeHex.c - copied unchanged from r207134, vendor/testfloat/dist/testfloat/writeHex.c head/tools/test/testfloat/writeHex.h - copied unchanged from r207134, vendor/testfloat/dist/testfloat/writeHex.h Modified: head/tools/test/README Modified: head/tools/test/README ============================================================================== --- head/tools/test/README Sat Apr 24 10:22:08 2010 (r207150) +++ head/tools/test/README Sat Apr 24 12:11:41 2010 (r207151) @@ -11,3 +11,4 @@ devrandom Programs to test /dev/*random. dtrace DTrace test suite malloc A program to test and benchmark malloc(). posixshm A program to test POSIX shared memory. +testfloat Programs to test floating-point implementations Copied: head/tools/test/testfloat/README.txt (from r207134, vendor/testfloat/dist/testfloat/README.txt) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/test/testfloat/README.txt Sat Apr 24 12:11:41 2010 (r207151, copy of r207134, vendor/testfloat/dist/testfloat/README.txt) @@ -0,0 +1,50 @@ + +Package Overview for TestFloat Release 2a + +John R. Hauser +1998 December 16 + + +TestFloat is a program for testing that a floating-point implementation +conforms to the IEC/IEEE Standard for Binary Floating-Point Arithmetic. +TestFloat is distributed in the form of C source code. The TestFloat +package actually provides two related programs: + +-- The `testfloat' program tests a system's floating-point for conformance + to the IEC/IEEE Standard. This program uses the SoftFloat software + floating-point implementation as a basis for comparison. + +-- The `testsoftfloat' program tests SoftFloat itself for conformance to + the IEC/IEEE Standard. These tests are performed by comparing against a + separate, slower software floating-point that is included in the TestFloat + package. + +TestFloat depends on SoftFloat, but SoftFloat is not included in the +TestFloat package. SoftFloat can be obtained through the Web page `http:// +HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/SoftFloat.html'. + +TestFloat is documented in three text files: + + testfloat.txt Documentation for using the TestFloat programs + (both `testfloat' and `testsoftfloat'). + testfloat-source.txt Documentation for porting and compiling TestFloat. + testfloat-history.txt History of major changes to TestFloat. + +The following file is also provided: + + systemBugs.txt Information about processor bugs found using + TestFloat. + +Other files in the package comprise the source code for TestFloat. + +Please be aware that some work is involved in porting this software to other +targets. It is not just a matter of getting `make' to complete without +error messages. I would have written the code that way if I could, but +there are fundamental differences between systems that I can't make go away. +You should not attempt to compile the TestFloat sources without first +reading `testfloat-source.txt'. + +At the time of this writing, the most up-to-date information about +TestFloat and the latest release can be found at the Web page `http:// +HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. + Copied: head/tools/test/testfloat/fail.c (from r207134, vendor/testfloat/dist/testfloat/fail.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/test/testfloat/fail.c Sat Apr 24 12:11:41 2010 (r207151, copy of r207134, vendor/testfloat/dist/testfloat/fail.c) @@ -0,0 +1,46 @@ + +/* +=============================================================================== + +This C source file is part of TestFloat, Release 2a, a package of programs +for testing the correctness of floating-point arithmetic complying to the +IEC/IEEE Standard for Floating-Point. + +Written by John R. Hauser. More information is available through the Web +page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY +AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. + +Derivative works are acceptable, even for commercial purposes, so long as +(1) they include prominent notice that the work is derivative, and (2) they +include prominent notice akin to these four paragraphs for those parts of +this code that are retained. + +=============================================================================== +*/ + +#include +#include +#include +#include "milieu.h" +#include "fail.h" + +char *fail_programName = ""; + +void fail( const char *message, ... ) +{ + va_list varArgs; + + fprintf( stderr, "%s: ", fail_programName ); + va_start( varArgs, message ); + vfprintf( stderr, message, varArgs ); + va_end( varArgs ); + fputs( ".\n", stderr ); + exit( EXIT_FAILURE ); + +} + Copied: head/tools/test/testfloat/fail.h (from r207134, vendor/testfloat/dist/testfloat/fail.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/test/testfloat/fail.h Sat Apr 24 12:11:41 2010 (r207151, copy of r207134, vendor/testfloat/dist/testfloat/fail.h) @@ -0,0 +1,29 @@ + +/* +=============================================================================== + +This C header file is part of TestFloat, Release 2a, a package of programs +for testing the correctness of floating-point arithmetic complying to the +IEC/IEEE Standard for Floating-Point. + +Written by John R. Hauser. More information is available through the Web +page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY +AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. + +Derivative works are acceptable, even for commercial purposes, so long as +(1) they include prominent notice that the work is derivative, and (2) they +include prominent notice akin to these four paragraphs for those parts of +this code that are retained. + +=============================================================================== +*/ + +extern char *fail_programName; + +void fail( const char *, ... ); + Copied and modified: head/tools/test/testfloat/random.c (from r207134, vendor/testfloat/dist/testfloat/random.c) ============================================================================== --- vendor/testfloat/dist/testfloat/random.c Fri Apr 23 19:48:31 2010 (r207134, copy source) +++ head/tools/test/testfloat/random.c Sat Apr 24 12:11:41 2010 (r207151) @@ -23,6 +23,9 @@ this code that are retained. =============================================================================== */ +#include +__FBSDID("$FreeBSD$"); + #include #include "milieu.h" #include "random.h" @@ -30,26 +33,21 @@ this code that are retained. uint8 randomUint8( void ) { - return (bits8) ( rand()>>4 ); + return (bits8) ( random()>>4 ); } uint16 randomUint16( void ) { - return ( ( rand() & 0x0FF0 )<<4 ) | ( ( rand()>>4 ) & 0xFF ); + return ( random() & 0x0000ffff ); } uint32 randomUint32( void ) { - return - ( ( (uint32) ( rand() & 0x0FF0 ) )<<20 ) - | ( ( (uint32) ( rand() & 0x0FF0 ) )<<12 ) - | ( ( rand() & 0x0FF0 )<<4 ) - | ( ( rand()>>4 ) & 0xFF ); - + return ( ( (uint32) random()<<16) | ( (uint32) random() & 0x0000ffff) ); } #ifdef BITS64 Copied: head/tools/test/testfloat/random.h (from r207134, vendor/testfloat/dist/testfloat/random.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/test/testfloat/random.h Sat Apr 24 12:11:41 2010 (r207151, copy of r207134, vendor/testfloat/dist/testfloat/random.h) @@ -0,0 +1,32 @@ + +/* +=============================================================================== + +This C header file is part of TestFloat, Release 2a, a package of programs +for testing the correctness of floating-point arithmetic complying to the +IEC/IEEE Standard for Floating-Point. + +Written by John R. Hauser. More information is available through the Web +page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY +AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. + +Derivative works are acceptable, even for commercial purposes, so long as +(1) they include prominent notice that the work is derivative, and (2) they +include prominent notice akin to these four paragraphs for those parts of +this code that are retained. + +=============================================================================== +*/ + +uint8 randomUint8( void ); +uint16 randomUint16( void ); +uint32 randomUint32( void ); +#ifdef BITS64 +uint64 randomUint64( void ); +#endif + Copied: head/tools/test/testfloat/slowfloat-32.c (from r207134, vendor/testfloat/dist/testfloat/slowfloat-32.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/test/testfloat/slowfloat-32.c Sat Apr 24 12:11:41 2010 (r207151, copy of r207134, vendor/testfloat/dist/testfloat/slowfloat-32.c) @@ -0,0 +1,1183 @@ + +/* +=============================================================================== + +This C source file is part of TestFloat, Release 2a, a package of programs +for testing the correctness of floating-point arithmetic complying to the +IEC/IEEE Standard for Floating-Point. + +Written by John R. Hauser. More information is available through the Web +page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY +AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. + +Derivative works are acceptable, even for commercial purposes, so long as +(1) they include prominent notice that the work is derivative, and (2) they +include prominent notice akin to these four paragraphs for those parts of +this code that are retained. + +=============================================================================== +*/ + +int8 slow_float_rounding_mode; +int8 slow_float_exception_flags; +int8 slow_float_detect_tininess; + +typedef struct { + bits32 a0, a1; +} bits64X; + +typedef struct { + flag isNaN; + flag isInf; + flag isZero; + flag sign; + int16 exp; + bits64X sig; +} floatX; + +static const floatX floatXNaN = { TRUE, FALSE, FALSE, FALSE, 0, { 0, 0 } }; +static const floatX floatXPositiveZero = + { FALSE, FALSE, TRUE, FALSE, 0, { 0, 0 } }; +static const floatX floatXNegativeZero = + { FALSE, FALSE, TRUE, TRUE, 0, { 0, 0 } }; + +static bits64X shortShift64Left( bits64X a, int8 shiftCount ) +{ + int8 negShiftCount; + + negShiftCount = ( - shiftCount & 31 ); + a.a0 = ( a.a0<>negShiftCount ); + a.a1 <<= shiftCount; + return a; + +} + +static bits64X shortShift64RightJamming( bits64X a, int8 shiftCount ) +{ + int8 negShiftCount; + bits32 extra; + + negShiftCount = ( - shiftCount & 31 ); + extra = a.a1<>shiftCount ) | ( extra != 0 ); + a.a0 >>= shiftCount; + return a; + +} + +static bits64X neg64( bits64X a ) +{ + + if ( a.a1 == 0 ) { + a.a0 = - a.a0; + } + else { + a.a1 = - a.a1; + a.a0 = ~ a.a0; + } + return a; + +} + +static bits64X add64( bits64X a, bits64X b ) +{ + + a.a1 += b.a1; + a.a0 += b.a0 + ( a.a1 < b.a1 ); + return a; + +} + +static flag eq64( bits64X a, bits64X b ) +{ + + return ( a.a0 == b.a0 ) && ( a.a1 == b.a1 ); + +} + +static flag le64( bits64X a, bits64X b ) +{ + + return ( a.a0 < b.a0 ) || ( ( a.a0 == b.a0 ) && ( a.a1 <= b.a1 ) ); + +} + +static flag lt64( bits64X a, bits64X b ) +{ + + return ( a.a0 < b.a0 ) || ( ( a.a0 == b.a0 ) && ( a.a1 < b.a1 ) ); + +} + +static floatX roundFloatXTo24( flag isTiny, floatX zx ) +{ + + if ( zx.sig.a1 ) { + slow_float_exception_flags |= float_flag_inexact; + if ( isTiny ) slow_float_exception_flags |= float_flag_underflow; + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + if ( zx.sig.a1 < 0x80000000 ) goto noIncrement; + if ( ( zx.sig.a1 == 0x80000000 ) && ! ( zx.sig.a0 & 1 ) ) { + goto noIncrement; + } + break; + case float_round_to_zero: + goto noIncrement; + case float_round_down: + if ( ! zx.sign ) goto noIncrement; + break; + case float_round_up: + if ( zx.sign ) goto noIncrement; + break; + } + ++zx.sig.a0; + if ( zx.sig.a0 == 0x01000000 ) { + zx.sig.a0 = 0x00800000; + ++zx.exp; + } + } + noIncrement: + zx.sig.a1 = 0; + return zx; + +} + +static floatX roundFloatXTo53( flag isTiny, floatX zx ) +{ + int8 roundBits; + + roundBits = zx.sig.a1 & 7; + zx.sig.a1 -= roundBits; + if ( roundBits ) { + slow_float_exception_flags |= float_flag_inexact; + if ( isTiny ) slow_float_exception_flags |= float_flag_underflow; + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + if ( roundBits < 4 ) goto noIncrement; + if ( ( roundBits == 4 ) && ! ( zx.sig.a1 & 8 ) ) goto noIncrement; + break; + case float_round_to_zero: + goto noIncrement; + case float_round_down: + if ( ! zx.sign ) goto noIncrement; + break; + case float_round_up: + if ( zx.sign ) goto noIncrement; + break; + } + zx.sig.a1 += 8; + zx.sig.a0 += ( zx.sig.a1 == 0 ); + if ( zx.sig.a0 == 0x01000000 ) { + zx.sig.a0 = 0x00800000; + ++zx.exp; + } + } + noIncrement: + return zx; + +} + +static floatX int32ToFloatX( int32 a ) +{ + floatX ax; + + ax.isNaN = FALSE; + ax.isInf = FALSE; + ax.sign = ( a < 0 ); + ax.sig.a1 = ax.sign ? - a : a; + ax.sig.a0 = 0; + if ( a == 0 ) { + ax.isZero = TRUE; + return ax; + } + ax.isZero = FALSE; + ax.sig = shortShift64Left( ax.sig, 23 ); + ax.exp = 32; + while ( ax.sig.a0 < 0x00800000 ) { + ax.sig = shortShift64Left( ax.sig, 1 ); + --ax.exp; + } + return ax; + +} + +static int32 floatXToInt32( floatX ax ) +{ + int8 savedExceptionFlags; + int16 shiftCount; + int32 z; + + if ( ax.isInf || ax.isNaN ) { + slow_float_exception_flags |= float_flag_invalid; + return ( ax.isInf & ax.sign ) ? 0x80000000 : 0x7FFFFFFF; + } + if ( ax.isZero ) return 0; + savedExceptionFlags = slow_float_exception_flags; + shiftCount = 52 - ax.exp; + if ( 56 < shiftCount ) { + ax.sig.a1 = 1; + ax.sig.a0 = 0; + } + else { + while ( 0 < shiftCount ) { + ax.sig = shortShift64RightJamming( ax.sig, 1 ); + --shiftCount; + } + } + ax = roundFloatXTo53( FALSE, ax ); + ax.sig = shortShift64RightJamming( ax.sig, 3 ); + z = ax.sig.a1; + if ( ax.sign ) z = - z; + if ( ( shiftCount < 0 ) + || ax.sig.a0 + || ( ( z != 0 ) && ( ( ax.sign ^ ( z < 0 ) ) != 0 ) ) + ) { + slow_float_exception_flags = savedExceptionFlags | float_flag_invalid; + return ax.sign ? 0x80000000 : 0x7FFFFFFF; + } + return z; + +} + +static floatX float32ToFloatX( float32 a ) +{ + int16 expField; + floatX ax; + + ax.isNaN = FALSE; + ax.isInf = FALSE; + ax.isZero = FALSE; + ax.sign = ( ( a & 0x80000000 ) != 0 ); + expField = ( a>>23 ) & 0xFF; + ax.sig.a1 = 0; + ax.sig.a0 = a & 0x007FFFFF; + if ( expField == 0 ) { + if ( ax.sig.a0 == 0 ) { + ax.isZero = TRUE; + } + else { + expField = 1 - 0x7F; + do { + ax.sig.a0 <<= 1; + --expField; + } while ( ax.sig.a0 < 0x00800000 ); + ax.exp = expField; + } + } + else if ( expField == 0xFF ) { + if ( ax.sig.a0 == 0 ) { + ax.isInf = TRUE; + } + else { + ax.isNaN = TRUE; + } + } + else { + ax.sig.a0 |= 0x00800000; + ax.exp = expField - 0x7F; + } + return ax; + +} + +static float32 floatXToFloat32( floatX zx ) +{ + floatX savedZ; + flag isTiny; + int16 expField; + float32 z; + + if ( zx.isZero ) return zx.sign ? 0x80000000 : 0; + if ( zx.isInf ) return zx.sign ? 0xFF800000 : 0x7F800000; + if ( zx.isNaN ) return 0xFFFFFFFF; + while ( 0x01000000 <= zx.sig.a0 ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + ++zx.exp; + } + while ( zx.sig.a0 < 0x00800000 ) { + zx.sig = shortShift64Left( zx.sig, 1 ); + --zx.exp; + } + savedZ = zx; + isTiny = + ( slow_float_detect_tininess == float_tininess_before_rounding ) + && ( zx.exp + 0x7F <= 0 ); + zx = roundFloatXTo24( isTiny, zx ); + expField = zx.exp + 0x7F; + if ( 0xFF <= expField ) { + slow_float_exception_flags |= + float_flag_overflow | float_flag_inexact; + if ( zx.sign ) { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_down: + z = 0xFF800000; + break; + case float_round_to_zero: + case float_round_up: + z = 0xFF7FFFFF; + break; + } + } + else { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_up: + z = 0x7F800000; + break; + case float_round_to_zero: + case float_round_down: + z = 0x7F7FFFFF; + break; + } + } + return z; + } + if ( expField <= 0 ) { + isTiny = TRUE; + zx = savedZ; + expField = zx.exp + 0x7F; + if ( expField < -27 ) { + zx.sig.a1 = ( zx.sig.a0 != 0 ) || ( zx.sig.a1 != 0 ); + zx.sig.a0 = 0; + } + else { + while ( expField <= 0 ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + ++expField; + } + } + zx = roundFloatXTo24( isTiny, zx ); + expField = ( 0x00800000 <= zx.sig.a0 ) ? 1 : 0; + } + z = expField; + z <<= 23; + if ( zx.sign ) z |= 0x80000000; + z |= zx.sig.a0 & 0x007FFFFF; + return z; + +} + +static floatX float64ToFloatX( float64 a ) +{ + int16 expField; + floatX ax; + + ax.isNaN = FALSE; + ax.isInf = FALSE; + ax.isZero = FALSE; +#ifdef BITS64 + ax.sign = ( ( a & LIT64( 0x8000000000000000 ) ) != 0 ); + expField = ( a>>52 ) & 0x7FF; + ax.sig.a1 = a; + ax.sig.a0 = ( a>>32 ) & 0x000FFFFF; +#else + ax.sign = ( ( a.high & 0x80000000 ) != 0 ); + expField = ( a.high>>( 52 - 32 ) ) & 0x7FF; + ax.sig.a1 = a.low; + ax.sig.a0 = a.high & 0x000FFFFF; +#endif + if ( expField == 0 ) { + if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) { + ax.isZero = TRUE; + } + else { + expField = 1 - 0x3FF; + do { + ax.sig = shortShift64Left( ax.sig, 1 ); + --expField; + } while ( ax.sig.a0 < 0x00100000 ); + ax.exp = expField; + } + } + else if ( expField == 0x7FF ) { + if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) { + ax.isInf = TRUE; + } + else { + ax.isNaN = TRUE; + } + } + else { + ax.exp = expField - 0x3FF; + ax.sig.a0 |= 0x00100000; + } + ax.sig = shortShift64Left( ax.sig, 3 ); + return ax; + +} + +static float64 floatXToFloat64( floatX zx ) +{ + floatX savedZ; + flag isTiny; + int16 expField; + float64 z; + +#ifdef BITS64 + if ( zx.isZero ) return zx.sign ? LIT64( 0x8000000000000000 ) : 0; + if ( zx.isInf ) { + return + zx.sign ? LIT64( 0xFFF0000000000000 ) + : LIT64( 0x7FF0000000000000 ); + } + if ( zx.isNaN ) return LIT64( 0xFFFFFFFFFFFFFFFF ); +#else + if ( zx.isZero ) { + z.low = 0; + z.high = zx.sign ? 0x80000000 : 0; + return z; + } + if ( zx.isInf ) { + z.low = 0; + z.high = zx.sign ? 0xFFF00000 : 0x7FF00000; + return z; + } + if ( zx.isNaN ) { + z.high = z.low = 0xFFFFFFFF; + return z; + } +#endif + while ( 0x01000000 <= zx.sig.a0 ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + ++zx.exp; + } + while ( zx.sig.a0 < 0x00800000 ) { + zx.sig = shortShift64Left( zx.sig, 1 ); + --zx.exp; + } + savedZ = zx; + isTiny = + ( slow_float_detect_tininess == float_tininess_before_rounding ) + && ( zx.exp + 0x3FF <= 0 ); + zx = roundFloatXTo53( isTiny, zx ); + expField = zx.exp + 0x3FF; + if ( 0x7FF <= expField ) { + slow_float_exception_flags |= + float_flag_overflow | float_flag_inexact; +#ifdef BITS64 + if ( zx.sign ) { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_down: + z = LIT64( 0xFFF0000000000000 ); + break; + case float_round_to_zero: + case float_round_up: + z = LIT64( 0xFFEFFFFFFFFFFFFF ); + break; + } + } + else { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_up: + z = LIT64( 0x7FF0000000000000 ); + break; + case float_round_to_zero: + case float_round_down: + z = LIT64( 0x7FEFFFFFFFFFFFFF ); + break; + } + } +#else + if ( zx.sign ) { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_down: + z.low = 0; + z.high = 0xFFF00000; + break; + case float_round_to_zero: + case float_round_up: + z.low = 0xFFFFFFFF; + z.high = 0xFFEFFFFF; + break; + } + } + else { + switch ( slow_float_rounding_mode ) { + case float_round_nearest_even: + case float_round_up: + z.low = 0; + z.high = 0x7FF00000; + break; + case float_round_to_zero: + case float_round_down: + z.low = 0xFFFFFFFF; + z.high = 0x7FEFFFFF; + break; + } + } +#endif + return z; + } + if ( expField <= 0 ) { + isTiny = TRUE; + zx = savedZ; + expField = zx.exp + 0x3FF; + if ( expField < -56 ) { + zx.sig.a1 = ( zx.sig.a0 != 0 ) || ( zx.sig.a1 != 0 ); + zx.sig.a0 = 0; + } + else { + while ( expField <= 0 ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + ++expField; + } + } + zx = roundFloatXTo53( isTiny, zx ); + expField = ( 0x00800000 <= zx.sig.a0 ) ? 1 : 0; + } + zx.sig = shortShift64RightJamming( zx.sig, 3 ); +#ifdef BITS64 + z = expField; + z <<= 52; + if ( zx.sign ) z |= LIT64( 0x8000000000000000 ); + z |= ( ( (bits64) ( zx.sig.a0 & 0x000FFFFF ) )<<32 ) | zx.sig.a1; +#else + z.low = zx.sig.a1; + z.high = expField; + z.high <<= 52 - 32; + if ( zx.sign ) z.high |= 0x80000000; + z.high |= zx.sig.a0 & 0x000FFFFF; +#endif + return z; + +} + +static floatX floatXInvalid( void ) +{ + + slow_float_exception_flags |= float_flag_invalid; + return floatXNaN; + +} + +static floatX floatXRoundToInt( floatX ax ) +{ + int16 shiftCount, i; + + if ( ax.isNaN || ax.isInf ) return ax; + shiftCount = 52 - ax.exp; + if ( shiftCount <= 0 ) return ax; + if ( 55 < shiftCount ) { + ax.exp = 52; + ax.sig.a1 = ! ax.isZero; + ax.sig.a0 = 0; + } + else { + while ( 0 < shiftCount ) { + ax.sig = shortShift64RightJamming( ax.sig, 1 ); + ++ax.exp; + --shiftCount; + } + } + ax = roundFloatXTo53( FALSE, ax ); + if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) ax.isZero = TRUE; + return ax; + +} + +static floatX floatXAdd( floatX ax, floatX bx ) +{ + int16 expDiff; + floatX zx; + + if ( ax.isNaN ) return ax; + if ( bx.isNaN ) return bx; + if ( ax.isInf && bx.isInf ) { + if ( ax.sign == bx.sign ) return ax; + return floatXInvalid(); + } + if ( ax.isInf ) return ax; + if ( bx.isInf ) return bx; + if ( ax.isZero && bx.isZero ) { + if ( ax.sign == bx.sign ) return ax; + goto completeCancellation; + } + if ( ( ax.sign != bx.sign ) + && ( ax.exp == bx.exp ) + && eq64( ax.sig, bx.sig ) + ) { + completeCancellation: + return + ( slow_float_rounding_mode == float_round_down ) ? + floatXNegativeZero + : floatXPositiveZero; + } + if ( ax.isZero ) return bx; + if ( bx.isZero ) return ax; + expDiff = ax.exp - bx.exp; + if ( expDiff < 0 ) { + zx = ax; + zx.exp = bx.exp; + if ( expDiff < -56 ) { + zx.sig.a1 = 1; + zx.sig.a0 = 0; + } + else { + while ( expDiff < 0 ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + ++expDiff; + } + } + if ( ax.sign != bx.sign ) zx.sig = neg64( zx.sig ); + zx.sign = bx.sign; + zx.sig = add64( zx.sig, bx.sig ); + } + else { + zx = bx; + zx.exp = ax.exp; + if ( 56 < expDiff ) { + zx.sig.a1 = 1; + zx.sig.a0 = 0; + } + else { + while ( 0 < expDiff ) { + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + --expDiff; + } + } + if ( ax.sign != bx.sign ) zx.sig = neg64( zx.sig ); + zx.sign = ax.sign; + zx.sig = add64( zx.sig, ax.sig ); + } + if ( zx.sig.a0 & 0x80000000 ) { + zx.sig = neg64( zx.sig ); + zx.sign = ! zx.sign; + } + return zx; + +} + +static floatX floatXMul( floatX ax, floatX bx ) +{ + int8 bitNum; + floatX zx; + + if ( ax.isNaN ) return ax; + if ( bx.isNaN ) return bx; + if ( ax.isInf ) { + if ( bx.isZero ) return floatXInvalid(); + if ( bx.sign ) ax.sign = ! ax.sign; + return ax; + } + if ( bx.isInf ) { + if ( ax.isZero ) return floatXInvalid(); + if ( ax.sign ) bx.sign = ! bx.sign; + return bx; + } + zx = ax; + zx.sign ^= bx.sign; + if ( ax.isZero || bx.isZero ) { + return zx.sign ? floatXNegativeZero : floatXPositiveZero; + } + zx.exp += bx.exp + 1; + zx.sig.a1 = 0; + zx.sig.a0 = 0; + for ( bitNum = 0; bitNum < 55; ++bitNum ) { + if ( bx.sig.a1 & 2 ) zx.sig = add64( zx.sig, ax.sig ); + bx.sig = shortShift64RightJamming( bx.sig, 1 ); + zx.sig = shortShift64RightJamming( zx.sig, 1 ); + } + return zx; + +} + +static floatX floatXDiv( floatX ax, floatX bx ) +{ + bits64X negBSig; + int8 bitNum; + floatX zx; + + if ( ax.isNaN ) return ax; + if ( bx.isNaN ) return bx; + if ( ax.isInf ) { + if ( bx.isInf ) return floatXInvalid(); + if ( bx.sign ) ax.sign = ! ax.sign; + return ax; + } + if ( bx.isZero ) { + if ( ax.isZero ) return floatXInvalid(); + slow_float_exception_flags |= float_flag_divbyzero; + if ( ax.sign ) bx.sign = ! bx.sign; + bx.isZero = FALSE; + bx.isInf = TRUE; + return bx; + } + zx = ax; + zx.sign ^= bx.sign; + if ( ax.isZero || bx.isInf ) { + return zx.sign ? floatXNegativeZero : floatXPositiveZero; + } + zx.exp -= bx.exp + 1; + zx.sig.a1 = 0; + zx.sig.a0 = 0; + negBSig = neg64( bx.sig ); + for ( bitNum = 0; bitNum < 56; ++bitNum ) { + if ( le64( bx.sig, ax.sig ) ) { + zx.sig.a1 |= 1; + ax.sig = add64( ax.sig, negBSig ); + } + ax.sig = shortShift64Left( ax.sig, 1 ); + zx.sig = shortShift64Left( zx.sig, 1 ); + } + if ( ax.sig.a0 || ax.sig.a1 ) zx.sig.a1 |= 1; + return zx; + +} + +static floatX floatXRem( floatX ax, floatX bx ) +{ + bits64X negBSig; + flag lastQuotientBit; + bits64X savedASig; + + if ( ax.isNaN ) return ax; + if ( bx.isNaN ) return bx; + if ( ax.isInf || bx.isZero ) return floatXInvalid(); + if ( ax.isZero || bx.isInf ) return ax; + --bx.exp; + if ( ax.exp < bx.exp ) return ax; + bx.sig = shortShift64Left( bx.sig, 1 ); + negBSig = neg64( bx.sig ); + while ( bx.exp < ax.exp ) { + if ( le64( bx.sig, ax.sig ) ) ax.sig = add64( ax.sig, negBSig ); + ax.sig = shortShift64Left( ax.sig, 1 ); + --ax.exp; + } + lastQuotientBit = le64( bx.sig, ax.sig ); + if ( lastQuotientBit ) ax.sig = add64( ax.sig, negBSig ); + savedASig = ax.sig; + ax.sig = neg64( add64( ax.sig, negBSig ) ); + if ( lt64( ax.sig, savedASig ) ) { + ax.sign = ! ax.sign; + } + else if ( lt64( savedASig, ax.sig ) ) { + ax.sig = savedASig; + } + else { + if ( lastQuotientBit ) { + ax.sign = ! ax.sign; + } + else { + ax.sig = savedASig; + } + } + if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) ax.isZero = TRUE; + return ax; + +} + +static floatX floatXSqrt( floatX ax ) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"