From owner-freebsd-arm@FreeBSD.ORG Mon Apr 9 10:50:15 2012 Return-Path: Delivered-To: freebsd-arm@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55926106564A for ; Mon, 9 Apr 2012 10:50:15 +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 3FDC88FC20 for ; Mon, 9 Apr 2012 10:50:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q39AoE5N021563 for ; Mon, 9 Apr 2012 10:50:14 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q39AoE3F021562; Mon, 9 Apr 2012 10:50:14 GMT (envelope-from gnats) Date: Mon, 9 Apr 2012 10:50:14 GMT Message-Id: <201204091050.q39AoE3F021562@freefall.freebsd.org> To: freebsd-arm@FreeBSD.org From: Kristof Provost Cc: Subject: Re: arm/156814: OpenRD Ultimate does not boot on DB-%38%38F%36XXX or SHEEVAPLUG kernel configurations X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Kristof Provost List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 10:50:15 -0000 The following reply was made to PR arm/156814; it has been noted by GNATS. From: Kristof Provost To: bug-followup@FreeBSD.org, vancorte@biologie.ens.fr Cc: Subject: Re: arm/156814: OpenRD Ultimate does not boot on DB-%38%38F%36XXX or SHEEVAPLUG kernel configurations Date: Mon, 9 Apr 2012 12:41:03 +0200 --G4iJoqBmSsgzjUCe Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hi, I've updated the config and device tree. With the attached patch both MGE interfaces work, as does the crypto accelerator. (Against current r234000) Regards, Kristof --G4iJoqBmSsgzjUCe Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="openrd-cl.patch" diff --git a/sys/arm/conf/OPENRD-CL b/sys/arm/conf/OPENRD-CL new file mode 100644 index 0000000..25707ed --- /dev/null +++ b/sys/arm/conf/OPENRD-CL @@ -0,0 +1,81 @@ +# +# Custom kernel for OpenRD Client/Ultimate devices. +# +# $FreeBSD$ +# + +ident OPENRD-CL +include "../mv/kirkwood/std.sheevaplug" + +options SOC_MV_KIRKWOOD +makeoptions MODULES_OVERRIDE="" + +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +makeoptions WERROR="-Werror" +makeoptions INVARIANTS + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +options INET6 #IPv6 communications protocols +options FFS #Berkeley Fast Filesystem +options NFSCL #New Network Filesystem Client +options NFSLOCKD #Network Lock Manager +options NFS_ROOT #NFS usable as /, requires NFSCL +options BOOTP +options BOOTP_NFSROOT +options BOOTP_NFSV3 +options BOOTP_WIRED_TO=mge0 + +# Root fs on USB device +#options ROOTDEVNAME=\"ufs:/dev/da0a\" + +options SYSVSHM #SYSV-style shared memory +options SYSVMSG #SYSV-style message queues +options SYSVSEM #SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options MUTEX_NOINLINE +options RWLOCK_NOINLINE +options NO_FFS_SNAPSHOT +options NO_SWAPPING + +# Debugging +options ALT_BREAK_TO_DEBUGGER +options DDB +options KDB + +# Pseudo devices +device random +device pty +device loop + +# Serial ports +device uart + +# Networking +device ether +device mge # Marvell Gigabit Ethernet controller +device mii +device e1000phy +device bpf +options HZ=1000 +options DEVICE_POLLING +device vlan + +device cesa # Marvell security engine +device crypto +device cryptodev + +# USB +options USB_DEBUG # enable debug msgs +device usb +device ehci +device umass +device scbus +device pass +device da + +# Flattened Device Tree +options FDT +options FDT_DTB_STATIC +makeoptions FDT_DTS_FILE=openrd-cl.dts + diff --git a/sys/boot/fdt/dts/openrd-cl.dts b/sys/boot/fdt/dts/openrd-cl.dts new file mode 100644 index 0000000..6d11779 --- /dev/null +++ b/sys/boot/fdt/dts/openrd-cl.dts @@ -0,0 +1,340 @@ +/* + * Copyright (c) 2009-2010 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Semihalf under sponsorship from + * the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * OpenRD-Client/Ultimate Device Tree Source. + * + * $FreeBSD$ + */ + +/dts-v1/; + +/ { + model = "mrvl,OpenRD-CL"; + compatible = "OpenRD-CL"; + #address-cells = <1>; + #size-cells = <1>; + + aliases { + ethernet0 = &enet0; + ethernet1 = &enet1; + mpp = &MPP; + pci0 = &pci0; + serial0 = &serial0; + serial1 = &serial1; + soc = &SOC; + sram = &SRAM; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + device_type = "cpu"; + compatible = "ARM,88FR131"; + reg = <0x0>; + d-cache-line-size = <32>; // 32 bytes + i-cache-line-size = <32>; // 32 bytes + d-cache-size = <0x4000>; // L1, 16K + i-cache-size = <0x4000>; // L1, 16K + timebase-frequency = <0>; + bus-frequency = <0>; + clock-frequency = <0>; + }; + }; + + memory { + device_type = "memory"; + reg = <0x0 0x20000000>; // 512M at 0x0 + }; + + localbus@f1000000 { + #address-cells = <2>; + #size-cells = <1>; + compatible = "mrvl,lbc"; + + /* This reflects CPU decode windows setup. */ + ranges = <0x0 0x0f 0xf9300000 0x00100000 + 0x1 0x1e 0xfa000000 0x00100000 + 0x2 0x1d 0xfa100000 0x02000000 + 0x3 0x1b 0xfc100000 0x00000400>; + + nor@0,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "cfi-flash"; + reg = <0x0 0x0 0x00100000>; + bank-width = <2>; + device-width = <1>; + }; + + led@1,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "led"; + reg = <0x1 0x0 0x00100000>; + }; + + nor@2,0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "cfi-flash"; + reg = <0x2 0x0 0x02000000>; + bank-width = <2>; + device-width = <1>; + }; + + nand@3,0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0x3 0x0 0x00100000>; + bank-width = <2>; + device-width = <1>; + }; + }; + + SOC: soc88f6281@f1000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges = <0x0 0xf1000000 0x00100000>; + bus-frequency = <0>; + + PIC: pic@20200 { + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + reg = <0x20200 0x3c>; + compatible = "mrvl,pic"; + }; + + timer@20300 { + compatible = "mrvl,timer"; + reg = <0x20300 0x30>; + interrupts = <1>; + interrupt-parent = <&PIC>; + mrvl,has-wdt; + }; + + MPP: mpp@10000 { + #pin-cells = <2>; + compatible = "mrvl,mpp"; + reg = <0x10000 0x34>; + pin-count = <50>; + pin-map = < + 0 1 /* MPP[0]: NF_IO[2] */ + 1 1 /* MPP[1]: NF_IO[3] */ + 2 1 /* MPP[2]: NF_IO[4] */ + 3 1 /* MPP[3]: NF_IO[5] */ + 4 1 /* MPP[4]: NF_IO[6] */ + 5 1 /* MPP[5]: NF_IO[7] */ + 6 1 /* MPP[6]: SYSRST_OUTn */ + 8 2 /* MPP[8]: UA0_RTS */ + 9 2 /* MPP[9]: UA0_CTS */ + 10 3 /* MPP[10]: UA0_TXD */ + 11 3 /* MPP[11]: UA0_RXD */ + 12 1 /* MPP[12]: SD_CLK */ + 13 1 /* MPP[13]: SD_CMD */ + 14 1 /* MPP[14]: SD_D[0] */ + 15 1 /* MPP[15]: SD_D[1] */ + 16 1 /* MPP[16]: SD_D[2] */ + 17 1 /* MPP[17]: SD_D[3] */ + 20 3 /* MPP[20]: GE1_CPU_RX0 */ + 21 3 /* MPP[21]: GE1_CPU_RX1 */ + 22 3 /* MPP[22]: GE1_CPU_RX2 */ + 23 3 /* MPP[23]: GE1_CPU_RX3 */ + 24 3 /* MPP[24]: GE1_CPU_TX0 */ + 25 3 /* MPP[25]: GE1_CPU_TX1 */ + 26 3 /* MPP[26]: GE1_CPU_TX2 */ + 27 3 /* MPP[27]: GE1_CPU_RD3 */ + 28 0 /* MPP[28]: GPIO */ + 29 0 /* MPP[29]: GPIO */ + 30 3 /* GE1_RXCTL */ + 31 3 /* GE1_RXCLK */ + 32 3 /* GE1_TXCLK */ + 33 3 /* GE1_TXCTL */ + 34 0 >; /* MPP[34]: GPIO */ + }; + + GPIO: gpio@10100 { + #gpio-cells = <3>; + compatible = "mrvl,gpio"; + reg = <0x10100 0x20>; + gpio-controller; + interrupts = <35 36 37 38 39 40 41>; + interrupt-parent = <&PIC>; + }; + + rtc@10300 { + compatible = "mrvl,rtc"; + reg = <0x10300 0x08>; + }; + + twsi@11000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "mrvl,twsi"; + reg = <0x11000 0x20>; + interrupts = <43>; + interrupt-parent = <&PIC>; + }; + + enet0: ethernet@72000 { + #address-cells = <1>; + #size-cells = <1>; + model = "V2"; + compatible = "mrvl,ge"; + reg = <0x72000 0x2000>; + ranges = <0x0 0x72000 0x2000>; + local-mac-address = [ 00 00 00 00 00 00 ]; + interrupts = <12 13 14 11 46>; + interrupt-parent = <&PIC>; + phy-handle = <&phy0>; + + mdio@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "mrvl,mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + }; + }; + }; + + enet1: ethernet@76000 { + #address-cells = <1>; + #size-cells = <1>; + model = "V2"; + compatible = "mrvl,ge"; + reg = <0x76000 0x2000>; + ranges = <0x0 0x76000 0x2000>; + local-mac-address = [ 00 00 00 00 00 00 ]; + interrupts = <16 17 18 15 47>; + interrupt-parent = <&PIC>; + phy-handle = <&phy1>; + }; + + serial0: serial@12000 { + compatible = "ns16550"; + reg = <0x12000 0x20>; + reg-shift = <2>; + clock-frequency = <0>; + interrupts = <33>; + interrupt-parent = <&PIC>; + }; + + serial1: serial@12100 { + compatible = "ns16550"; + reg = <0x12100 0x20>; + reg-shift = <2>; + clock-frequency = <0>; + interrupts = <34>; + interrupt-parent = <&PIC>; + }; + + crypto@30000 { + compatible = "mrvl,cesa"; + reg = <0x30000 0x10000>; + interrupts = <22>; + interrupt-parent = <&PIC>; + sram-handle = <&SRAM>; + }; + + usb@50000 { + compatible = "mrvl,usb-ehci", "usb-ehci"; + reg = <0x50000 0x1000>; + interrupts = <48 19>; + interrupt-parent = <&PIC>; + }; + + xor@60000 { + compatible = "mrvl,xor"; + reg = <0x60000 0x1000>; + interrupts = <5 6 7 8>; + interrupt-parent = <&PIC>; + }; + + sata@80000 { + compatible = "mrvl,sata"; + reg = <0x80000 0x6000>; + interrupts = <21>; + interrupt-parent = <&PIC>; + }; + }; + + SRAM: sram@fd000000 { + compatible = "mrvl,cesa-sram"; + reg = <0xfd000000 0x00100000>; + }; + + chosen { + stdin = "serial0"; + stdout = "serial0"; + }; + + pci0: pcie@f1040000 { + compatible = "mrvl,pcie"; + device_type = "pci"; + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + reg = <0xf1040000 0x2000>; + bus-range = <0 255>; + ranges = <0x02000000 0x0 0xf4000000 0xf4000000 0x0 0x04000000 + 0x01000000 0x0 0x00000000 0xf1100000 0x0 0x00100000>; + clock-frequency = <33333333>; + interrupt-parent = <&PIC>; + interrupts = <44>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = < + /* IDSEL 0x1 */ + 0x0800 0x0 0x0 0x1 &PIC 0x9 + 0x0800 0x0 0x0 0x2 &PIC 0x9 + 0x0800 0x0 0x0 0x3 &PIC 0x9 + 0x0800 0x0 0x0 0x4 &PIC 0x9 + >; + pcie@0 { + reg = <0x0 0x0 0x0 0x0 0x0>; + #size-cells = <2>; + #address-cells = <3>; + device_type = "pci"; + ranges = <0x02000000 0x0 0xf4000000 + 0x02000000 0x0 0xf4000000 + 0x0 0x04040000 + + 0x01000000 0x0 0x0 + 0x01000000 0x0 0x0 + 0x0 0x00100000>; + }; + }; +}; + --G4iJoqBmSsgzjUCe-- From owner-freebsd-arm@FreeBSD.ORG Mon Apr 9 11:07:07 2012 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E00571065686 for ; Mon, 9 Apr 2012 11:07:07 +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 C9D168FC22 for ; Mon, 9 Apr 2012 11:07:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q39B77OI039545 for ; Mon, 9 Apr 2012 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q39B77XL039543 for freebsd-arm@FreeBSD.org; Mon, 9 Apr 2012 11:07:07 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 9 Apr 2012 11:07:07 GMT Message-Id: <201204091107.q39B77XL039543@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-arm@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-arm@FreeBSD.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 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 arm/166256 arm build fail in pmap.c o arm/162159 arm [panic] USB errors leading to panic on DockStar 9.0-RC o arm/161110 arm /usr/src/sys/arm/include/signal.h is bad o arm/161044 arm devel/icu does not build on arm o arm/160431 arm [busdma] [patch] Disable interrupts during busdma cach o arm/158950 arm arm/sheevaplug fails fsx when mmap operations are enab o arm/156814 arm OpenRD Ultimate does not boot on DB-88F6XXX or SHEEVAP o arm/156496 arm [patch] Minor bugfixes and enhancements to mmc and mmc o arm/155894 arm [patch] Enable at91 booting from SDHC (high capacity) o arm/155214 arm [patch] MMC/SD IO slow on Atmel ARM with modern large o arm/154227 arm [geli] using GELI leads to panic on ARM o arm/154189 arm lang/perl5.12 doesn't build on arm o arm/153380 arm Panic / translation fault with wlan on ARM o arm/150581 arm [irq] Unknown error generates IRQ address decoding err o arm/149288 arm mail/dovecot causes panic during configure on Sheevapl o arm/134368 arm [patch] nslu2_led driver for the LEDs on the NSLU2 p arm/134338 arm [patch] Lock GPIO accesses on ixp425 17 problems total. From owner-freebsd-arm@FreeBSD.ORG Mon Apr 9 20:09:31 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F4B5106564A for ; Mon, 9 Apr 2012 20:09:31 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta05.emeryville.ca.mail.comcast.net (qmta05.emeryville.ca.mail.comcast.net [76.96.30.48]) by mx1.freebsd.org (Postfix) with ESMTP id 337968FC12 for ; Mon, 9 Apr 2012 20:09:31 +0000 (UTC) Received: from omta01.emeryville.ca.mail.comcast.net ([76.96.30.11]) by qmta05.emeryville.ca.mail.comcast.net with comcast id vvyc1i00A0EPchoA5w8Rxr; Mon, 09 Apr 2012 20:08:25 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta01.emeryville.ca.mail.comcast.net with comcast id vw8Q1i00o4NgCEG8Mw8RlC; Mon, 09 Apr 2012 20:08:25 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q39K8NX5057346 for ; Mon, 9 Apr 2012 14:08:23 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: freebsd-arm@freebsd.org Content-Type: text/plain; charset="us-ascii" Date: Mon, 09 Apr 2012 14:08:23 -0600 Message-ID: <1334002103.1082.84.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Subject: Trouble with long double support on arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 20:09:31 -0000 A collegue at work has just run into trouble with printf() and long double with softfloat on arm. It looks like C++ stream output has the same problem. It appears that the math itself works correctly, but attempting to print the value gives wrong output. We're pretty sure that this is a problem only with coverting long double values to ascii. In all other ways, long double seems to be properly handled the same as double (which you'd expect given the defines in float.h for arm). We use long double types in a few places in our products where wrong results would lead to in-your-face wrong behavior, and we've never seen anything like that. This was noticed in some debug logging which is normally disabled but he happened to be looking at it closely today. This simple program: #include #include #include int main(int argc, char **argv) { printf("Long Double Test\n"); printf("sizeof(double): %d\n", sizeof(double)); printf("sizeof(long double): %d\n", sizeof(long double)); double f = 9999999.898991832509637; long double lf = f; printf("double as double: %f\n", f); printf("long double as double: %f\n", lf); printf("double as long double: %Lf\n", f); printf("long double as long double: %Lf\n", lf); std::cout << "long double via cout " << lf << std::endl; printf("double as hex double: %A\n", f); printf("long double as hex long double: %LA\n", lf); return 0; } Produces this output: # /usr/tsc/bin/testsimple Long Double Test sizeof(double): 8 sizeof(long double): 8 double as double: 9999999.898992 long double as double: 9999999.898992 double as long double: 1611391.898991 long double as long double: 1611391.898991 long double via cout 1.61139e+06 double as hex double: 0X1.312CFFCC48A85P+23 long double as hex long double: 0X1.312CFFCC48A85P+23 I get the same output on 8.2 and 9.0. You'd expect the "double as long double" case to be wrong, but it seems like it might be a clue that the "long double as long double" case is the same value. I pointed him at the twisty maze of lib/libc, lib/msun, and contrib/gcc, and he's currently trying to track down which function actually gets called to handle %Lf, but I figured I'd ask here as well in case somebody has already fought this battle and knows what's going on. -- Ian From owner-freebsd-arm@FreeBSD.ORG Tue Apr 10 16:34:37 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A37D1065670 for ; Tue, 10 Apr 2012 16:34:37 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta14.emeryville.ca.mail.comcast.net (qmta14.emeryville.ca.mail.comcast.net [76.96.27.212]) by mx1.freebsd.org (Postfix) with ESMTP id 2CE808FC1C for ; Tue, 10 Apr 2012 16:34:37 +0000 (UTC) Received: from omta03.emeryville.ca.mail.comcast.net ([76.96.30.27]) by qmta14.emeryville.ca.mail.comcast.net with comcast id wGUM1i0060b6N64AEGaXL8; Tue, 10 Apr 2012 16:34:31 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta03.emeryville.ca.mail.comcast.net with comcast id wGaW1i00r4NgCEG8PGaXu1; Tue, 10 Apr 2012 16:34:31 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q3AGYTkV058253 for ; Tue, 10 Apr 2012 10:34:29 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: freebsd-arm@freebsd.org In-Reply-To: <1334002103.1082.84.camel@revolution.hippie.lan> References: <1334002103.1082.84.camel@revolution.hippie.lan> Content-Type: text/plain; charset="us-ascii" Date: Tue, 10 Apr 2012 10:34:28 -0600 Message-ID: <1334075668.1082.93.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Subject: Re: Trouble with long double support on arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 16:34:37 -0000 On Mon, 2012-04-09 at 14:08 -0600, Ian Lepore wrote: > A collegue at work has just run into trouble with printf() and long > double with softfloat on arm. It looks like C++ stream output has the > same problem. It appears that the math itself works correctly, but > attempting to print the value gives wrong output. > > We're pretty sure that this is a problem only with coverting long double > values to ascii. In all other ways, long double seems to be properly > handled the same as double (which you'd expect given the defines in > float.h for arm). We use long double types in a few places in our > products where wrong results would lead to in-your-face wrong behavior, > and we've never seen anything like that. This was noticed in some debug > logging which is normally disabled but he happened to be looking at it > closely today. > > This simple program: > > #include > #include > #include > > int main(int argc, char **argv) > { > printf("Long Double Test\n"); > printf("sizeof(double): %d\n", sizeof(double)); > printf("sizeof(long double): %d\n", sizeof(long double)); > > double f = 9999999.898991832509637; > long double lf = f; > > printf("double as double: %f\n", f); > printf("long double as double: %f\n", lf); > printf("double as long double: %Lf\n", f); > printf("long double as long double: %Lf\n", lf); > std::cout << "long double via cout " << lf << std::endl; > printf("double as hex double: %A\n", f); > printf("long double as hex long double: %LA\n", lf); > > return 0; > } > > Produces this output: > > # /usr/tsc/bin/testsimple > Long Double Test > sizeof(double): 8 > sizeof(long double): 8 > double as double: 9999999.898992 > long double as double: 9999999.898992 > double as long double: 1611391.898991 > long double as long double: 1611391.898991 > long double via cout 1.61139e+06 > double as hex double: 0X1.312CFFCC48A85P+23 > long double as hex long double: 0X1.312CFFCC48A85P+23 > > I get the same output on 8.2 and 9.0. You'd expect the "double as long > double" case to be wrong, but it seems like it might be a clue that the > "long double as long double" case is the same value. > > I pointed him at the twisty maze of lib/libc, lib/msun, and contrib/gcc, > and he's currently trying to track down which function actually gets > called to handle %Lf, but I figured I'd ask here as well in case > somebody has already fought this battle and knows what's going on. > > -- Ian A followup to help anyone who stumbles across this thread in the future... This problem was identified a couple months ago by Maks Verver, and the fix was commited in r230188. -- Ian From owner-freebsd-arm@FreeBSD.ORG Wed Apr 11 02:22:00 2012 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04DE2106564A; Wed, 11 Apr 2012 02:22:00 +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 C80C78FC08; Wed, 11 Apr 2012 02:21:59 +0000 (UTC) Received: from freebsd-current.sentex.ca (localhost [127.0.0.1]) by freebsd-current.sentex.ca (8.14.5/8.14.5) with ESMTP id q3B2LxQL045021; Tue, 10 Apr 2012 22:21:59 -0400 (EDT) (envelope-from tinderbox@freebsd.org) Received: (from tinderbox@localhost) by freebsd-current.sentex.ca (8.14.5/8.14.5/Submit) id q3B2Lx7u045020; Wed, 11 Apr 2012 02:21:59 GMT (envelope-from tinderbox@freebsd.org) Date: Wed, 11 Apr 2012 02:21:59 GMT Message-Id: <201204110221.q3B2Lx7u045020@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: [head tinderbox] failure on arm/arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 02:22:00 -0000 TB --- 2012-04-11 01:20:00 - tinderbox 2.9 running on freebsd-current.sentex.ca TB --- 2012-04-11 01:20:00 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 des@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2012-04-11 01:20:00 - starting HEAD tinderbox run for arm/arm TB --- 2012-04-11 01:20:00 - cleaning the object tree TB --- 2012-04-11 01:20:00 - cvsupping the source tree TB --- 2012-04-11 01:20:00 - /usr/bin/csup -z -r 3 -g -L 1 -h cvsup.sentex.ca /tinderbox/HEAD/arm/arm/supfile TB --- 2012-04-11 01:22:17 - building world TB --- 2012-04-11 01:22:17 - CROSS_BUILD_TESTING=YES TB --- 2012-04-11 01:22:17 - MAKEOBJDIRPREFIX=/obj TB --- 2012-04-11 01:22:17 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-04-11 01:22:17 - SRCCONF=/dev/null TB --- 2012-04-11 01:22:17 - TARGET=arm TB --- 2012-04-11 01:22:17 - TARGET_ARCH=arm TB --- 2012-04-11 01:22:17 - TZ=UTC TB --- 2012-04-11 01:22:17 - __MAKE_CONF=/dev/null TB --- 2012-04-11 01:22:17 - cd /src TB --- 2012-04-11 01:22:17 - /usr/bin/make -B buildworld >>> World build started on Wed Apr 11 01:22:18 UTC 2012 >>> 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 Wed Apr 11 02:21:21 UTC 2012 TB --- 2012-04-11 02:21:21 - cd /src/sys/arm/conf TB --- 2012-04-11 02:21:21 - /usr/sbin/config -m AVILA TB --- 2012-04-11 02:21:22 - building AVILA kernel TB --- 2012-04-11 02:21:22 - CROSS_BUILD_TESTING=YES TB --- 2012-04-11 02:21:22 - MAKEOBJDIRPREFIX=/obj TB --- 2012-04-11 02:21:22 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2012-04-11 02:21:22 - SRCCONF=/dev/null TB --- 2012-04-11 02:21:22 - TARGET=arm TB --- 2012-04-11 02:21:22 - TARGET_ARCH=arm TB --- 2012-04-11 02:21:22 - TZ=UTC TB --- 2012-04-11 02:21:22 - __MAKE_CONF=/dev/null TB --- 2012-04-11 02:21:22 - cd /src TB --- 2012-04-11 02:21:22 - /usr/bin/make -B buildkernel KERNCONF=AVILA >>> Kernel build for AVILA started on Wed Apr 11 02:21:22 UTC 2012 >>> 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 -mbig-endian -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcpu=xscale -ffreestanding -Werror /src/sys/dev/ata/chipsets/ata-siliconimage.c cc -mbig-endian -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcpu=xscale -ffreestanding -Werror /src/sys/dev/ata/chipsets/ata-sis.c cc -mbig-endian -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcpu=xscale -ffreestanding -Werror /src/sys/dev/ata/chipsets/ata-via.c cc -mbig-endian -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcpu=xscale -ffreestanding -Werror /src/sys/dev/ath/if_ath_pci.c -I/src/sys/dev/ath cc -mbig-endian -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcpu=xscale -ffreestanding -Werror /src/sys/dev/ath/if_ath.c -I/src/sys/dev/ath cc1: warnings being treated as errors /src/sys/dev/ath/if_ath.c: In function 'ath_tx_processq': /src/sys/dev/ath/if_ath.c:4909: warning: unused variable 'ic' [-Wunused-variable] *** Error code 1 Stop in /obj/arm.arm/src/sys/AVILA. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2012-04-11 02:21:58 - WARNING: /usr/bin/make returned exit code 1 TB --- 2012-04-11 02:21:58 - ERROR: failed to build AVILA kernel TB --- 2012-04-11 02:21:58 - 2476.06 user 568.36 system 3718.35 real http://tinderbox.freebsd.org/tinderbox-head-HEAD-arm-arm.full From owner-freebsd-arm@FreeBSD.ORG Wed Apr 11 06:23:40 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F1B2106566B for ; Wed, 11 Apr 2012 06:23:40 +0000 (UTC) (envelope-from radiolife@me.com) Received: from nk11p07mm-asmtpout005.mac.com (nk11p07mm-asmtpout005.mac.com [17.158.42.250]) by mx1.freebsd.org (Postfix) with ESMTP id 23E648FC08 for ; Wed, 11 Apr 2012 06:23:40 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=iso-2022-jp Received: from [10.134.167.73] (pw126210058157.5.kyb.panda-world.ne.jp [126.210.58.157]) by nk11p07mm-asmtp005.mac.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPSA id <0M2A00C93UYVTK20@nk11p07mm-asmtp005.mac.com> for freebsd-arm@freebsd.org; Wed, 11 Apr 2012 05:23:33 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.6.7498,1.0.260,0.0.0000 definitions=2012-04-11_02:2012-04-11, 2012-04-11, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=0 phishscore=0 bulkscore=11 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1012030000 definitions=main-1204100418 From: zennami tatsuya Message-id: <1F855E1B-A974-4B16-835A-BFC9131AFC11@me.com> Date: Wed, 11 Apr 2012 14:23:16 +0900 To: "freebsd-arm@freebsd.org" X-Mailer: iPhone Mail (9B179) Subject: freeBSD X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 06:23:40 -0000 ARM iPhoneから送信 From owner-freebsd-arm@FreeBSD.ORG Sat Apr 14 16:04:05 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DAB2D106566C for ; Sat, 14 Apr 2012 16:04:05 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta01.emeryville.ca.mail.comcast.net (qmta01.emeryville.ca.mail.comcast.net [76.96.30.16]) by mx1.freebsd.org (Postfix) with ESMTP id 5B38A8FC0A for ; Sat, 14 Apr 2012 16:04:04 +0000 (UTC) Received: from omta20.emeryville.ca.mail.comcast.net ([76.96.30.87]) by qmta01.emeryville.ca.mail.comcast.net with comcast id xrv51i0031smiN4A1s2ysZ; Sat, 14 Apr 2012 16:02:58 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta20.emeryville.ca.mail.comcast.net with comcast id xs2x1i00z4NgCEG8gs2yTv; Sat, 14 Apr 2012 16:02:58 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q3EG2uu8062608; Sat, 14 Apr 2012 10:02:56 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: Aleksander Dutkowski In-Reply-To: References: Content-Type: text/plain; charset="us-ascii" Date: Sat, 14 Apr 2012 10:02:56 -0600 Message-ID: <1334419376.1082.162.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, freebsd-arm@freebsd.org Subject: Re: [GSoC] [ARM] arm cleanup - my own proposal X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 16:04:05 -0000 On Sun, 2012-04-01 at 20:19 +0200, Aleksander Dutkowski wrote: > hello! > > after few weeks searching for interesting idea for me, I've decided to > propose my own one. It is already mentioned on IdeasPage: > - ARM cleanup > > Why I have chosen this one? I am very interested in embedded world. > Now I am working on porting FBSD to at91sam9g45 - I will be much more > motivated working on arm fbsd project than any other. > > Why should you let me do that project? While working on freebsd/arm > I've noticed places that could be optimized, or separated, i.e. > at91_samsize() should be declared for each board separately - now, > this function has if-else and checks, which board is he running on. > > I would like to identify and fix that bugs, so the code will be more > efficient and clear. Moreover, I think there should be a > tutorial/framework for adding new boards or SoCs, so I will be > simplier. I am currently reading the code in sys/arm/at91 and > searching for improvements but I will be very pleased, if you send me > your insights. > > The first question is - should I cleanup only at91 branch or more? I > am quite familiar with at91 right now. > The second - how to test the code? Some of boards could be tested in > qemu, I could buy board with at91rm9200 for example, if I'm in. But > maybe I will find here people with their own boards, they could help > me testing? I havs sbc6045 board with at91sam9g45 SoC but it hasn't > fbsd support yet (I'm working on it now :) ) > > I also thought about reducing kernel size for embedded, if arm cleanup > won't fit. > > I'm curious whether you ever got a reply to this privately, since nothing appeared on the list? I meant to reply and offer to do testing of at91 changes on rm9200 hardware, but I was on vacation when you posted originally, and I forgot to reply until just now. It's been my growing impression for about a year that the arm support in FreeBSD has atrophied to the point where it can barely be said that it's supported at all. Now I see this morning that marius@ has committed a set of style cleanups to the at91 code (r234281), so maybe it's not quite as dead as I feared. At Symmetricom we build a variety of products based on the rm9200, and we're maintaining quite a set of diffs from stock FreeBSD. Some are bug fixes, some are enhancements such as allowing the master clock frequency to be changed during kernel init (instead of in the bootloader) and a hints-based system that allows the atmelarm bus to become aware of new child devices that aren't in the stock code and manage their resources. It sure would be nice if some of those diffs could get rolled back in; it would certainly make it easier for me to integrate things like Marius' style cleanups back into our repo. Anyway, if ongoing changes are going to be happening to the at91 code, I'm certainly interested in helping however I can. -- Ian From owner-freebsd-arm@FreeBSD.ORG Sat Apr 14 17:50:37 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 409DF106566B; Sat, 14 Apr 2012 17:50:37 +0000 (UTC) (envelope-from adutkowski@gmail.com) Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id 9F5338FC15; Sat, 14 Apr 2012 17:50:36 +0000 (UTC) Received: by eaaf13 with SMTP id f13so1088434eaa.13 for ; Sat, 14 Apr 2012 10:50:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=7VMc9kHBNvrJ66gLzAjW9+1/xF/73D2em/fNcsrqYIY=; b=0OpTQUA49CenPQ0oKY15BEKowzhqVmnmEHHT5HIu4I/jx3ZPg2tpe/L1IyKGsECB30 LggGpOHwrYkJb9g8OatOebuZLz0JgelDPJvUC+KCvviqR6SUBYCS7j5vPU0dXN4qSiAb Ox7mQdstjPgvoTJihY84gQp1re5PTsN5OXe7E49QxtlDsCxeqvtaWLcD4hjWFNX00xpY uG5imTHc2IIIGOMTH39TYV28O3Xr7CRX3aCu5DL/9007U3ojlJsd+Nmh4xy5nPl0I179 7e1RIiWlBNfDvgz3ed1r55bKTmy16rZFI054xNFXnt/6t/dPHeIpdxyHNbzp4fHajbba WOjg== MIME-Version: 1.0 Received: by 10.14.183.194 with SMTP id q42mr789434eem.130.1334425835727; Sat, 14 Apr 2012 10:50:35 -0700 (PDT) Received: by 10.213.16.133 with HTTP; Sat, 14 Apr 2012 10:50:35 -0700 (PDT) In-Reply-To: <1334419376.1082.162.camel@revolution.hippie.lan> References: <1334419376.1082.162.camel@revolution.hippie.lan> Date: Sat, 14 Apr 2012 19:50:35 +0200 Message-ID: From: Aleksander Dutkowski To: Ian Lepore , freebsd-arm@freebsd.org, freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Subject: Re: [GSoC] [ARM] arm cleanup - my own proposal X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:50:37 -0000 hi Ian! I sent a proposal of porting FBSD for some board. Whether I will be accepted or not, I will contribute to at91 as I have my at91 board. I will send you an email, or you can tell me your irc contact on freenode or efnet, and I will send you my patches for testing :) regards, Aleksander aleek@freenode, aleek@efnet On Sat, Apr 14, 2012 at 6:02 PM, Ian Lepore wrote: > On Sun, 2012-04-01 at 20:19 +0200, Aleksander Dutkowski wrote: >> hello! >> >> after few weeks searching for interesting idea for me, I've decided to >> propose my own one. It is already mentioned on IdeasPage: >> - ARM cleanup >> >> Why I have chosen this one? I am very interested in embedded world. >> Now I am working on porting FBSD to at91sam9g45 - I will be much more >> motivated working on arm fbsd project than any other. >> >> Why should you let me do that project? While working on freebsd/arm >> I've noticed places that could be optimized, or separated, i.e. >> at91_samsize() should be declared for each board separately - now, >> this function has if-else and checks, which board is he running on. >> >> I would like to identify and fix that bugs, so the code will be more >> efficient and clear. Moreover, I think there should be a >> tutorial/framework for adding new boards or SoCs, so I will be >> simplier. I am currently reading the code in sys/arm/at91 and >> searching for improvements but I will be very pleased, if you send me >> your insights. >> >> The first question is - should I cleanup only at91 branch or more? I >> am quite familiar with at91 right now. >> The second - how to test the code? Some of boards could be tested in >> qemu, I could buy board with at91rm9200 for example, if I'm in. But >> maybe I will find here people with their own boards, they could help >> me testing? I havs sbc6045 board with at91sam9g45 SoC but it hasn't >> fbsd support yet (I'm working on it now :) ) >> >> I also thought about reducing kernel size for embedded, if arm cleanup >> won't fit. >> >> > > I'm curious whether you ever got a reply to this privately, since > nothing appeared on the list? =A0I meant to reply and offer to do testing > of at91 changes on rm9200 hardware, but I was on vacation when you > posted originally, and I forgot to reply until just now. > > It's been my growing impression for about a year that the arm support in > FreeBSD has atrophied to the point where it can barely be said that it's > supported at all. =A0Now I see this morning that marius@ has committed a > set of style cleanups to the at91 code (r234281), so maybe it's not > quite as dead as I feared. > > At Symmetricom we build a variety of products based on the rm9200, and > we're maintaining quite a set of diffs from stock FreeBSD. =A0Some are bu= g > fixes, some are enhancements such as allowing the master clock frequency > to be changed during kernel init (instead of in the bootloader) and a > hints-based system that allows the atmelarm bus to become aware of new > child devices that aren't in the stock code and manage their resources. > It sure would be nice if some of those diffs could get rolled back in; > it would certainly make it easier for me to integrate things like > Marius' style cleanups back into our repo. > > Anyway, if ongoing changes are going to be happening to the at91 code, > I'm certainly interested in helping however I can. > > -- Ian > > From owner-freebsd-arm@FreeBSD.ORG Sat Apr 14 18:37:47 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F124E106564A; Sat, 14 Apr 2012 18:37:47 +0000 (UTC) (envelope-from dmarion.freebsd@gmail.com) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 503718FC08; Sat, 14 Apr 2012 18:37:47 +0000 (UTC) Received: by wgbds12 with SMTP id ds12so3971231wgb.31 for ; Sat, 14 Apr 2012 11:37:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=9jHddATNoxrSlsRcdHFncUznoCYoCzsiHbslU/7QZ5U=; b=ed3au9/CuO3LB9RDaPkq1DYqQ0XuGjAcSWmz60edaK0AIVe33j/HFT8W9WkvFPsN1J Y18F0SInYK0EG0LJvAMDL9V0mS9QACCdA/eo/Y/yX33yEnzIUoAmVeSQ8pbcQNTJ7MIJ yR9YWqA3XNK/sHOLUgEQF2/Uxi6Ik5Ap/xFF3eUR3I70lb7TU51bbJ/66AqOjIQgjY25 OLNERNcOCg7tcKkhWTlf7v35G8eXI+cMCw1uHKL0fvwOlQN3J47L8oYnqcXx1WnZ1SwR lZubPPBDVHm4d5hnQ1qJi1OeyN2RhotTlZjV5qClB3T2Hsk3Xg83enNjqS9BDw63VafS h53Q== Received: by 10.180.103.35 with SMTP id ft3mr5772637wib.0.1334428666243; Sat, 14 Apr 2012 11:37:46 -0700 (PDT) Received: from damarion-mac.home (cpe-109-60-76-207.zg3.cable.xnet.hr. [109.60.76.207]) by mx.google.com with ESMTPS id h8sm10236360wix.4.2012.04.14.11.37.44 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 14 Apr 2012 11:37:45 -0700 (PDT) Sender: Damjan Marion Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: Damjan Marion In-Reply-To: <1334419376.1082.162.camel@revolution.hippie.lan> Date: Sat, 14 Apr 2012 20:37:41 +0200 Content-Transfer-Encoding: 7bit Message-Id: References: <1334419376.1082.162.camel@revolution.hippie.lan> To: Ian Lepore X-Mailer: Apple Mail (2.1257) Cc: freebsd-hackers@freebsd.org, freebsd-arm@freebsd.org Subject: Re: [GSoC] [ARM] arm cleanup - my own proposal X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 18:37:48 -0000 On Apr 14, 2012, at 6:02 PM, Ian Lepore wrote: > It's been my growing impression for about a year that the arm support in > FreeBSD has atrophied to the point where it can barely be said that it's > supported at all. Now I see this morning that marius@ has committed a > set of style cleanups to the at91 code (r234281), so maybe it's not > quite as dead as I feared. Hi Ian, Are you aware of projects/armv6[1] in svn? Due to big changes in architecture introduced with ARMv6 we have separate tree where all ongoing development is happening. Hopefully we will be able to merge back changes to HEAD soon. We have (partially) working support for recent Marvel SoC and some TI boards (PandaBoard/OMAP4, Beaglebone/AM335x). There is also OMAP3 code waiting to be integrated. Also Andrew is working on moving to ARM EABI[2] which will allow us to use llvm/clang and all new ARM goodies which are not supported in our aged gcc. Any help is welcome... Damjan [1] http://svnweb.freebsd.org/base/projects/armv6/ [2] http://svnweb.freebsd.org/base/projects/arm_eabi