XIP on 2.6.13 broken

Konstantin Kletschke lists at ku-gbr.de
Mon Sep 5 06:15:07 EDT 2005


Hi People!

I recently ported my code running perfect on 2.6.12 to 2.6.13.
I use an Intel K3 Flash device (cfi_cmdset_0001.c).

However, the recent XIP on 2.6.13 is very unstable. It mostly freezes
when the bootup init.d processes start to read/write the / partition.
Sometimes it comes to live but for example usb-storage gets an
garbaged read (ls -la) from an mounted usb-device.
linux-wlan-ng is not able to issue one succesful ping command.
The error seemed to be either in the usb host-controller driver or in
the linux-wlan-ng package so I searched the error there for a couple
of days. 

But I found out, the system is working perfect when I disable
xip!

Well, I think I followed the change from the #ifdef mess in
include/linux/mtd/xip.h to asm/arch/mtd-xip.h correct...

Here it is:

#ifndef __ARCH_IMX_MTD_XIP_H__
#define __ARCH_IMX_MTD_XIP_H__

#include <asm/arch/imx-regs.h>

#define xip_irqpending()        ( IMX_NIPNDH || IMX_NIPNDL )

#define xip_currtime()          (IMX_TCN(IMX_TIM1_BASE))
#define xip_elapsed_since(x)    (signed)((IMX_TCN(IMX_TIM1_BASE) -(x)) * 31)

#define xip_iprefetch() asm volatile (".rep 8; nop; .endr");

#define xip_cpu_idle()  asm volatile ("mcr p14, 0, %0, c7, c0, 0" :: "r" (1))

#warning KGK 

#endif /* __ARCH_IMX_MTD_XIP_H__ */


Hm, well, where could I start to search for a significant change?

Regards, Konsti

-- 
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E  A080 1E69 3FDA EF62 FCEF




More information about the linux-mtd mailing list