Sean McGranaghan wrote:
> FYI,
> 
> Just following up on my crash issue from a couple weeks ago. It appears that 
> disabling the local APIC in the kernel fixed my crash. I have a complete dump 
> of 
> the console messages before the crash and two kernel config files attached. 
> The 
> only difference in the config files is the APIC settings.
> 
> My test system is an older PII 350MHz with 512M. The vanilla kernel boots 
> fine 
> with APIC support enabled, but when the Xenomai patches are applied I get the 
> crash.
> 
> Also, this may be in the release notes but I wanted to mention it anyway. I 
> noticed that the valid return values for an RTDM interrupt handler have 
> changed 
> between Xenomai 2.0 and 2.1. I have a driver I wrote in 2.0.92 that fails to 
> compile under 2.1. It looks like the valid return code have changed as 
> follows:
> 
> Xenomai 2.0.92
> RTDM_IRQ_PROPAGATE
> RTDM_IRQ_ENABLE
> 
> Xenomai 2.1
> RTDM_IRQ_NONE
> RTDM_IRQ_HANDLED
> 
> When an interrupt handler now returns RTDM_IRQ_HANDLED I assume it will be 
> re-enabled, is this true?

That's true, and it should be described, see RTDM API docs and
ksrc/skins/rtdm/API.CHANGES. The upgrade is straightforward:

old                     -> new

0                       -> RTDM_IRQ_NONE
RTDM_IRQ_ENABLE         -> RTDM_IRQ_HANDLED
RTDM_IRQ_PROPAGATE      -> -unsupported-

> Linux version 2.6.15.6-ipipe ([EMAIL PROTECTED]) (gcc version 4.0.2 20051125 
> (Red Hat 4.0.2-8)) #3 Thu Mar 23 11:45:02 EST 2006
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
>  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
>  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
>  BIOS-e820: 0000000000100000 - 000000001fffd000 (usable)
>  BIOS-e820: 000000001fffd000 - 000000001ffff000 (ACPI data)
>  BIOS-e820: 000000001ffff000 - 0000000020000000 (ACPI NVS)
>  BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
> 0MB HIGHMEM available.
> 511MB LOWMEM available.
> DMI 2.0 present.
> Allocating PCI resources starting at 30000000 (gap: 20000000:dfff0000)
> Built 1 zonelists
> Kernel command line: ro root=LABEL=/ console=ttyS0,115200n8
> Local APIC disabled by BIOS -- you can enable it with "lapic"

You may either follow this suggestion or actually leave local APIC off
at compile time.

> Initializing CPU#0
> CPU 0 irqstacks, hard=c0414000 soft=c0413000
> PID hash table entries: 2048 (order: 11, 32768 bytes)
> Detected 350.905 MHz processor.
> Using tsc for high-res timesource
> I-pipe 1.2-01: pipeline enabled.
> Console: colour VGA+ 80x25
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 514088k/524276k available (2222k kernel code, 9656k reserved, 730k 
> data, 168k init, 0k highmem)
> Checking if this processor honours the WP bit even in supervisor mode... Ok.
> Calibrating delay using timer specific routine.. 702.33 BogoMIPS (lpj=351169)
> Security Framework v1.0.0 initialized
> SELinux:  Initializing.
> SELinux:  Starting in permissive mode
> selinux_register_security:  Registering secondary module capability
> Capability LSM initialized as secondary
> Mount-cache hash table entries: 512
> CPU: L1 I cache: 16K, L1 D cache: 16K
> CPU: L2 cache: 512K
> Intel machine check architecture supported.
> Intel machine check reporting enabled on CPU#0.
> mtrr: v2.0 (20020519)
> CPU: Intel Pentium II (Deschutes) stepping 02
> Enabling fast FPU save and restore... done.
> Checking 'hlt' instruction... OK.
> checking if image is initramfs... it is
> Freeing initrd memory: 1070k freed
> NET: Registered protocol family 16
> PCI: PCI BIOS revision 2.10 entry at 0xf0720, last bus=1
> PCI: Using configuration type 1
> Linux Plug and Play Support v0.97 (c) Adam Belay
> SCSI subsystem initialized
> usbcore: registered new driver usbfs
> usbcore: registered new driver hub
> PCI: Probing PCI hardware
> PCI quirk: region e400-e43f claimed by PIIX4 ACPI
> PCI quirk: region e800-e80f claimed by PIIX4 SMB
> PIIX4 devres B PIO at 0290-0297
> PCI: Using IRQ router PIIX/ICH [8086/7110] at 0000:00:04.0
> PCI: IRQ 0 for device 0000:00:04.2 doesn't match PIRQ mask - try 
> pci=usepirqmask
> PCI: Bridge: 0000:00:01.0
>   IO window: disabled.
>   MEM window: e0000000-e1dfffff
>   PREFETCH window: e1f00000-e3ffffff
> audit: initializing netlink socket (disabled)
> audit(1143117255.879:1): initialized
> Xenomai: Local APIC absent or disabled!
>          Disable APIC support or pass "lapic=1" as bootparam.
> Xenomai: system init failed, code -19.

This is normal, given the lacking "lapic=1".

> divide error: 0000 [#1]
> Modules linked in:
> CPU:    0
> EIP:    0060:[<c014243a>]    Not tainted VLI
> EFLAGS: 00010246   (2.6.15.6-ipipe)
> EIP is at xntimer_get_jiffies_aperiodic+0x5a/0xf0

This is not ok, but should be easy to fix.

> eax: eb54cd11   ebx: 00000000   ecx: 3b9aca00   edx: 00000000
> esi: 08a61400   edi: c0465aa0   ebp: 00000000   esp: c14d7ef8
> ds: 007b   es: 007b   ss: 0068
> Process swapper (pid: 1, threadinfo=c14d7000 task=c14d8a70)
> Stack: f2bd7342 00000003 eb54cd11 00000000 00000000 00000000 c0465aa0 00000000
>        c01401a8 c0140115 768acda8 0fdd2b16 00000000 00000000 768acda8 0fdd2b16
>        c0140718 c0140810 00000000 00000000 0fdd2b16 c045c800 00000000 442295c7
> Call Trace:
>  [<c01401a8>] xnpod_get_time+0x8/0x20
>  [<c0140115>] xnpod_set_time+0x45/0xd0
>  [<c0140718>] xnpod_start_timer+0x1e8/0x260
>  [<c0140810>] xnpod_announce_tick+0x0/0x120
>  [<c013cf77>] xnpod_init+0x487/0x4b0
>  [<c0117a00>] printk+0x30/0xd0
>  [<c01451d5>] xncore_attach+0x35/0x60
>  [<c01483f9>] __native_skin_init+0x9/0xe0
>  [<c03e4909>] do_initcalls+0x29/0xc0
>  [<c0100280>] init+0x0/0x150
>  [<c0100280>] init+0x0/0x150
>  [<c01002aa>] init+0x2a/0x150
>  [<c0100fb4>] kernel_thread_helper+0x0/0xc
>  [<c0100fb9>] kernel_thread_helper+0x5/0xc
> Code: e3 89 d7 8b 54 24 04 89 c6 89 d0 f7 e3 31 db 89 44 24 08 01 7c 24 08 8b 
> 7c 24 18 89 54 24 0c 11 5c 24 0c 8b 44 24 08 8b 54 24 0c <f7> f5 89 c1 89 f0 
> 8b 74 24 14 f7 f5 89 ca 8b 6c 24 1c 89 d3 89
>  <0>Kernel panic - not syncing: Attempted to kill init!
> 

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to