Jan Kiszka wrote:
 > 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.

I am able to reproduce that bug, trying to fix...

-- 


                                            Gilles Chanteperdrix.

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

Reply via email to