All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
@ 2007-12-18 13:07 fabien
  2007-12-19  0:19 ` Alexis Berlemont
  2007-12-20  7:36 ` Wolfgang Grandegger
  0 siblings, 2 replies; 9+ messages in thread
From: fabien @ 2007-12-18 13:07 UTC (permalink / raw)
  To: xenomai

hello,

I'm new to this list and Xenomai. I've ported a Linux 2.6 kernel on a
custom board based on MPC855T (PQ1). I'm able to boot my kernel
2.6.23-6 (DENX) compiled with eldk 4.1 (uClibC) and run userspace
applications on flash filesystem without problems (Busybox). The
booloader is ppcboot 1.1.5. My uart is on SMC1.
The prepare kernel script patchs correcly the kernel with
adeos-ipipe-2.6.23-ppc-1.6-00.patch. I'm based on arch=ppc :
scripts/prepare-kernel.sh
--linux=/opt/eldk/ppc_8xx/usr/src/linux-2.6-denx/
--adeos=ksrc/arch/powerpc/patches/adeos-ipipe-2.6.23-ppc-1.6-00.patch
--arch=ppc

When i try to boot with Xenomai support my kernel hangs.
To avoid other problems i've just leaved support for a minimal
initramfs in order to get just a shell.
If i remove Xenomai and i-pipe supports the kernel boot correctly, but
when i enable i-pipe support i get the following Oops :

=>bootm 0x400000 0x550000
## Booting image at 00400000 ...
   Image Name:   Linux-2.6.23.6
   Created:      2007-12-18  11:23:11 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    990255 Bytes = 967 kB = 0 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at 00550000 ...
   Image Name:   Initramfs
   Created:      2007-12-18   9:43:05 UTC
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    202240 Bytes = 197 kB = 0 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Ramdisk to 00f49000, end 00f7a600 ... OK
Linux version 2.6.23.6 (fabien@domain.hid) (gcc version 4.0.0 (DENX
ELDK 4.1 4.0.0)) #4 Tue Dec 18 12:23:10 CE7
Board_init : fast 2100
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->     4096
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->     4096
Built 1 zonelists in Zone order.  Total pages: 4064
Kernel command line: console=ttyCPM0,9600
PID hash table entries: 64 (order: 6, 256 bytes)
Decrementer Frequency = 187500000/60
I-pipe 1.6-00: pipeline enabled.
cpm_uart: console: compat mode
console [ttyCPM0] enabled
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13940k available (1596k kernel code, 392k data, 88k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Platform fast2100: Init
Generic PHY: Registered new driver
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
Unpacking initramfs... done
Freeing initrd memory: 197k freed
JFFS2 version 2.2. .. 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: CPM driver $Revision: 0.02 $
ttyCPM0 at MMIO 0xc3050a80 (irq = 20) is a CPM UART
loop: module loaded
fs_enet.c:v1.0 (Aug 8, 2005)
FEC MII Bus: probed
Fast2100 flash device: 400000 at 2800000
Fast2100 flash: Found 2 x16 devices at 0x0 in 32-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Creating 2 MTD partitions on "Fast2100 flash":
0x00100000-0x00180000 : "initramfs"
0x00180000-0x00400000 : "jffs2"
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Freeing unused kernel memory: 88k init
Launch a shell /bin/sh


Oops: kernel access of bad area, sig: 11 [#1]
NIP: 00000000 LR: c0005854 CTR: 00000000
REGS: c0fefc10 TRAP: 0400   Not tainted  (2.6.23.6)
MSR: 40001032 <ME,IR,DR>  CR: 24004028  XER: 00000000
TASK = c0f99030[12] 'sh' THREAD: c0fee000
GPR00: 00000000 c0fefcc0 c0f99030 00000014 c01ce410 00100000 00000000 00000000
GPR08: 00000000 c01cdec0 c01cec10 c01cebc0 c0fee1f0 cfefffff 00ffe000 007fff14
GPR16: 00000000 00000001 c01b0000 c01d0000 c01f0000 00000002 c00d09a4 c0f4600c
GPR24: 0000003d c01d7b9c 000001b0 00000000 00000140 c0200a44 00000014 c0200a40
NIP [00000000] 0x0
LR [c0005854] __ipipe_ack_irq+0x28/0x3c
Call Trace:
[c0fefcc0] [c0200a44] 0xc0200a44 (unreliable)
[c0fefcd0] [c0005ba0] __ipipe_handle_irq+0x124/0x140
[c0fefd00] [c0005dd4] __ipipe_grab_irq+0x3c/0xac
[c0fefd20] [c0003154] __ipipe_ret_from_except+0x0/0xc
[c0fefde0] [c00d9400] cpm_uart_start_tx+0x38/0xa8
[c0fefe00] [c00d4c40] __uart_start+0x64/0x74
[c0fefe10] [c00d5c84] uart_start+0x30/0x4c
[c0fefe30] [c00d5d9c] uart_write+0xf8/0x130
[c0fefe60] [c00d0bac] write_chan+0x208/0x3a4
[c0fefeb0] [c00cd530] tty_write+0x170/0x238
[c0fefef0] [c0056128] vfs_write+0xcc/0x108
[c0feff10] [c0056a94] sys_write+0x4c/0x90
[c0feff40] [c0002900] ret_from_syscall+0x0/0x38
Instruction dump:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
BusyBox v1.8.1 (2007-12-10 13:06Oops: kernel access of bad area, sig: 11 [#2]
NIP: 00000000 LR: c0005854 CTR: 00000000
REGS: c0fef8b0 TRAP: 0400   Tainted: G      D  (2.6.23.6)
MSR: 40001032 <ME,IR,DR>  CR: 24002028  XER: 00000000
TASK = c0f99030[12] 'sh' THREAD: c0fee000
GPR00: 00000000 c0fef960 c0f99030 00000014 c01ce410 00100000 00000000 00000000
GPR08: 00000000 c01cdec0 c01cec10 c01cebc0 c0fee1f0 cfefffff 00ffe000 007fff14
GPR16: c01cf260 c01d0000 ffffffff fffffffb c01f62a0 c01f0000 c01f0000 c0200000
GPR24: c01f0000 c01d7b9c 000001b0 00000000 00000140 c0200a44 00000014 c0200a40
NIP [00000000] 0x0
LR [c0005854] __ipipe_ack_irq+0x28/0x3c
Call Trace:
[c0fef960] [c0200a44] 0xc0200a44 (unreliable)
[c0fef970] [c0005ba0] __ipipe_handle_irq+0x124/0x140
[c0fef9a0] [c0005dd4] __ipipe_grab_irq+0x3c/0xac
[c0fef9c0] [c0003154] __ipipe_ret_from_except+0x0/0xc
[c0fefa80] [00000000] 0x0
[c0fefaa0] [c0010d7c] enqueue_entity+0x20/0x300
[c0fefad0] [c001109c] task_tick_fair+0x40/0x94
[c0fefaf0] [c001055c] scheduler_tick+0x1a0/0x208
[c0fefb10] [c001e500] update_process_times+0x50/0x7c
[c0fefb20] [c0004a88] timer_interrupt+0x130/0x20c
[c0fefb60] [c0005918] __ipipe_do_timer+0x18/0x28
[c0fefb70] [c0038bf4] __ipipe_sync_stage+0x32c/0x334
[c0fefbc0] [c0039714] __ipipe_unstall_root+0x7c/0x80
[c0fefbd0] [c00034b4] die+0x84/0x8c
[c0fefbe0] [c000acdc] bad_page_fault+0x58/0x5c
[c0fefc00] [c0002db4] handle_page_fault+0x7c/0x80
[c0fefcc0] [c0200a44] 0xc0200a44
[c0fefcd0] [c0005ba0] __ipipe_handle_irq+0x124/0x140
[c0fefd00] [c0005dd4] __ipipe_grab_irq+0x3c/0xac
[c0fefd20] [c0003154] __ipipe_ret_from_except+0x0/0xc
[c0fefde0] [c00d9400] cpm_uart_start_tx+0x38/0xa8
[c0fefe00] [c00d4c40] __uart_start+0x64/0x74
[c0fefe10] [c00d5c84] uart_start+0x30/0x4c
[c0fefe30] [c00d5d9c] uart_write+0xf8/0x130
[c0fefe60] [c00d0bac] write_chan+0x208/0x3a4
[c0fefeb0] [c00cd530] tty_write+0x170/0x238
[c0fefef0] [c0056128] vfs_write+0xcc/0x108
[c0feff10] [c0056a94] sys_write+0x4c/0x90
[c0feff40] [c0002900] ret_from_syscall+0x0/0x38
Instruction dump:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Kernel panic - not syncing: Aiee, killing interrupt handler!
Rebooting in 180 seconds..

I'll be very grateful if someone could give me some clues in order to fix.
Best regards
Fabien

INC :  my .config :

CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_PPC=y
CONFIG_PPC32=y
CONFIG_GENERIC_NVRAM=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_BUG=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
# CONFIG_HOTPLUG is not set
CONFIG_PRINTK=y
# CONFIG_LOGBUFFER is not set
CONFIG_BUG=y
CONFIG_ELF_CORE=y
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
# CONFIG_SHMEM is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
CONFIG_TINY_SHMEM=y
CONFIG_BASE_SMALL=1
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Real-time sub-system
#
# CONFIG_XENOMAI is not set
#
# Processor
#
# CONFIG_6xx is not set
# CONFIG_40x is not set
# CONFIG_44x is not set
CONFIG_8xx=y
# CONFIG_E200 is not set
# CONFIG_E500 is not set
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_MATH_EMULATION is not set
# CONFIG_KEXEC is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
CONFIG_EMBEDDEDBOOT=y
CONFIG_NOT_COHERENT_CACHE=y

#
# Platform options
#
# CONFIG_RPXLITE is not set
# CONFIG_RPXCLASSIC is not set
CONFIG_FAST2100=y
# CONFIG_BSEIP is not set
# CONFIG_MPC8XXFADS is not set
# CONFIG_MPC86XADS is not set
# CONFIG_MPC885ADS is not set
# CONFIG_TQM823L is not set
# CONFIG_TQM850L is not set
# CONFIG_TQM855L is not set
# CONFIG_TQM860L is not set
# CONFIG_FPS850L is not set
# CONFIG_IVMS8 is not set
# CONFIG_IVML24 is not set
# CONFIG_HERMES_PRO is not set
# CONFIG_IP860 is not set
# CONFIG_LWMON is not set
# CONFIG_PCU_E is not set
# CONFIG_CCM is not set
# CONFIG_LANTEC is not set
# CONFIG_MBX is not set
# CONFIG_WINCEPT is not set
#
# Freescale Ethernet driver platform-specific options
#
CONFIG_CPM1=y
CONFIG_IPIPE=y
CONFIG_IPIPE_DOMAINS=4
# CONFIG_IPIPE_COMPAT is not set
# CONFIG_HIGHMEM is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SUSPEND_UP_POSSIBLE=y
CONFIG_HIBERNATION_UP_POSSIBLE=y
CONFIG_SECCOMP=y
CONFIG_PPC_PAGE_4K=y
# CONFIG_PPC_PAGE_16K is not set
# CONFIG_PPC_PAGE_64K is not set
# CONFIG_PPC_PAGE_256K is not set
CONFIG_ISA_DMA_API=y

#
# Bus options
#
CONFIG_ZONE_DMA=y
# CONFIG_PPC_I8259 is not set
# CONFIG_PCI is not set
# CONFIG_PCI_DOMAINS is not set
# CONFIG_PCI_SYSCALL is not set
# CONFIG_PCI_QSPAN is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set

#
# PCCARD (PCMCIA/CardBus) support
#

#
# PCI Express support
#

#
# Advanced setup
#
CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
# CONFIG_LOWMEM_SIZE_BOOL is not set
CONFIG_LOWMEM_SIZE=0x30000000
# CONFIG_KERNEL_START_BOOL is not set
CONFIG_KERNEL_START=0xc0000000
# CONFIG_TASK_SIZE_BOOL is not set
CONFIG_TASK_SIZE=0x80000000
CONFIG_CONSISTENT_START_BOOL=y
CONFIG_CONSISTENT_START=0xffa00000
# CONFIG_CONSISTENT_SIZE_BOOL is not set
CONFIG_CONSISTENT_SIZE=0x00200000
# CONFIG_BOOT_LOAD_BOOL is not set
CONFIG_BOOT_LOAD=0x00400000
# CONFIG_PIN_TLB is not set

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set

#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_FAST2100=y
# CONFIG_MTD_CFI_FLAGADM is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_FIXED_PHY is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_FS_ENET=y
# CONFIG_FS_ENET_HAS_SCC is not set
CONFIG_FS_ENET_HAS_FEC=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
# CONFIG_INPUT is not set

#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CPM=y
CONFIG_SERIAL_CPM_CONSOLE=y
# CONFIG_SERIAL_CPM_SCC1 is not set
# CONFIG_SERIAL_CPM_SCC2 is not set
# CONFIG_SERIAL_CPM_SCC3 is not set
# CONFIG_SERIAL_CPM_SCC4 is not set
CONFIG_SERIAL_CPM_SMC1=y
# CONFIG_SERIAL_CPM_SMC2 is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_I2C is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VT1115 is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
CONFIG_DAB=y

#
# Graphics support
#
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
# CONFIG_FB is not set
# CONFIG_FB_IBM_GXT4500 is not set

#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_USB_SUPPORT=y
# CONFIG_USB_ARCH_HAS_HCD is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_EHCI is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set

#
# DMA Engine support
#
# CONFIG_DMA_ENGINE is not set

#
# DMA Clients
#

#
# DMA Devices
#

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# File systems
#
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4DEV_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_DNOTIFY is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_YAFFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
# CONFIG_JFFS2_FS_WRITEBUFFER is not set
# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
# CONFIG_NLS is not set

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set

#
# MPC8xx CPM Options
#
# CONFIG_SCC_ENET is not set
# CONFIG_FEC_ENET is not set

#
# Generic MPC8xx Options
#
# CONFIG_8xx_COPYBACK is not set
# CONFIG_8xx_CPU6 is not set
CONFIG_NO_UCODE_PATCH=y
# CONFIG_USB_SOF_UCODE_PATCH is not set
# CONFIG_I2C_SPI_UCODE_PATCH is not set
# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_IPIPE_DEBUG is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_CRYPTO is not set


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-18 13:07 [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc) fabien
@ 2007-12-19  0:19 ` Alexis Berlemont
  2007-12-19 13:29   ` fabien
  2007-12-20  7:36 ` Wolfgang Grandegger
  1 sibling, 1 reply; 9+ messages in thread
From: Alexis Berlemont @ 2007-12-19  0:19 UTC (permalink / raw)
  To: xenomai

Hi,

>
>
> Oops: kernel access of bad area, sig: 11 [#1]
> NIP: 00000000 LR: c0005854 CTR: 00000000
> REGS: c0fefc10 TRAP: 0400   Not tainted  (2.6.23.6)
> MSR: 40001032 <ME,IR,DR>  CR: 24004028  XER: 00000000
> TASK = c0f99030[12] 'sh' THREAD: c0fee000
> GPR00: 00000000 c0fefcc0 c0f99030 00000014 c01ce410 00100000 00000000
> 00000000 GPR08: 00000000 c01cdec0 c01cec10 c01cebc0 c0fee1f0 cfefffff
> 00ffe000 007fff14 GPR16: 00000000 00000001 c01b0000 c01d0000 c01f0000
> 00000002 c00d09a4 c0f4600c GPR24: 0000003d c01d7b9c 000001b0 00000000
> 00000140 c0200a44 00000014 c0200a40 NIP [00000000] 0x0
> LR [c0005854] __ipipe_ack_irq+0x28/0x3c
> Call Trace:
> [c0fefcc0] [c0200a44] 0xc0200a44 (unreliable)
> [c0fefcd0] [c0005ba0] __ipipe_handle_irq+0x124/0x140
> [c0fefd00] [c0005dd4] __ipipe_grab_irq+0x3c/0xac
> [c0fefd20] [c0003154] __ipipe_ret_from_except+0x0/0xc
> [c0fefde0] [c00d9400] cpm_uart_start_tx+0x38/0xa8
> [c0fefe00] [c00d4c40] __uart_start+0x64/0x74
> [c0fefe10] [c00d5c84] uart_start+0x30/0x4c
> [c0fefe30] [c00d5d9c] uart_write+0xf8/0x130
> [c0fefe60] [c00d0bac] write_chan+0x208/0x3a4
> [c0fefeb0] [c00cd530] tty_write+0x170/0x238
> [c0fefef0] [c0056128] vfs_write+0xcc/0x108
> [c0feff10] [c0056a94] sys_write+0x4c/0x90
> [c0feff40] [c0002900] ret_from_syscall+0x0/0x38

Just an idea which may lead to nowhere... :

Considering this oops, we might guess the bug occured in __ipipe_ack_irq(), in 
this function we may have called NULL function pointer (NIP == NULL).

After having a look at this function's content: 

int __ipipe_ack_irq(unsigned irq)
{
	irq_desc_t *desc = irq_desc + irq;
	desc->ipipe_ack(irq, desc);
	return 1;
}

it seems the field "ipipe_ack" of the irq descriptor was not properly filled 
at initialization time. Therefore a piece of code like the one below is 
missing in your IRQ setup function.

 	/* Init descriptors */
-	for (i = offset; i < NumSources + offset; i++)
+	for (i = offset; i < NumSources + offset; i++) {
 		irq_desc[i].chip = &open_pic;
+#ifdef CONFIG_IPIPE
+		/* We want mask_ack/unmask for all. */
+		irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
+		irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
+#endif
+	}

In order to test we are in the right way , you can make an ugly modification 
in the function ipipe_virtualize_irq() in kernel/ipipe/core.c: 

	ipd->irqs[irq].handler = handler;
	ipd->irqs[irq].cookie = cookie;
-	ipd->irqs[irq].acknowledge = acknowledge;
+	ipd->irqs[irq].acknowledge = ipipe_root_domain->irqs[irq].acknowledge;
	ipd->irqs[irq].control = modemask;

Thanks to this change, you will not go through __ipipe_ack_irq().

I hope I have not said too much rubbish...

Alexis.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-19  0:19 ` Alexis Berlemont
@ 2007-12-19 13:29   ` fabien
  2007-12-20  1:06     ` Alexis Berlemont
  0 siblings, 1 reply; 9+ messages in thread
From: fabien @ 2007-12-19 13:29 UTC (permalink / raw)
  To: Alexis Berlemont; +Cc: xenomai

hello, first thanks for your answer Alexis
I tried to add as you said
+       ipd->irqs[irq].acknowledge = ipipe_root_domain->irqs[irq].acknowledge;
in kernel/ipipe/core.c and my kernel boot now properly.

I've check in the adeos_ipipe patch that open_pic.c, ppc4xx_pic.c and
ipiq.c are patched.
My processor is an mpc8xx and it's seem that the pic driver is
arch/ppc/syslib/ppc8xx_pic.c
according to :
irq_desc[i].chip = &ppc8xx_pic;  (in arch/ppc/syslib/m8xx_setup.c)
Is this normal that the arch/ppc/syslib/ppc8xx_pic.c is not patch by
adeos ipipe ?
What changes do i need to make in this file ?

Best regards

2007/12/19, Alexis Berlemont <berlemont.hauw@domain.hid>:
> Hi,
>
> >
> >
> > Oops: kernel access of bad area, sig: 11 [#1]
> > NIP: 00000000 LR: c0005854 CTR: 00000000
> > REGS: c0fefc10 TRAP: 0400   Not tainted  (2.6.23.6)
> > MSR: 40001032 <ME,IR,DR>  CR: 24004028  XER: 00000000
> > TASK = c0f99030[12] 'sh' THREAD: c0fee000
> > GPR00: 00000000 c0fefcc0 c0f99030 00000014 c01ce410 00100000 00000000
> > 00000000 GPR08: 00000000 c01cdec0 c01cec10 c01cebc0 c0fee1f0 cfefffff
> > 00ffe000 007fff14 GPR16: 00000000 00000001 c01b0000 c01d0000 c01f0000
> > 00000002 c00d09a4 c0f4600c GPR24: 0000003d c01d7b9c 000001b0 00000000
> > 00000140 c0200a44 00000014 c0200a40 NIP [00000000] 0x0
> > LR [c0005854] __ipipe_ack_irq+0x28/0x3c
> > Call Trace:
> > [c0fefcc0] [c0200a44] 0xc0200a44 (unreliable)
> > [c0fefcd0] [c0005ba0] __ipipe_handle_irq+0x124/0x140
> > [c0fefd00] [c0005dd4] __ipipe_grab_irq+0x3c/0xac
> > [c0fefd20] [c0003154] __ipipe_ret_from_except+0x0/0xc
> > [c0fefde0] [c00d9400] cpm_uart_start_tx+0x38/0xa8
> > [c0fefe00] [c00d4c40] __uart_start+0x64/0x74
> > [c0fefe10] [c00d5c84] uart_start+0x30/0x4c
> > [c0fefe30] [c00d5d9c] uart_write+0xf8/0x130
> > [c0fefe60] [c00d0bac] write_chan+0x208/0x3a4
> > [c0fefeb0] [c00cd530] tty_write+0x170/0x238
> > [c0fefef0] [c0056128] vfs_write+0xcc/0x108
> > [c0feff10] [c0056a94] sys_write+0x4c/0x90
> > [c0feff40] [c0002900] ret_from_syscall+0x0/0x38
>
> Just an idea which may lead to nowhere... :
>
> Considering this oops, we might guess the bug occured in __ipipe_ack_irq(), in
> this function we may have called NULL function pointer (NIP == NULL).
>
> After having a look at this function's content:
>
> int __ipipe_ack_irq(unsigned irq)
> {
>         irq_desc_t *desc = irq_desc + irq;
>         desc->ipipe_ack(irq, desc);
>         return 1;
> }
>
> it seems the field "ipipe_ack" of the irq descriptor was not properly filled
> at initialization time. Therefore a piece of code like the one below is
> missing in your IRQ setup function.
>
>         /* Init descriptors */
> -       for (i = offset; i < NumSources + offset; i++)
> +       for (i = offset; i < NumSources + offset; i++) {
>                 irq_desc[i].chip = &open_pic;
> +#ifdef CONFIG_IPIPE
> +               /* We want mask_ack/unmask for all. */
> +               irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
> +               irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
> +#endif
> +       }
>
> In order to test we are in the right way , you can make an ugly modification
> in the function ipipe_virtualize_irq() in kernel/ipipe/core.c:
>
>         ipd->irqs[irq].handler = handler;
>         ipd->irqs[irq].cookie = cookie;
> -       ipd->irqs[irq].acknowledge = acknowledge;
> +       ipd->irqs[irq].acknowledge = ipipe_root_domain->irqs[irq].acknowledge;
>         ipd->irqs[irq].control = modemask;
>
> Thanks to this change, you will not go through __ipipe_ack_irq().
>
> I hope I have not said too much rubbish...
>
> Alexis.
>
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-19 13:29   ` fabien
@ 2007-12-20  1:06     ` Alexis Berlemont
  2007-12-20 13:58       ` fabien
  0 siblings, 1 reply; 9+ messages in thread
From: Alexis Berlemont @ 2007-12-20  1:06 UTC (permalink / raw)
  To: xenomai

Hi,

>
> I've check in the adeos_ipipe patch that open_pic.c, ppc4xx_pic.c and
> ipiq.c are patched.
> My processor is an mpc8xx and it's seem that the pic driver is
> arch/ppc/syslib/ppc8xx_pic.c
> according to :
> irq_desc[i].chip = &ppc8xx_pic;  (in arch/ppc/syslib/m8xx_setup.c)
> Is this normal that the arch/ppc/syslib/ppc8xx_pic.c is not patch by
> adeos ipipe ?

The patch you are using (adeos-ipipe-2.6.23-ppc-1.6-00.patch) seems to be a 
backport of the patch adeos-ipipe-2.6.23-powerpc-DENX-2.0-03.patch. The 
latter patch fully relies on the new generic IRQ layer.

Maybe, your architecture has slipped away during the backport or maybe there 
is a real reason I do not guess / understand.

> What changes do i need to make in this file ?
>

Once more just an idea: 

It seems like the interrupt controller of the ppc8xx can handle only level / 
edge interrupts; then we can consider adding the following code: 


        for (i = SIU_IRQ_OFFSET ; i < SIU_IRQ_OFFSET + NR_SIU_INTS ; i++)
+#ifdef CONFIG_IPIPE
+       {
+#endif /* !CONFIG_IPIPE */
                irq_desc[i].chip = &ppc8xx_pic;
+#ifdef CONFIG_IPIPE
+               irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
+               irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
+       }
+#endif /* !CONFIG_IPIPE */

Furthermore, the file ppc8xx_pic.c should be modified in the same way as 
open_pic.c: 

static void m8xx_mask_irq(unsigned int irq_nr)
{
        int     bit, word;
+       unsigned long flags;

        bit = irq_nr & 0x1f;
        word = irq_nr >> 5;

+       local_irq_save_hw_cond(flags);
+
        ppc_cached_irq_mask[word] &= ~(1 << (31-bit));
        out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask, 
ppc_cached_irq_mask[word]);
+
+       local_irq_restore_hw_cond(flags);
}

static void m8xx_unmask_irq(unsigned int irq_nr)
{
        int     bit, word;
+       unsigned long flags;

        bit = irq_nr & 0x1f;
        word = irq_nr >> 5;

+       local_irq_save_hw_cond(flags);
+
        ppc_cached_irq_mask[word] |= (1 << (31-bit));
        out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask, 
ppc_cached_irq_mask[word]);
+
+       local_irq_restore_hw_cond(flags);
}

static void m8xx_end_irq(unsigned int irq_nr)
{
        if (!(irq_desc[irq_nr].status & (IRQ_DISABLED|IRQ_INPROGRESS))
                        && irq_desc[irq_nr].action) {
                int bit, word;
+               unsigned long flags;

                bit = irq_nr & 0x1f;
                word = irq_nr >> 5;

+               local_irq_save_hw_cond(flags);
+

                ppc_cached_irq_mask[word] |= (1 << (31-bit));
                out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask, 
ppc_cached_irq_mask[word]);
+
+               local_irq_restore_hw_cond(flags);
        }
}


static void m8xx_mask_and_ack(unsigned int irq_nr)
{
        int     bit, word;
+       unsigned long flags;

        bit = irq_nr & 0x1f;
        word = irq_nr >> 5;
+               local_irq_save_hw_cond(flags);
+
        ppc_cached_irq_mask[word] &= ~(1 << (31-bit));
        out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask, 
ppc_cached_irq_mask[word]);
        out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_sipend, 1 << 
(31-bit));
+
+       local_irq_restore_hw_cond(flags);
}

struct hw_interrupt_type ppc8xx_pic = {
        .typename = " 8xx SIU  ",
        .enable = m8xx_unmask_irq,
        .disable = m8xx_mask_irq,
        .ack = m8xx_mask_and_ack,
        .end = m8xx_end_irq,
+#ifdef CONFIG_IPIPE
+       .mask_ack       = m8xx_mask_and_ack,
+       .mask           = m8xx_mask_irq,
+       .unmask         = m8xx_unmask_irq,
+#endif /* CONFIG_IPIPE */
};

Alexis.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-18 13:07 [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc) fabien
  2007-12-19  0:19 ` Alexis Berlemont
@ 2007-12-20  7:36 ` Wolfgang Grandegger
  2007-12-20 14:24   ` fabien
  1 sibling, 1 reply; 9+ messages in thread
From: Wolfgang Grandegger @ 2007-12-20  7:36 UTC (permalink / raw)
  To: fabien; +Cc: xenomai

Hello,

fabien wrote:
> hello,
> 
> I'm new to this list and Xenomai. I've ported a Linux 2.6 kernel on a
> custom board based on MPC855T (PQ1). I'm able to boot my kernel
> 2.6.23-6 (DENX) compiled with eldk 4.1 (uClibC) and run userspace
> applications on flash filesystem without problems (Busybox). The
> booloader is ppcboot 1.1.5. My uart is on SMC1.

The old arch/ppc tree is deprecated and the removal is scheduled for
middle of the next year. Any chance to move to "arch/powerpc"?

> The prepare kernel script patchs correcly the kernel with
> adeos-ipipe-2.6.23-ppc-1.6-00.patch. I'm based on arch=ppc :
> scripts/prepare-kernel.sh
> --linux=/opt/eldk/ppc_8xx/usr/src/linux-2.6-denx/
> --adeos=ksrc/arch/powerpc/patches/adeos-ipipe-2.6.23-ppc-1.6-00.patch
> --arch=ppc
> 
> When i try to boot with Xenomai support my kernel hangs.

Support for MPC8xx boards in Linux 2.6 is still poor and rather
experimental and you are likely the first one trying Xenomai with it. We
still do not have a MPC8xx platform for testing under 2.6.

Wolfgang.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-20  1:06     ` Alexis Berlemont
@ 2007-12-20 13:58       ` fabien
  0 siblings, 0 replies; 9+ messages in thread
From: fabien @ 2007-12-20 13:58 UTC (permalink / raw)
  To: Alexis Berlemont; +Cc: xenomai

Hi,

2007/12/20, Alexis Berlemont <berlemont.hauw@domain.hid>:
> Hi,
>
> >
> > I've check in the adeos_ipipe patch that open_pic.c, ppc4xx_pic.c and
> > ipiq.c are patched.
> > My processor is an mpc8xx and it's seem that the pic driver is
> > arch/ppc/syslib/ppc8xx_pic.c
> > according to :
> > irq_desc[i].chip = &ppc8xx_pic;  (in arch/ppc/syslib/m8xx_setup.c)
> > Is this normal that the arch/ppc/syslib/ppc8xx_pic.c is not patch by
> > adeos ipipe ?
>
> The patch you are using (adeos-ipipe-2.6.23-ppc-1.6-00.patch) seems to be a
> backport of the patch adeos-ipipe-2.6.23-powerpc-DENX-2.0-03.patch. The
> latter patch fully relies on the new generic IRQ layer.
>
> Maybe, your architecture has slipped away during the backport or maybe there
> is a real reason I do not guess / understand.
>
> > What changes do i need to make in this file ?
> >
>
> Once more just an idea:
>
> It seems like the interrupt controller of the ppc8xx can handle only level /
> edge interrupts; then we can consider adding the following code:
>
>
>         for (i = SIU_IRQ_OFFSET ; i < SIU_IRQ_OFFSET + NR_SIU_INTS ; i++)
> +#ifdef CONFIG_IPIPE
> +       {
> +#endif /* !CONFIG_IPIPE */
>                 irq_desc[i].chip = &ppc8xx_pic;
> +#ifdef CONFIG_IPIPE
> +               irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
> +               irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
> +       }
> +#endif /* !CONFIG_IPIPE */
>
> Furthermore, the file ppc8xx_pic.c should be modified in the same way as
> open_pic.c:
>
> static void m8xx_mask_irq(unsigned int irq_nr)
> {
>         int     bit, word;
> +       unsigned long flags;
>
>         bit = irq_nr & 0x1f;
>         word = irq_nr >> 5;
>
> +       local_irq_save_hw_cond(flags);
> +
>         ppc_cached_irq_mask[word] &= ~(1 << (31-bit));
>         out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask,
> ppc_cached_irq_mask[word]);
> +
> +       local_irq_restore_hw_cond(flags);
> }
>
> static void m8xx_unmask_irq(unsigned int irq_nr)
> {
>         int     bit, word;
> +       unsigned long flags;
>
>         bit = irq_nr & 0x1f;
>         word = irq_nr >> 5;
>
> +       local_irq_save_hw_cond(flags);
> +
>         ppc_cached_irq_mask[word] |= (1 << (31-bit));
>         out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask,
> ppc_cached_irq_mask[word]);
> +
> +       local_irq_restore_hw_cond(flags);
> }
>
> static void m8xx_end_irq(unsigned int irq_nr)
> {
>         if (!(irq_desc[irq_nr].status & (IRQ_DISABLED|IRQ_INPROGRESS))
>                         && irq_desc[irq_nr].action) {
>                 int bit, word;
> +               unsigned long flags;
>
>                 bit = irq_nr & 0x1f;
>                 word = irq_nr >> 5;
>
> +               local_irq_save_hw_cond(flags);
> +
>
>                 ppc_cached_irq_mask[word] |= (1 << (31-bit));
>                 out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask,
> ppc_cached_irq_mask[word]);
> +
> +               local_irq_restore_hw_cond(flags);
>         }
> }
>
>
> static void m8xx_mask_and_ack(unsigned int irq_nr)
> {
>         int     bit, word;
> +       unsigned long flags;
>
>         bit = irq_nr & 0x1f;
>         word = irq_nr >> 5;
> +               local_irq_save_hw_cond(flags);
> +
>         ppc_cached_irq_mask[word] &= ~(1 << (31-bit));
>         out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_simask,
> ppc_cached_irq_mask[word]);
>         out_be32(&((immap_t *)IMAP_ADDR)->im_siu_conf.sc_sipend, 1 <<
> (31-bit));
> +
> +       local_irq_restore_hw_cond(flags);
> }
>
> struct hw_interrupt_type ppc8xx_pic = {
>         .typename = " 8xx SIU  ",
>         .enable = m8xx_unmask_irq,
>         .disable = m8xx_mask_irq,
>         .ack = m8xx_mask_and_ack,
>         .end = m8xx_end_irq,
> +#ifdef CONFIG_IPIPE
> +       .mask_ack       = m8xx_mask_and_ack,
> +       .mask           = m8xx_mask_irq,
> +       .unmask         = m8xx_unmask_irq,
> +#endif /* CONFIG_IPIPE */
> };
>
> Alexis.
>

Thanks Alexis for the help
Ok i've done these modifications in mpc8xx_setup.c and ppc8xx_pic.c.
But it's seems the problem occurs when the kernels needs to ack an IT
on the CPM :

Freeing unused kernel memory: 88k init
Launch a shell /bin/sh


irq = 20, @desc= C020C410, @desc->ipipe_ack= 0
Chip name =  CPM
Oops: kernel access of bad area, sig: 11 [#1]
NIP: 00000000 LR: c0005890 CTR: 00000000
REGS: c0221c00 TRAP: 0400   Not tainted  (2.6.23.6)
MSR: 40001032 <ME,IR,DR>  CR: 24004024  XER: 00000000
TASK = c0feec00[13] 'sh' THREAD: c0220000
GPR00: c000587c c0221cb0 c0feec00 00000014 c020c410 00000001 00000000 ff0028e0
GPR08: fdfff830 c020cbc0 00000001 c0210000 00000001 0281af08 00ffe000 007fff14
GPR16: 00000000 00000001 c01f0000 c0210000 c0230000 00000002 c0109390 c0f4500c
GPR24: 0000003d c02167cc 00000014 00000000 c020c410 c020bec0 00000014 c0240b40
NIP [00000000] 0x0
LR [c0005890] __ipipe_ack_irq+0x64/0x7c
Call Trace:
[c0221cb0] [c000587c] __ipipe_ack_irq+0x50/0x7c (unreliable)
[c0221cd0] [c0005be0] __ipipe_handle_irq+0x124/0x140
[c0221d00] [c0005e14] __ipipe_grab_irq+0x3c/0xac
[c0221d20] [c0003154] __ipipe_ret_from_except+0x0/0xc
[c0221de0] [c0111dec] cpm_uart_start_tx+0x38/0xa8
[c0221e00] [c010d62c] __uart_start+0x64/0x74
[c0221e10] [c010e670] uart_start+0x30/0x4c
...

So in commproc.c in cpm_interrupt_init(void) I add the same :
        for ( i = CPM_IRQ_OFFSET ; i < CPM_IRQ_OFFSET + NR_CPM_INTS ; i++ ) {
                irq_desc[i].chip = &cpm_pic;
+		#ifdef CONFIG_IPIPE
+	               irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
+        	       irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
+		#endif
         }

Now the kernel is hanging (see the log below) in an inline fonction in chip.c :
static inline void mask_ack_irq(struct irq_desc *desc, int irq)
called by void fastcall __ipipe_ack_level_irq(unsigned irq, struct
irq_desc *desc) in the same file.

Freeing unused kernel memory: 88k init
Launch a shell /bin/sh

irq = 20, @desc= C020C410, @desc->ipipe_ack= C00374C0
Chip name =  CPM
Dans chip.c : mack_ack_irq : desc->chip->mask = 0
Dans chip.c : mack_ack_irq : desc->chip->ack = C012B8CC
Oops: kernel access of bad area, sig: 11 [#1]
NIP: 00000000 LR: c0037558 CTR: 00000000
REGS: c0221bf0 TRAP: 0400   Not tainted  (2.6.23.6)
MSR: 40001032 <ME,IR,DR>  CR: 24004024  XER: 00000000
TASK = c0feec00[13] 'sh' THREAD: c0220000
GPR00: c0037544 c0221ca0 c0feec00 00000014 00000001 00000001 00000000 ff0028c0
GPR08: fdfff828 00000000 00000001 c0210000 00000001 0281af08 00ffe000 007fff14
GPR16: 00000000 00000001 c01f0000 c0210000 c0230000 00000002 c0109390 c0f4500c
GPR24: 0000003d c02167cc 00000014 c00374c0 c020c410 c020bec0 00000014 c020c410
NIP [00000000] 0x0
LR [c0037558] __ipipe_ack_level_irq+0x98/0xc0
Call Trace:
[c0221ca0] [c0037544] __ipipe_ack_level_irq+0x84/0xc0 (unreliable)
[c0221cb0] [c0005890] __ipipe_ack_irq+0x64/0x7c
[c0221cd0] [c0005be0] __ipipe_handle_irq+0x124/0x140
...
desc->chip->mask  is a null pointer, so i tried to add in commproc.c
in cpm_pic struct the following :
struct hw_interrupt_type cpm_pic = {
	.typename	= " CPM      ",
	.enable		= cpm_unmask_irq,
	.disable	= cpm_mask_irq,
	.ack		= cpm_ack,
	.end		= cpm_eoi,

+       #ifdef CONFIG_IPIPE
+	.mask           = cpm_mask_irq,
+	.unmask         = cpm_unmask_irq,
+	#endif  CONFIG_IPIPE
}

Freeing unused kernel memory: 88k init
Launch a shell /bin/sh


irq = 20, @desc= C020C410, @desc->ipipe_ack= C00374C0
Chip name =  CPM
Dans chip.c : mack_ack_irq : desc->chip->mask = C012BED0
Dans chip.c : mack_ack_irq : desc->chip->ack = C012B8CC
BusyBox v1.8.1 (2007-12-10 13:06
(no more logs)

If i remove (in order to test) desc->chip->mask(irq) and just leave
desc->chip->ack (irq) it's ok i get my shell in busybox. So it's seems
behind the mask an ack, there is no unmask done...
indeed if i add desc->chip->unmask(irq); after in mask_ack_irq(...) i
get the shell.

Any ideas ?
Best regards
Fab


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-20  7:36 ` Wolfgang Grandegger
@ 2007-12-20 14:24   ` fabien
  2007-12-21 12:47     ` Wolfgang Grandegger
  0 siblings, 1 reply; 9+ messages in thread
From: fabien @ 2007-12-20 14:24 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai

2007/12/20, Wolfgang Grandegger <wg@domain.hid>:
> Hello,
>
> fabien wrote:
> > hello,
> >
> > I'm new to this list and Xenomai. I've ported a Linux 2.6 kernel on a
> > custom board based on MPC855T (PQ1). I'm able to boot my kernel
> > 2.6.23-6 (DENX) compiled with eldk 4.1 (uClibC) and run userspace
> > applications on flash filesystem without problems (Busybox). The
> > booloader is ppcboot 1.1.5. My uart is on SMC1.
>
> The old arch/ppc tree is deprecated and the removal is scheduled for
> middle of the next year. Any chance to move to "arch/powerpc"?

I know the arch is deprecated, but i began to work with this arch and
now i've no more time to move to powerpc arch. Futhermore my
bootloader is old (ppcboot 1.1.5) and there is no OF support in it :(.
I just want to do some latency tests with the psos api of Xenomai.

> > The prepare kernel script patchs correcly the kernel with
> > adeos-ipipe-2.6.23-ppc-1.6-00.patch. I'm based on arch=ppc :
> > scripts/prepare-kernel.sh
> > --linux=/opt/eldk/ppc_8xx/usr/src/linux-2.6-denx/
> > --adeos=ksrc/arch/powerpc/patches/adeos-ipipe-2.6.23-ppc-1.6-00.patch
> > --arch=ppc
> >
> > When i try to boot with Xenomai support my kernel hangs.
>
> Support for MPC8xx boards in Linux 2.6 is still poor and rather
> experimental and you are likely the first one trying Xenomai with it. We
> still do not have a MPC8xx platform for testing under 2.6.

Oh, so I think it won't be easy ... I'm not really an expert with
realtime, virtualisation ... and
my internship will finished in one month ... Aie
So I wish get a little bit support here

Best regards
Fabien


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-20 14:24   ` fabien
@ 2007-12-21 12:47     ` Wolfgang Grandegger
  2007-12-21 15:51       ` fabien
  0 siblings, 1 reply; 9+ messages in thread
From: Wolfgang Grandegger @ 2007-12-21 12:47 UTC (permalink / raw)
  To: fabien; +Cc: xenomai

[-- Attachment #1: Type: text/plain, Size: 1675 bytes --]

fabien wrote:
> 2007/12/20, Wolfgang Grandegger <wg@domain.hid>:
>> Hello,
>>
>> fabien wrote:
>>> hello,
>>>
>>> I'm new to this list and Xenomai. I've ported a Linux 2.6 kernel on a
>>> custom board based on MPC855T (PQ1). I'm able to boot my kernel
>>> 2.6.23-6 (DENX) compiled with eldk 4.1 (uClibC) and run userspace
>>> applications on flash filesystem without problems (Busybox). The
>>> booloader is ppcboot 1.1.5. My uart is on SMC1.
>> The old arch/ppc tree is deprecated and the removal is scheduled for
>> middle of the next year. Any chance to move to "arch/powerpc"?
> 
> I know the arch is deprecated, but i began to work with this arch and
> now i've no more time to move to powerpc arch. Futhermore my
> bootloader is old (ppcboot 1.1.5) and there is no OF support in it :(.
> I just want to do some latency tests with the psos api of Xenomai.
> 
>>> The prepare kernel script patchs correcly the kernel with
>>> adeos-ipipe-2.6.23-ppc-1.6-00.patch. I'm based on arch=ppc :
>>> scripts/prepare-kernel.sh
>>> --linux=/opt/eldk/ppc_8xx/usr/src/linux-2.6-denx/
>>> --adeos=ksrc/arch/powerpc/patches/adeos-ipipe-2.6.23-ppc-1.6-00.patch
>>> --arch=ppc
>>>
>>> When i try to boot with Xenomai support my kernel hangs.
>> Support for MPC8xx boards in Linux 2.6 is still poor and rather
>> experimental and you are likely the first one trying Xenomai with it. We
>> still do not have a MPC8xx platform for testing under 2.6.
> 
> Oh, so I think it won't be easy ... I'm not really an expert with
> realtime, virtualisation ... and
> my internship will finished in one month ... Aie
> So I wish get a little bit support here

Does the attached patch help?

Wolfgang.

[-- Attachment #2: ipipe-ppc-cpm-irq-fix.patch --]
[-- Type: text/x-patch, Size: 1058 bytes --]

+ diff -u linux-2.6-denx/arch/ppc/8xx_io/commproc.c.IPIPE linux-2.6-denx/arch/ppc/8xx_io/commproc.c
--- linux-2.6-denx/arch/ppc/8xx_io/commproc.c.IPIPE	2007-12-10 19:31:24.000000000 +0100
+++ linux-2.6-denx/arch/ppc/8xx_io/commproc.c	2007-12-20 21:38:29.000000000 +0100
@@ -119,6 +119,11 @@
 	.disable	= cpm_mask_irq,
 	.ack		= cpm_ack,
 	.end		= cpm_eoi,
+#ifdef CONFIG_IPIPE
+	.mask_ack	= cpm_ack,
+	.mask		= cpm_mask_irq,
+	.unmask		= cpm_unmask_irq,
+#endif
 };
 
 void
@@ -201,8 +206,13 @@
         /* install the CPM interrupt controller routines for the CPM
          * interrupt vectors
          */
-        for ( i = CPM_IRQ_OFFSET ; i < CPM_IRQ_OFFSET + NR_CPM_INTS ; i++ )
+        for ( i = CPM_IRQ_OFFSET ; i < CPM_IRQ_OFFSET + NR_CPM_INTS ; i++ ) {
                 irq_desc[i].chip = &cpm_pic;
+#ifdef CONFIG_IPIPE
+		irq_desc[i].ipipe_ack = &__ipipe_ack_level_irq;
+		irq_desc[i].ipipe_end = &__ipipe_end_level_irq;
+#endif
+	}
 
 	/* Set our interrupt handler with the core CPU.	*/
 	if (setup_irq(CPM_INTERRUPT, &cpm_interrupt_irqaction))

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc)
  2007-12-21 12:47     ` Wolfgang Grandegger
@ 2007-12-21 15:51       ` fabien
  0 siblings, 0 replies; 9+ messages in thread
From: fabien @ 2007-12-21 15:51 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai

hi,

2007/12/21, Wolfgang Grandegger <wg@domain.hid>:
> fabien wrote:
> > 2007/12/20, Wolfgang Grandegger <wg@domain.hid>:
> >> Hello,
> >>
> >> fabien wrote:
> >>> hello,
> >>>
> >>> I'm new to this list and Xenomai. I've ported a Linux 2.6 kernel on a
> >>> custom board based on MPC855T (PQ1). I'm able to boot my kernel
> >>> 2.6.23-6 (DENX) compiled with eldk 4.1 (uClibC) and run userspace
> >>> applications on flash filesystem without problems (Busybox). The
> >>> booloader is ppcboot 1.1.5. My uart is on SMC1.
> >> The old arch/ppc tree is deprecated and the removal is scheduled for
> >> middle of the next year. Any chance to move to "arch/powerpc"?
> >
> > I know the arch is deprecated, but i began to work with this arch and
> > now i've no more time to move to powerpc arch. Futhermore my
> > bootloader is old (ppcboot 1.1.5) and there is no OF support in it :(.
> > I just want to do some latency tests with the psos api of Xenomai.
> >
> >>> The prepare kernel script patchs correcly the kernel with
> >>> adeos-ipipe-2.6.23-ppc-1.6-00.patch. I'm based on arch=ppc :
> >>> scripts/prepare-kernel.sh
> >>> --linux=/opt/eldk/ppc_8xx/usr/src/linux-2.6-denx/
> >>> --adeos=ksrc/arch/powerpc/patches/adeos-ipipe-2.6.23-ppc-1.6-00.patch
> >>> --arch=ppc
> >>>
> >>> When i try to boot with Xenomai support my kernel hangs.
> >> Support for MPC8xx boards in Linux 2.6 is still poor and rather
> >> experimental and you are likely the first one trying Xenomai with it. We
> >> still do not have a MPC8xx platform for testing under 2.6.
> >
> > Oh, so I think it won't be easy ... I'm not really an expert with
> > realtime, virtualisation ... and
> > my internship will finished in one month ... Aie
> > So I wish get a little bit support here
>
> Does the attached patch help?
>
> Wolfgang.
>
>

Yes, it's seems, no hang at all !
Thanks a lot Wolfgang and Alexis for your help !
Best regards

Fabien


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-12-21 15:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-18 13:07 [Xenomai-help] Kernel hangs in initramfs with ipipe activated (arch=ppc) fabien
2007-12-19  0:19 ` Alexis Berlemont
2007-12-19 13:29   ` fabien
2007-12-20  1:06     ` Alexis Berlemont
2007-12-20 13:58       ` fabien
2007-12-20  7:36 ` Wolfgang Grandegger
2007-12-20 14:24   ` fabien
2007-12-21 12:47     ` Wolfgang Grandegger
2007-12-21 15:51       ` fabien

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.