problems ..to boot linux 2.4.4 on fads mpc860 please help!!!!!!!!
Hello, I had read this from the readme file CFG_IMMR: Physical address of the Internal Memory Mapped Register; DO NOT CHANGE! (11-4) [MPC8xx systems only] and found that in file /ppcboot /include/ config_FADS860T.h #define CFG_IMMR0xFF00 #define CFG_IMMR_SIZE ((uint)(64 * 1024)) and linux-kernel/include/asm-ppc/fads.h #define IMAP_ADDR ((uint)0xff00) #define IMAP_SIZE ((uint)(64 * 1024)) Are the values 0xff00 okay for fads board.. I am sure the above #defines satisfies the rule Just make sure your machine specific header file (for instance include/asm-ppc/tqm8xx.h) includes the same definition of the Board Information structure as we define in include/ppcboot.h, and make sure that your definition of IMAP_ADDR uses the same value as your PPCBoot configuration in CFG_IMMR. MY main problem is that the fadsboard is not booting up it hangs after Uncompressing Kernel Image OK I have checked the faq at the denx site ..and have done those changes also but of no use...I have attatched the config file after doing menuconfig ..if there is any errors possibly please let me know.. also after the kernel compiles i opened the vmlinux file and saw somwhere in the middle i found these warnings.. ** */usr/src/linux-2.4.4-2002-03-21/include/linux/mount.h.../usr/src/linux-2.4.4-2002-03-21/include .init=...Kernel command line: %s 2initrd overwritten (0x%08lx 0x%08lx) - disabling it. ..POSIX conformance testing by UNIFIX linuxrc./dev/console/linuxrc/initrd.3Change root to /initrd: error %d Warning: unable to open an initial console. /sbin/init../etc/init.../bin/init.../bin/sh.No init found. Try passing init= option to kernel ..kernel BUG at %s:%d! .../usr/src/linux-2.4.4-2002-03-21/include/linux/mount.h.../usr/src/linux-2.4.4-2002-03-21/includ there is a warning unable to open initial console... could u strees on that warning ..and tell me if i shoul create any /dev/console device in the kernel...before compiling.. these are the problems so hopefully expecting some hints . thankyou! bye config file # # Automatically generated make config: don't edit # # CONFIG_UID16 is not set # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y # # Platform support # CONFIG_PPC=y # CONFIG_6xx is not set # CONFIG_8240 is not set # CONFIG_4xx is not set # CONFIG_POWER3 is not set # CONFIG_POWER4 is not set CONFIG_8xx=y # CONFIG_CU824 is not set CONFIG_SERIAL_CONSOLE=y # CONFIG_AMX860 is not set # CONFIG_BSEIP is not set # CONFIG_C2MON is not set # CONFIG_CCM is not set # CONFIG_ETX094 is not set CONFIG_FADS860=y # CONFIG_FPS850L is not set # CONFIG_HERMES is not set # CONFIG_HERMES_SH is not set # CONFIG_ICU862 is not set # CONFIG_IP860 is not set # CONFIG_IVML24 is not set # CONFIG_IVMS8 is not set # CONFIG_LANTEC is not set # CONFIG_LWMON is not set # CONFIG_MBX is not set # CONFIG_PCU_E is not set # CONFIG_RPXCLASSIC is not set # CONFIG_RPXLITE is not set # CONFIG_SM850 is not set # CONFIG_SPD823TS is not set # CONFIG_TQM823L is not set # CONFIG_TQM850L is not set # CONFIG_TQM855L is not set # CONFIG_TQM860 is not set # CONFIG_TQM860L is not set # CONFIG_TQM823L is not set # CONFIG_WINCEPT is not set # CONFIG_PPC601_SYNC_FIX is not set # CONFIG_ALL_PPC is not set # CONFIG_SMP is not set CONFIG_MACH_SPECIFIC=y CONFIG_MATH_EMULATION=y # CONFIG_SASH is not set # # General setup # # CONFIG_HIGHMEM is not set # CONFIG_ISA is not set # CONFIG_EISA is not set # CONFIG_SBUS is not set # CONFIG_MCA is not set # CONFIG_PCI_QSPAN is not set # CONFIG_PCI is not set CONFIG_NET=y CONFIG_SYSCTL=y CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_KCORE_ELF=y CONFIG_BINFMT_ELF=y CONFIG_KERNEL_ELF=y CONFIG_BINFMT_MISC=y # CONFIG_HOTPLUG is not set # CONFIG_PCMCIA is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Plug and Play configuration # # CONFIG_PNP is not set # CONFIG_ISAPNP is not set # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_BLK_DEV_LVM is not set
Riscwatch Probe
On Sat, 2002-10-19 at 20:48, Aman wrote: Hi All Can we use Riscwatcg Probe from IBM to debug PPCboot code. yes and no. I could never get riscwatch software to do symbolic debugging. -- Kenneth Johansson Ericsson AB Tel: +46 8 404 71 83 Borgafjordsgatan 9Fax: +46 8 404 72 72 164 80 Stockholm kenneth.johansson at etx.ericsson.se ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Riscwatch Probe
Kenneth, Try compiling with -dwarf2. We have no problem with symbolic debugwith riscwatch here. You will also need to set you srchpath to inclulde the .o file that contain the debug info Chip Kenneth Johansson kenneth.johansson at etx.ericsson.se@lists.linuxppc.org on 10/21/2002 03:38:47 AM Sent by:owner-linuxppc-embedded at lists.linuxppc.org To:Aman aman at mistralsoftware.com cc:Linuxppc embedded linuxppc-embedded at lists.linuxppc.org Subject:Re: Riscwatch Probe On Sat, 2002-10-19 at 20:48, Aman wrote: Hi All Can we use Riscwatcg Probe from IBM to debug PPCboot code. yes and no. I could never get riscwatch software to do symbolic debugging. -- Kenneth Johansson Ericsson AB Tel: +46 8 404 71 83 Borgafjordsgatan 9Fax: +46 8 404 72 72 164 80 Stockholm kenneth.johansson at etx.ericsson.se ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
Hi Here is a patch to drop the expensive memcpy of received ethernet frames in interrupt context. I have not done any bench marking, but mounting a NFS rootfs feels faster. I am using a heavily modified enet.c in my system, but I think I got the patch correct. Also fixed a bug in set_multicast_list(), move the dmi list forward when walking it(dmi = dmi-next;) Comments? Anyone care to do some benchmarking? Jocke --- arch/ppc/8xx_io/enet.c.org Mon Oct 21 14:35:59 2002 +++ arch/ppc/8xx_io/enet.c Mon Oct 21 15:06:04 2002 @@ -96,18 +96,17 @@ * We don't need to allocate pages for the transmitter. We just use * the skbuffer directly. */ +#define CPM_ENET_RX_FRSIZE 1600 /* MUST be a multiple of cache line! */ +#if CPM_ENET_RX_FRSIZE % L1_CACHE_LINE_SIZE != 0 +#error CPM_ENET_RX_FRSIZE must be a multiple of L1 cache size +#endif + #ifdef CONFIG_ENET_BIG_BUFFERS -#define CPM_ENET_RX_PAGES 32 -#define CPM_ENET_RX_FRSIZE 2048 -#define CPM_ENET_RX_FRPPG (PAGE_SIZE / CPM_ENET_RX_FRSIZE) -#define RX_RING_SIZE (CPM_ENET_RX_FRPPG * CPM_ENET_RX_PAGES) +#define RX_RING_SIZE 64 #define TX_RING_SIZE 64 /* Must be power of two */ #define TX_RING_MOD_MASK 63 /* for this to work */ #else -#define CPM_ENET_RX_PAGES 4 -#define CPM_ENET_RX_FRSIZE 2048 -#define CPM_ENET_RX_FRPPG (PAGE_SIZE / CPM_ENET_RX_FRSIZE) -#define RX_RING_SIZE (CPM_ENET_RX_FRPPG * CPM_ENET_RX_PAGES) +#define RX_RING_SIZE 8 #define TX_RING_SIZE 8 /* Must be power of two */ #define TX_RING_MOD_MASK 7 /* for this to work */ #endif @@ -143,7 +142,7 @@ /* Virtual addresses for the receive buffers because we can't * do a __va() on them anymore. */ - unsigned char *rx_vaddr[RX_RING_SIZE]; + void*rx_vaddr[RX_RING_SIZE]; struct net_device_stats stats; uinttx_full; spinlock_t lock; @@ -449,6 +448,7 @@ struct scc_enet_private *cep; volatile cbd_t *bdp; struct sk_buff *skb; + struct sk_buff *skb_tmp; ushort pkt_len; cep = (struct scc_enet_private *)dev-priv; @@ -497,25 +497,26 @@ pkt_len = bdp-cbd_datlen; cep-stats.rx_bytes += pkt_len; - /* This does 16 byte alignment, much more than we need. + /* This does 16 byte alignment, exactly what we need. * The packet length includes FCS, but we don't want to * include that when passing upstream as it messes up * bridging applications. */ - skb = dev_alloc_skb(pkt_len-4); - - if (skb == NULL) { + skb_tmp = dev_alloc_skb(CPM_ENET_RX_FRSIZE); + if (skb_tmp == NULL) { printk(%s: Memory squeeze, dropping packet.\n, dev-name); cep-stats.rx_dropped++; - } - else { + } else { + skb = cep-rx_vaddr[bdp - cep-rx_bd_base]; skb-dev = dev; skb_put(skb,pkt_len-4); /* Make room */ - eth_copy_and_sum(skb, - cep-rx_vaddr[bdp - cep-rx_bd_base], - pkt_len-4, 0); skb-protocol=eth_type_trans(skb,dev); netif_rx(skb); + + invalidate_dcache_range((unsigned long) skb_tmp-data, + (unsigned long) skb_tmp-data + CPM_ENET_RX_FRSIZE); + bdp-cbd_bufaddr = __pa(skb_tmp-data); + cep-rx_vaddr[bdp - cep-rx_bd_base] = skb_tmp; } } @@ -631,6 +632,7 @@ /* this delay is necessary here -- Cort */ udelay(10); while (cpmp-cp_cpcr CPM_CR_FLG); + dmi = dmi-next; } } } @@ -647,8 +649,7 @@ struct net_device *dev; struct scc_enet_private *cep; int i, j, k; - unsigned char *eap, *ba; - dma_addr_t mem_addr; + unsigned char *eap; bd_t*bd; volatilecbd_t *bdp; volatilecpm8xx_t*cp; @@ -839,22 +840,15 @@ bdp = cep-rx_bd_base; k = 0; - for (i=0; iCPM_ENET_RX_PAGES; i++) { - - /* Allocate a page. - */ - ba = (unsigned char *)consistent_alloc(GFP_KERNEL, PAGE_SIZE, mem_addr); - - /* Initialize the BD for every fragment in the page. - */ - for (j=0; jCPM_ENET_RX_FRPPG; j++) { - bdp-cbd_sc = BD_ENET_RX_EMPTY | BD_ENET_RX_INTR; - bdp-cbd_bufaddr =
mpc8xx - power save modes - PIT
Patrick Mahoney wrote: Hi Conn, I apologize for sticking to the topic... Getting to doze low mode is very important to our project... You say you got the ppc version of the 2.4.19 kernel from ftp.kernel.org... This can't be, since the latest available ppc patch is for the 2.4.18 kernel... So what kernel version/provider did you use your patch on? Once again, thanks a lot... Pat Mahoney I have played with some of the power saving modes on our custom 850 board and have had no problems. I have toyed with the Doze High and Doze Low modes in the idle loop. Attached is a hacked up idle loop for kernel 2.4.19 that works for me. [...] I forgot to mention my kernel source tree was directly from kernel.org I got my kernel from ftp.kernel.org . I belive the patches to 2.4.18 were submitted and included into 2.4.19 from ftp.kernel.org . I don't think there has been an official patch released for 2.4.19 as of yet. good luck, Conn -- * If you live at home long enough, your parents will move out. (Warning they may try to sell their house out from under you.) * Conn Clark Engineering Stooge clark at esteem.com Electronic Systems Technology Inc. www.esteem.com ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
bash 2.05 not running on MPC8250 processor
Hi We are having two custom boards. On one board we are using 8260 processor. On this board I am able to run the timesys kernel. I am able to run all the applications on this board. On the second board we are having 8250 processor. On this board the kernel boots up and the init process tries to run bash but, bash crashes. I am getting a floating point exception. I downloaded the bash code and I compiled and linked statically and made sure that there are no floating point instructions. Even the new compiled doesnt run on the 8250 board. Is anyone successfully able to run bash on the 8250 board?. Thanks in advance. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/