From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 17 15:05:43 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4F71106566C for ; Fri, 17 Feb 2012 15:05:43 +0000 (UTC) (envelope-from alex-goncharov@comcast.net) Received: from qmta07.westchester.pa.mail.comcast.net (qmta07.westchester.pa.mail.comcast.net [76.96.62.64]) by mx1.freebsd.org (Postfix) with ESMTP id 7297B8FC0C for ; Fri, 17 Feb 2012 15:05:43 +0000 (UTC) Received: from omta19.westchester.pa.mail.comcast.net ([76.96.62.98]) by qmta07.westchester.pa.mail.comcast.net with comcast id b2ag1i00B27AodY5735jiw; Fri, 17 Feb 2012 15:05:43 +0000 Received: from hans3 ([66.30.197.229]) by omta19.westchester.pa.mail.comcast.net with comcast id b35j1i00k4xSlmi3f35jU1; Fri, 17 Feb 2012 15:05:43 +0000 Received: from algo by hans3 with local (Exim 4.77 (FreeBSD)) (envelope-from ) id 1RyPNW-000If4-5Y for freebsd-hackers@FreeBSD.org; Fri, 17 Feb 2012 10:05:42 -0500 From: Alex Goncharov To: freebsd-hackers@FreeBSD.org Message-Id: Sender: Alex Goncharov Date: Fri, 17 Feb 2012 10:05:42 -0500 Cc: Subject: 8 to 9: Kernel modularization -- did it change? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Alex Goncharov List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Feb 2012 15:05:43 -0000 Sticking with the same list as in my first message re the "8 to 9" surprises: | From: Alex Goncharov | To: freebsd-hackers@FreeBSD.org | Date: Thu, 16 Feb 2012 12:34:36 -0500 | Subject: 8 to 9: A longer wait early in the boot... | | About a week ago, I made a jump and upgraded the system's FreeBSD from | version 8 to 9. Trying to figure our audio things, I was shocked to discover that on 9 I couldn't 'kldload snd_hda.ko'; it looks like the HDA support is in the kernel itself now. Compare the two runs, on my 8 and 9 machines, with this script: -- >> ---------------------------------------------------------- #!/bin/sh set -x : ======================================== uname -sr : ======================================== grep hda /boot/loader.conf : ======================================== dmesg | grep -E 'hda|pcm' : ======================================== cat /dev/sndstat : ======================================== for f in /boot/kernel/kernel /boot/kernel/snd_hda.ko; do echo ==== $f; nm $f | grep -c hda; done : ======================================== id : ======================================== kldstat | grep -E 'sound|snd' : ======================================== kldunload snd_hda.ko : ======================================== kldstat | grep hda : ======================================== kldload snd_hda.ko : ======================================== kldstat | grep hda : ======================================== -- << ---------------------------------------------------------- On 8: -- >> ---------------------------------------------------------- * : ======================================== * uname -sr FreeBSD 8.2-STABLE * : ======================================== * grep hda /boot/loader.conf snd_hda_load="YES" * : ======================================== * dmesg * grep -E 'hda|pcm' hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 pcm0: detached pcm1: detached pcm2: detached hdac0: detached hdac0: mem 0xfea78000-0xfea7bfff irq 16 at device 27.0 on pci0 hdac0: HDA Driver Revision: 20100226_0142 hdac0: [ITHREAD] hdac0: HDA Codec #0: Realtek ALC662 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 pcm2: at cad 0 nid 1 on hdac0 * : ======================================== * cat /dev/sndstat FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64) Installed devices: pcm0: (play/rec) default pcm1: (play/rec) pcm2: (play) * : ======================================== * echo ==== /boot/kernel/kernel ==== /boot/kernel/kernel * nm /boot/kernel/kernel * grep -c hda 0 * echo ==== /boot/kernel/snd_hda.ko ==== /boot/kernel/snd_hda.ko * nm /boot/kernel/snd_hda.ko * grep -c hda 114 * : ======================================== * id uid=0(root) gid=0(wheel) groups=0(wheel),5(operator) * : ======================================== * kldstat * grep -E 'sound|snd' 3 2 0xffffffff80f09000 75878 sound.ko 11 1 0xffffffff81039000 14580 snd_hda.ko * : ======================================== * kldunload snd_hda.ko * : ======================================== * grep hda * kldstat * : ======================================== * kldload snd_hda.ko * : ======================================== * grep hda * kldstat 11 1 0xffffffff81039000 14580 snd_hda.ko * : ======================================== -- << ---------------------------------------------------------- <== All is the way I am used to: for my audio card, the support is in snd_hda.ko, which I load and unload as I will. The kernel does not contain snd_hda symbols. On 9: -- >> ---------------------------------------------------------- * : ======================================== * uname -sr FreeBSD 9.0-STABLE * : ======================================== * grep hda /boot/loader.conf snd_hda_load="YES" * : ======================================== * dmesg * grep -E 'hda|pcm' hdac0: mem 0xfe028000-0xfe02bfff irq 23 at device 5.0 on pci0 hdac0: HDA Codec #0: Realtek ALC660 pcm0: at cad 0 nid 1 on hdac0 pcm1: at cad 0 nid 1 on hdac0 interface snd_hda.1 already present in the KLD 'kernel'! interface snd_hda.1 already present in the KLD 'kernel'! * : ======================================== * cat /dev/sndstat FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64) Installed devices: pcm0: (play/rec) default pcm1: (play) * : ======================================== * echo ==== /boot/kernel/kernel ==== /boot/kernel/kernel * nm /boot/kernel/kernel * grep -c hda 114 * echo ==== /boot/kernel/snd_hda.ko ==== /boot/kernel/snd_hda.ko * nm /boot/kernel/snd_hda.ko * grep -c hda 114 * : ======================================== * id uid=0(root) gid=0(wheel) groups=0(wheel),5(operator) * : ======================================== * kldstat * grep -E 'sound|snd' * : ======================================== * kldunload snd_hda.ko kldunload: can't find file snd_hda.ko * : ======================================== * kldstat * grep hda * : ======================================== * kldload snd_hda.ko kldload: can't load snd_hda.ko: Exec format error * : ======================================== * kldstat * grep hda * : ======================================== -- << ---------------------------------------------------------- <== This is shocking to me: I have the /boot/kernel/snd_hda.ko but I can't load and unload it -- apparently the sound support is in the kernel now. Sorry if this is a trivial question, but did the kernel modularization mechanics and/or configuration change between 8 and 9? (I don't easily see anything applicable in /usr/src/UPDATING). Thanks. -- Alex -- alex-goncharov@comcast.net --