From owner-freebsd-bugs@FreeBSD.ORG Sun Jun 28 10:30:07 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9CD0B1065676 for ; Sun, 28 Jun 2009 10:30: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 774AA8FC15 for ; Sun, 28 Jun 2009 10:30:07 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SAU7R7098267 for ; Sun, 28 Jun 2009 10:30:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n5SAU7YJ098264; Sun, 28 Jun 2009 10:30:07 GMT (envelope-from gnats) Resent-Date: Sun, 28 Jun 2009 10:30:07 GMT Resent-Message-Id: <200906281030.n5SAU7YJ098264@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Matthieu Michaud Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA698106566C for ; Sun, 28 Jun 2009 10:27:48 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 984038FC16 for ; Sun, 28 Jun 2009 10:27:48 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SARmdl042601 for ; Sun, 28 Jun 2009 10:27:48 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n5SARm0d042600; Sun, 28 Jun 2009 10:27:48 GMT (envelope-from nobody) Message-Id: <200906281027.n5SARm0d042600@www.freebsd.org> Date: Sun, 28 Jun 2009 10:27:48 GMT From: Matthieu Michaud To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/136123: device crypto breaks sparc64 kernel X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 10:30:08 -0000 >Number: 136123 >Category: kern >Synopsis: device crypto breaks sparc64 kernel >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jun 28 10:30:07 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Matthieu Michaud >Release: 7.2-STABLE (28 Jun 2009) >Organization: >Environment: no userland to type 'uname -a' ... hardware is a sunblade 100 (UltraSparc-IIe) >Description: I wanted to add ipsec to a sunblade 100 box running 7.2-STABLE. So I added the following to a copy of GENERIC configuration file named ROUTER (attached) : options IPSEC options IPSEC_FILTERTUNNEL device crypto device enc This new kernel cannot boot : >How-To-Repeat: build a kernel with device crypto on sparc64 and try to boot it. >Fix: seems the same as : http://www.archivum.info/freebsd-current@freebsd.org/2008-03/00100/IPSEC_crypto_is_broken_in_FreeBSD_powerpc_7.0-RELEASE! ideas to fix the issue are proposed but i have no idea which one is correct and how to apply them. Patch attached with submission follows: # # GENERIC -- Generic kernel configuration file for FreeBSD/sparc64 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # For hardware specific information check HARDWARE.TXT # # $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.127.2.10 2009/06/07 05:49:37 yongari Exp $ cpu SUN4U ident GENERIC # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols # Platforms supported # At this time all platforms are supported, as-is. options SCHED_4BSD # 4BSD scheduler #options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFSLOCKD # Network Lock Manager options NFS_ROOT # NFS usable as /, requires NFSCLIENT #options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_PART_GPT # GUID Partition Tables. options GEOM_LABEL # Provides labelization options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!] options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support 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 ADAPTIVE_GIANT # Giant mutex is adaptive. options AUDIT # Security event auditing # Standard busses device ebus device isa device pci device sbus device central device fhc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device kbdmux # keyboard multiplexer # syscons is the default console driver, resembling an SCO console device sc device creator # Creator, Creator3D and Elite3D framebuffers device machfb # ATI Mach64 framebuffers device splash # Splash screen and screen saver support options KBD_INSTALL_CDEV # install a CDEV entry in /dev #device ofw_console # Open Firmware console device # Builtin hardware device auxio # auxiliary I/O device device clkbrd # Clock Board (blinkenlight on Sun Exx00) device genclock # Generic clock interface device eeprom # eeprom (really a front-end for the MK48Txx) device mk48txx # Mostek MK48Txx clocks device rtc # rtc (really a front-end for the MC146818) device mc146818 # Motorola MC146818 and compatible clocks # Serial (COM) ports device puc # Multi-channel uarts device scc # Serial communications controllers. device uart # Multi-uart driver # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device gem # Sun GEM/Sun ERI/Apple GMAC # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) device firmware # firmware assist module device bpf # Berkeley packet filter # FireWire support device firewire # FireWire bus code device fwe # Ethernet over FireWire (non-standard!) device fwip # IP over FireWire (RFC 2734,3146) device dcons # Dumb console driver device dcons_crom # Configuration ROM for dcons device pf device pflog options IPSEC options IPSEC_FILTERTUNNEL device crypto device enc >Release-Note: >Audit-Trail: >Unformatted: >> 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@barry.nxdomain.fr, Sun Jun 28 00:17:04 CEST 2009) bootpath="/pci@1f,0/ide@d/disk@0,0:a" Loading /boot/defaults/loader.conf /boot/kernel/kernel data=0x50f148+0x77bd8 syms=[0x8+0x69210+0x8+0x5b388] - Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... jumping to kernel entry at 0xc0068000. 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 7.2-STABLE #1: Sun Jun 28 02:24:56 CEST 2009 root@barry.nxdomain.fr:/usr/obj/sparc64/usr/src/sys/ROUTER real memory = 268435456 (256 MB) avail memory = 248184832 (236 MB) cpu0: Sun Microsystems UltraSparc-IIe Processor (502.00 MHz CPU) kbd0 at kbdmux0 nexus0: cryptosoft1: mem 0x1fe00000000-0x1fe0000ffff,0x1fe01000000-0x1fe010000ff irq 2032,2030,2031,2021 on nexus0 cryptosoft0: on nexus0 nexus0: type unknown (no driver attached) Timecounter "tick" frequency 502000000 Hz quality 1000 Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. Trying to mount root from ufs:/dev/ad0a Manual root filesystem specification: : Mount using filesystem eg. ufs:/dev/da0a ? List valid disk boot devices Abort manual input mountroot> A GENERIC kernel booted and run without any problem.