Even bisecting I'd probably be looking at over 10 iterations. First I think I will try to mount a tmpfs as root instead of the SD card. Many changes went into the 2.6.33 hsmmc driver. Mounting a tmpfs as root would bypass all of these.
Mounting the SD card as root was supposed to be an expediency. My final system will use a tmpfs as root anyway, so the time won't be wasted. Eventually, I'll need to mount a file system on the SD card, but it won't be the root file system. Thanks, Bob Feretich On 7/22/2010 3:14 PM, Gilles Chanteperdrix wrote: > Bob Feretich wrote: >> In the past several messages, I reported that applying the Adeos >> patch on the BeagleBoard caused some failures that may be related to IRQ >> 384 interrupts (SD card detect). I now believe that I misread the output >> and that all my reports should reference IRQ 378 rather than IRQ 384. >> >> The twl level 2 interrupt handler is used for both of these IRQs, so it >> could still be that source of the boot hangs. >> >> Excerpts from the console logs are shown below. >> >> It is still suspicious that IRQ 378 interrupts are present in kernels >> where the Adeos patch hangs and not present where it is successful. >> However, since the hang seems to be related to the remounting of the SD >> card (mmc0) as the root file system and IRQ 378 seems to be unrelated to >> this action, the suspicion is weak. >> >> Regards, >> Bob Feretich >> >> 2.6.31 without Adeos patch (below); hangs with Adeos patch >> cat /proc/interrupts >> CPU0 >> 7: 2 INTC TWL4030-PIH >> 11: 0 INTC prcm >> 12: 1011 INTC DMA >> 56: 313 INTC i2c_omap >> 61: 0 INTC i2c_omap >> 72: 1 INTC serial idle >> 73: 1 INTC serial idle >> 74: 107 INTC serial idle, serial >> 77: 0 INTC ehci_hcd:usb1 >> 83: 1414 INTC mmc0 >> 92: 1 INTC musb_hdrc >> 93: 0 INTC musb_hdrc >> 95: 1921 INTC gp timer >> 378: 2 twl4030 twl4030_usb >> 379: 0 twl4030 rtc0 >> 384: 0 twl4030 mmc0 >> Err: 0 >> >> 2.6.32 without Adeos patch (below): no Adeos patch available >> cat /proc/interrupts >> CPU0 >> 7: 2 INTC TWL4030-PIH >> 11: 0 INTC prcm >> 12: 1001 INTC DMA >> 56: 304 INTC i2c_omap >> 61: 0 INTC i2c_omap >> 72: 1 INTC serial idle >> 73: 1 INTC serial idle >> 74: 109 INTC serial idle, serial >> 83: 1794 INTC mmc0 >> 92: 1 INTC musb_hdrc >> 93: 0 INTC musb_hdrc >> 95: 2382 INTC gp timer >> 167: 0 GPIO user >> 376: 0 twl4030 twl4030_pwrbutton >> 378: 2 twl4030 twl4030_usb >> 384: 0 twl4030 mmc0 >> Err: 0 >> >> 2.6.33 without Adeos patch (below): >> cat /proc/interrupts >> CPU0 >> 7: 0 INTC TWL4030-PIH >> 11: 0 INTC prcm >> 12: 1037 INTC DMA >> 37: 773 INTC gp timer >> 56: 318 INTC i2c_omap >> 61: 0 INTC i2c_omap >> 72: 1 INTC serial idle >> 73: 1 INTC serial idle >> 74: 115 INTC serial idle, serial >> 77: 0 INTC ehci_hcd:usb1 >> 83: 14790 INTC mmc0 >> 92: 0 INTC musb_hdrc >> 93: 0 INTC musb_hdrc >> 378: 0 twl4030 twl4030_usb >> 379: 0 twl4030 rtc0 >> 384: 0 twl4030 mmc0 >> Err: 0 >> >> 2.6.33 with Adeos patch (below); >> cat /proc/interrupts >> CPU0 >> 7: 0 INTC TWL4030-PIH >> 11: 0 INTC prcm >> 12: 1288 INTC DMA >> 37: 1366 INTC gp timer >> 56: 446 INTC i2c_omap >> 61: 0 INTC i2c_omap >> 72: 1 INTC serial idle >> 73: 1 INTC serial idle >> 74: 283 INTC serial idle, serial >> 77: 0 INTC ehci_hcd:usb1 >> 83: 2312 INTC mmc0 >> 92: 0 INTC musb_hdrc >> 93: 0 INTC musb_hdrc >> 378: 0 twl4030 twl4030_usb >> 379: 0 twl4030 rtc0 >> 384: 0 twl4030 mmc0 >> Err: 0 >> r...@beagleboard:~# cat /proc/xenomai/irq >> IRQ CPU0 >> 37: 1376 [timer] >> 418: 0 [virtual] > As I said, the absence of IRQ 378 in 2.6.33 looks like a regression, > which should be easy to find with git bisect. Then when you know the > commit which caused the regression, tell me, I will revert it on 2.6.33, > so that I can reproduce the bug you are facing on my board, and > hopefully what happens with the Adeos patch. > >> >> On 7/21/2010 4:30 PM, Bob Feretich wrote: >>> When I boot the vanilla 2.6.32 omap kernel and mount the SD-card as >>> the root file system no interrupts occur on IRQ 384. So, this change >>> must have occurred in the 2.6.32 release. >>> That *may* mean that the Adeos patch will work with 2.6.32. >>> >>> Although this kernel did not cause IRQ 384 interrupts, there were two >>> IRQ 378 interrupts from the USB power system. I believe that the IRQ >>> 378 interrupts are handled via I2C by the same kernel task that >>> handles IRQ 384. If I am guessing correctly, the lack of interrupts >>> on IRQ 384 would permit the kernel to boot even with an Adeos patch >>> applied. The interrupts on IRQ 378 could then be checked to see if >>> they were handled by the I2C interrupt handler. This Level2 2 >>> interrupt handler task should be invoked by the IRQ 7 interrupts, read >>> the twl chip, and post interrupts to IRQ 378. If something is wrong, >>> then the IRQ 378 counter won't reflect the IRQ 7 count. >>> >>> How difficult is it to port enough of the Adeos patch to 2.6.32 to >>> permit booting with Xenomai disabled? >>> >>> I will examine the 2.6.32 kernel development logs for entries related >>> to this change. >>> >>> Regards, >>> Bob Feretich >>> >>> Console log follows... >>> Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) >>> Reading boot sector >>> Loading u-boot.bin from mmc >>> >>> >>> U-Boot 2009.06-rc2 (Nov 02 2009 - 23:57:20) >>> >>> OMAP3530-GP ES3.0, CPU-OPP2 L3-165MHz >>> OMAP3 Beagle board + LPDDR/NAND >>> DRAM: 256 MB >>> NAND: 256 MiB >>> In: serial >>> Out: serial >>> Err: serial >>> Board revision C >>> Die ID #317000030000000004013f8a1701a01b >>> Hit any key to stop autoboot: 0 >>> mmc1 is available >>> reading uImage >>> >>> 2659320 bytes read >>> ## Booting kernel from Legacy Image at 80300000 ... >>> Image Name: Angstrom/2.6.32/beagleboard >>> Image Type: ARM Linux Kernel Image (uncompressed) >>> Data Size: 2659256 Bytes = 2.5 MB >>> Load Address: 80008000 >>> Entry Point: 80008000 >>> Verifying Checksum ... OK >>> Loading Kernel Image ... OK >>> OK >>> >>> Starting kernel ... >>> >>> Uncompressing >>> Linux.................................................................................................... >>> ......................................................................... >>> done, booting the kernel. >>> [ 0.000000] Linux version 2.6.32 ([email protected] >>> <mailto:[email protected]>) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Wed >>> Jul 21 14:15:03 PDT 20 >>> 10 >>> [ 0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), >>> cr=10c53c7f >>> [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing >>> instruction cache >>> [ 0.000000] Machine: OMAP3 Beagle Board >>> [ 0.000000] Memory policy: ECC disabled, Data cache writeback >>> [ 0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp ) >>> [ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000 >>> [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. >>> Total pages: 65024 >>> [ 0.000000] Kernel command line: console=ttyS2,115200n8 >>> root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait >>> [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) >>> [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, >>> 131072 bytes) >>> [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 >>> bytes) >>> [ 0.000000] Memory: 128MB 128MB = 256MB total >>> [ 0.000000] Memory: 253952KB available (4860K code, 559K data, 164K >>> init, 0K highmem) >>> [ 0.000000] Hierarchical RCU implementation. >>> [ 0.000000] NR_IRQS:402 >>> [ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/500 MHz >>> [ 0.000000] Reprogramming SDRC clock to 332000000 Hz >>> [ 0.000000] GPMC revision 5.0 >>> [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 >>> interrupts >>> [ 0.000000] Total of 96 interrupts on 1 active controller >>> [ 0.000000] OMAP GPIO hardware version 2.5 >>> [ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz >>> [ 0.000000] Console: colour dummy device 80x30 >>> [ 0.000000] Calibrating delay loop... 480.01 BogoMIPS (lpj=1875968) >>> [ 0.000000] Mount-cache hash table entries: 512 >>> [ 0.000000] CPU: Testing write buffer coherency: ok >>> [ 0.000000] devtmpfs: initialized >>> [ 0.000000] regulator: core version 0.5 >>> [ 0.000000] NET: Registered protocol family 16 >>> [ 0.000000] Found NAND on CS0 >>> [ 0.000000] Registering NAND on CS0 >>> [ 18.373596] OMAP DMA hardware revision 4.0 >>> [ 18.379821] bio: create slab<bio-0> at 0 >>> [ 18.381439] SCSI subsystem initialized >>> [ 18.382171] usbcore: registered new interface driver usbfs >>> [ 18.382354] usbcore: registered new interface driver hub >>> [ 18.382568] usbcore: registered new device driver usb >>> [ 18.383026] i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz >>> [ 18.386108] twl4030: PIH (irq 7) chaining IRQs 368..375 >>> [ 18.386138] twl4030: power (irq 373) chaining IRQs 376..383 >>> [ 18.386505] twl4030: gpio (irq 368) chaining IRQs 384..401 >>> [ 18.387969] regulator: VUSB1V5: 1500 mV normal standby >>> [ 18.388305] regulator: VUSB1V8: 1800 mV normal standby >>> [ 18.388671] regulator: VUSB3V1: 3100 mV normal standby >>> [ 18.390106] twl4030_usb twl4030_usb: Initialized TWL4030 USB module >>> [ 18.390563] regulator: VMMC1: 1850<--> 3150 mV normal standby >>> [ 18.390869] regulator: VDAC: 1800 mV normal standby >>> [ 18.391204] regulator: VPLL2: 1800 mV normal standby >>> [ 18.391510] regulator: VSIM: 1800<--> 3000 mV normal standby >>> [ 18.403625] i2c_omap i2c_omap.3: bus 3 rev3.12 at 100 kHz >>> [ 18.404998] Switching to clocksource 32k_counter >>> [ 18.416595] musb_hdrc: version 6.0, musb-dma, otg >>> (peripheral+host), debug=0 >>> [ 18.420166] musb_hdrc: USB OTG mode controller at fa0ab000 using >>> DMA, IRQ 92 >>> [ 18.420898] NET: Registered protocol family 2 >>> [ 18.421173] IP route cache hash table entries: 2048 (order: 1, 8192 >>> bytes) >>> [ 18.421844] TCP established hash table entries: 8192 (order: 4, >>> 65536 bytes) >>> [ 18.422088] TCP bind hash table entries: 8192 (order: 3, 32768 bytes) >>> [ 18.422241] TCP: Hash tables configured (established 8192 bind 8192) >>> [ 18.422271] TCP reno registered >>> [ 18.422546] NET: Registered protocol family 1 >>> [ 18.423095] RPC: Registered udp transport module. >>> [ 18.423095] RPC: Registered tcp transport module. >>> [ 18.423126] RPC: Registered tcp NFSv4.1 backchannel transport module. >>> [ 18.425628] VFS: Disk quotas dquot_6.5.2 >>> [ 18.425750] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) >>> [ 18.427154] squashfs: version 4.0 (2009/01/31) Phillip Lougher >>> [ 18.428161] JFFS2 version 2.2. (NAND) (SUMMARY) �ݩ 2001-2006 >>> Red Hat, Inc. >>> [ 18.429351] msgmni has been set to 496 >>> [ 18.434722] alg: No test for stdrng (krng) >>> [ 18.435089] Block layer SCSI generic (bsg) driver version 0.4 >>> loaded (major 254) >>> [ 18.435119] io scheduler noop registered >>> [ 18.435150] io scheduler anticipatory registered >>> [ 18.435150] io scheduler deadline registered >>> [ 18.435333] io scheduler cfq registered (default) >>> [ 18.447570] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled >>> [ 18.468475] serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a >>> ST16654 >>> [ 18.488403] serial8250.1: ttyS1 at MMIO 0x4806c000 (irq = 73) is a >>> ST16654 >>> [ 18.508300] serial8250.2: ttyS2 at MMIO 0x49020000 (irq = 74) is a >>> ST16654 >>> [ 18.940307] console [ttyS2] enabled >>> [ 18.952697] brd: module loaded >>> [ 18.960174] loop: module loaded >>> [ 18.964416] omap2-nand driver initializing >>> [ 18.968963] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba >>> (Micron NAND 256MiB 1,8V 16-bit) >>> [ 18.978149] cmdlinepart partition parsing not available >>> [ 18.983489] Creating 5 MTD partitions on "omap2-nand": >>> [ 18.988677] 0x000000000000-0x000000080000 : "X-Loader" >>> [ 18.995330] 0x000000080000-0x000000260000 : "U-Boot" >>> [ 19.002105] 0x000000260000-0x000000280000 : "U-Boot Env" >>> [ 19.008514] 0x000000280000-0x000000680000 : "Kernel" >>> [ 19.016113] 0x000000680000-0x000010000000 : "File System" >>> [ 19.124450] usbcore: registered new interface driver catc >>> [ 19.129882] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver >>> [ 19.135955] usbcore: registered new interface driver kaweth >>> [ 19.141632] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB >>> Ethernet driver >>> [ 19.149261] usbcore: registered new interface driver pegasus >>> [ 19.154998] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet >>> driver >>> [ 19.162048] usbcore: registered new interface driver rtl8150 >>> [ 19.167846] usbcore: registered new interface driver asix >>> [ 19.173400] usbcore: registered new interface driver cdc_ether >>> [ 19.179412] usbcore: registered new interface driver dm9601 >>> [ 19.185119] usbcore: registered new interface driver smsc95xx >>> [ 19.191040] usbcore: registered new interface driver gl620a >>> [ 19.196777] usbcore: registered new interface driver net1080 >>> [ 19.202575] usbcore: registered new interface driver plusb >>> [ 19.208190] usbcore: registered new interface driver rndis_host >>> [ 19.214263] usbcore: registered new interface driver cdc_subset >>> [ 19.220367] usbcore: registered new interface driver zaurus >>> [ 19.226104] usbcore: registered new interface driver MOSCHIP >>> usb-ethernet driver >>> [ 19.234161] Initializing USB Mass Storage driver... >>> [ 19.239196] usbcore: registered new interface driver usb-storage >>> [ 19.245330] USB Mass Storage support registered. >>> [ 19.250061] g_ether gadget: using random self ethernet address >>> [ 19.255950] g_ether gadget: using random host ethernet address >>> [ 19.262390] usb0: MAC 76:ff:8e:a3:38:74 >>> [ 19.266326] usb0: HOST MAC 92:e6:7c:a6:1a:38 >>> [ 19.270660] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 >>> [ 19.277374] g_ether gadget: g_ether ready >>> [ 19.281433] musb_hdrc musb_hdrc: MUSB HDRC host driver >>> [ 19.287078] musb_hdrc musb_hdrc: new USB bus registered, assigned >>> bus number 1 >>> [ 19.294555] usb usb1: New USB device found, idVendor=1d6b, >>> idProduct=0002 >>> [ 19.301422] usb usb1: New USB device strings: Mfr=3, Product=2, >>> SerialNumber=1 >>> [ 19.308715] usb usb1: Product: MUSB HDRC host driver >>> [ 19.313751] usb usb1: Manufacturer: Linux 2.6.32 musb-hcd >>> [ 19.319213] usb usb1: SerialNumber: musb_hdrc >>> [ 19.324157] usb usb1: configuration #1 chosen from 1 choice >>> [ 19.330078] hub 1-0:1.0: USB hub found >>> [ 19.333953] hub 1-0:1.0: 1 port detected >>> [ 19.338867] mice: PS/2 mouse device common for all mice >>> [ 19.344665] input: gpio-keys as >>> /devices/platform/gpio-keys/input/input0 >>> [ 19.352996] input: twl4030_pwrbutton as >>> /devices/platform/i2c_omap.1/i2c-1/1-0049/twl4030_pwrbutton/input/input1 >>> [ 19.363922] i2c /dev entries driver >>> [ 19.475860] Registered led device: beagleboard::usr0 >>> [ 19.481018] Registered led device: beagleboard::usr1 >>> [ 19.486724] Registered led device: beagleboard::pmu_stat >>> [ 19.492309] oprofile: using arm/armv7 >>> [ 19.496276] TCP cubic registered >>> [ 19.499603] NET: Registered protocol family 17 >>> [ 19.504119] NET: Registered protocol family 15 >>> [ 19.508728] ThumbEE CPU extension supported. >>> [ 19.513031] Power Management for TI OMAP3. >>> [ 19.528015] VFP support v0.3: implementor 41 architecture 3 part 30 >>> variant c rev 1 >>> [ 19.536712] registered taskstats version 1 >>> [ 19.542541] regulator_init_complete: incomplete constraints, >>> leaving VDVI on >>> [ 19.549804] regulator_init_complete: incomplete constraints, >>> leaving VDAC on >>> [ 19.557556] Waiting for root device /dev/mmcblk0p2... >>> [ 19.842773] mmc0: new high speed SDHC card at address cd63 >>> [ 19.848846] mmcblk0: mmc0:cd63 SD04G 3.69 GiB >>> [ 19.853790] mmcblk0: p1 p2 >>> [ 19.896240] kjournald starting. Commit interval 5 seconds >>> [ 20.155639] EXT3 FS on mmcblk0p2, internal journal >>> [ 20.160491] EXT3-fs: mounted filesystem with writeback data mode. >>> [ 20.166717] VFS: Mounted root (ext3 filesystem) on device 179:2. >>> [ 20.175598] devtmpfs: mounted >>> [ 20.178741] Freeing init memory: 164K >>> INIT: version 2.86 booting >>> Please wait: booting... >>> Starting udev >>> Remounting root file system... >>> Caching udev devnodes >>> Populating dev cache >>> root: mount: mounting rootfs on / failed: No such file or directory >>> Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device >>> done. >>> Setting up IP spoofing protection: rp_filter. >>> hwclock: can't open '/dev/misc/rtc': No such file or directory >>> Tue May 18 20:58:00 UTC 2010 >>> hwclock: can't open '/dev/misc/rtc': No such file or directory >>> Configuring update-modules. >>> Starting to configure packages... >>> Nothing to be done >>> Finished to configure packages. >>> INIT: Entering runlevel: 5 >>> Creating Dropbear SSH server RSA host key. >>> Will output 1024 bit rsa secret key to >>> '/etc/dropbear/dropbear_rsa_host_key' >>> Generating key, this may take a while... >>> Public key portion is: >>> ssh-rsa >>> AAAAB3NzaC1yc2EAAAADAQABAAAAgwCFnP91SQbJJLLS7KMeQYYjBm2KLETrqGJtmHxTotPEBJi8cgFBkW2ZBk8mgz+u92kJOkKmk/UJtV/gkXo >>> sibLr41W2CJyf6ILPujqZk0RvGxybuW5dp18C2rP9uW3vPhQ4GDrXG3s5i7r/s5hvgWtY8QDXcYVLtZUsx6B/fufK+aaT >>> r...@beagleboard >>> Fingerprint: md5 59:56:33:4a:a7:8f:ba:e6:33:43:2d:d1:3d:a6:83:1e >>> Starting Dropbear SSH server: dropbear. >>> Starting syslogd/klogd: done >>> >>> .-------. >>> | | .-. >>> | | |-----.-----.-----.| | .----..-----.-----. >>> | | | __ | ---'| '--.| .-'| | | >>> | | | | | |--- || --'| | | ' | | | | >>> '---'---'--'--'--. |-----''----''--' '-----'-'-'-' >>> -' | >>> '---' >>> >>> The Angstrom Distribution beagleboard ttyS2 >>> >>> Angstrom 2010.4-test-20100518 beagleboard ttyS2 >>> >>> beagleboard login: root >>> r...@beagleboard:~# cat /proc/interrupts >>> CPU0 >>> 7: 2 INTC TWL4030-PIH >>> 11: 0 INTC prcm >>> 12: 1114 INTC DMA >>> 56: 304 INTC i2c_omap >>> 61: 0 INTC i2c_omap >>> 72: 1 INTC serial idle >>> 73: 1 INTC serial idle >>> 74: 201 INTC serial idle, serial >>> 83: 1976 INTC mmc0 >>> 92: 1 INTC musb_hdrc >>> 93: 0 INTC musb_hdrc >>> 95: 3266 INTC gp timer >>> 167: 0 GPIO user >>> 376: 0 twl4030 twl4030_pwrbutton >>> 378: 2 twl4030 twl4030_usb >>> 384: 0 twl4030 mmc0 >>> Err: 0 >>> r...@beagleboard:~# > > >>> On 7/21/2010 1:33 PM, Bob Feretich wrote: >>>> I reverted the patch that you suggested. Spurious interrupts crashed >>>> the kernel during boot. (console log below) >>>> >>>> The only data that I have to go on for the difference between the >>>> Adeos hang on 2.6.31 and successful boot on 2.6.33 is interrupts on >>>> IRQ 384, which occur on 2.6.31 but not 2.6.33. >>>> This change in interrupts is independent of the Adeos patch, so I >>>> will build a vanilla 2.6.32 kernel and see if the interrupts occur >>>> there. This may help isolate which kernel change made the difference. >>>> >>>> Regards, >>>> Bob Feretich >>>> >>>> Boot log with 2.6.31 patch reverted... >>>> Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) >>>> Reading boot sector >>>> ... snipped ... > _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
