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 ... -- Gilles. _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
