PPC 405 port complains about 'tlbwe' opcode
In message <348359E2-E78F-11D6-A3F7-003065BFB10E at motorola.com> you wrote: > > You need to pass down to the assembler an option to enable 403/405 > instructions. Add a -Wa,-m405 to the gcc line. Actually the cross compiler should automatically set the necessary options for the target, or you might run into problems because of missing or inconsistent options for your compiles (kernel, libraries, applications) - "-msoft-float" is another candidate for such an option. > > Please suggest. If you can share a PPC-405 port for > > linux or any other embedded free OS, please let me > > know. for 4xx systems the linuxppc_2_4_devel tree is recommended; either fetch it from the BK server, or form our CVS server. We also have a working set of cross and native tools available for free download (ELDK - soon available in version 2.0). Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de Microsoft Multimedia: You have nice graphics, sound and animations when the system crashes. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
patch for arch/ppc/8xx_io/fec.c
Against bk:linuxppc_2_4 Use retry counter (RC) to detect collisions instead of Defer (DEF). >From Table 6-29: (MPC860T (Rev. D) Fast Ethernet Controller 0.8) 6 DEF Defer indication, written by FEC (valid if L = 1). Set when the FEC had to defer while trying to transmit a frame. This bit is not set if a collision occurs during transmission. 10-13 RC Retry count, written by FEC (valid if L = 1). Counts retries needed to successfully send this frame. If RC = 0, the frame was sent correctly the first time. If RC = 15, the frame was sent successfully while the retry count was at its maximum value. If RL = 1, RC has no meaning. /Thomas -- next part -- --- fec.c 2002-10-15 14:58:00.0 +0200 +++ fec_cfix.c 2002-10-24 20:59:20.0 +0200 @@ -502,11 +502,12 @@ if (bdp->cbd_sc & BD_ENET_TX_READY) printk("HEY! Enet xmit interrupt and TX_READY.\n"); #endif - /* Deferred means some collisions occurred during transmit, -* but we eventually sent the packet OK. -*/ - if (bdp->cbd_sc & BD_ENET_TX_DEF) - fep->stats.collisions++; + /* Check retry counter, i.e. collision counter */ + /* Only valid if LAST is set, but it should always be. */ + if (bdp->cbd_sc & BD_ENET_TX_RCMASK){ + /* Note that counter cannot go higher than 15 */ + fep->stats.collisions+=(bdp->cbd_sc & BD_ENET_TX_RCMASK)>>2; + } /* Free the sk buffer associated with this last transmit. */
8xx i2c refers to unspecified chip errata
> > > > Here is a patch against the PPC 2.4 devel tree for the i2c-algo-8xx.c > > Can you please split this into logical chunks, or give me a list of each > fix in here? Thanks. ohh, kind of hard to remember all that went into that patch. The path has evoled over many days, but I can try summarize. I have tested this code pretty well it does not fail for me. Speed has been between 10-150KHz. The old code fails as soon you start to stress it a little. - replace invalidate_dcache_range with flush_dcache_range, since buffers are NOT cache aligned. flush will write to memory AND invalidate the cache. - move the chip errata stuff from irq routine into read/write routines. Made it default off since it causes lock ups on my I2C device. I think it causes a too short STOP condition. If enabled I2C will behave better than before, but may still cause problems if the read/write is interrupted with a signal while microcode is enabled. - set default speed to 60 KHz instead. - missing/faulty initialization of parameter ram when I2C micro patch is active. - replaced assingments with mask operations with relevant bits. Example: /* Shut down IIC. */ i2c->i2c_i2mod = 0; i2c->i2c_i2mod &= ~1; - When reading from I2C device, let the receive BD generate interrupt instead of the dummy trasmit. This is important since the TX interrupt will be too early sometimes, before the RX BD has closed. There is one case where the RX irq is before the TX irq, if iic_mrblr is set to match the number of bytes to read. Therefore must the iic_mrblr be one byte larger than the expected number of bytes. - busy wait for small transfers since it's faster. - save_flags(flags); cli(); cleanups - interruptible_sleep_on_timeout() instead of interruptible_sleep_on() so it won't hang forever if an irq is lost. Jocke ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
very minor 405GP and 405GPr PCI difference
David, Let me expain On the 405gp, the PMM0 enable is hardwired 1 and cannot be overwritten by software. This makes the PMM0 region permantly enabled on the 405GP. I cannot be turned off. When the technology port was done, the design of the PCI was changed slightly because the designer made the PMM0 enable bit writable. It is still initalized to a 1, but it can written to a 0. In the current software, the initialization software writes a 0 to PMM0 and to PMM1. This was fine on the 405gp because the enable bit for PMM0 could not be changed. On the 405GPr this disabled PMM0 and with PMM1 disabled, bad things happened. The initialization software simply need to write a 1 to the PMM0 enable bit and all will be well. Chip David Gibson wrote: > On Tue, Oct 22, 2002 at 02:55:47PM -0700, Todd Poynor wrote: > >>David Gibson wrote (regarding Rainier PMM1 bios_fixup in MVL): >> >> >>>Well, it may be in a different place, but it looks like it has the >>>same problem. It is still establishing a PCI window at PLB address >>>0x8000, which is the same address used for the PMM0 window - or is >>>that also different in the MV kernel? >>> >>>I'd be trying to work out what that mapping's actually for, first. I >>>still can't see how it can possibly work - if there are overlapping >>>PMM windows, what actually happens to accesses in that (PLB) range? >> >>Yes, it looks like MVL only sets up the one window using PMM1... we've >>started an effort to have the Rainier-knowedgeable folks get the code >>sync'ed up with the community and this should happen soon. > > > Hang on, so just to clarify - MVL sets up PMM1 with the code you > posted, but doesn't set up PMM0 anywhere? From my reading of that > code, it sets up a window at the same address as the "standard" > (Walnut) mapping, except that it is only 128kB instead of 1GB. Is > there a reason that Rainier must have such a small window? > > -- > David Gibson | For every complex problem there is a > david at gibson.dropbear.id.au| solution which is simple, neat and > | wrong. > http://www.ozlabs.org/people/dgibson > > > > . > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
PrPMC800 interrupt problem
When trying to use the linuxppc_2_4_devel on a PrPMC800, the system stops responding to external interrupts after the first serial interrupt. Many things works, since the system correctly gets its IP address via DHCP. The system handles a little more than 100 interrupts that gets routed to 'e100intr', then it starts up my shell that does a write to the console. This write triggers an interrupt that gets routed to 'rs_interrupt_single' . After this no more interrupts are received, but 'rs_interrupt_single' is called from the timer task in the serial driver, but the ethernet is totally dead. Anybody that has a good idea what to do about this? Regards Anders Blomdell ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c, version 2
> > > On Thu, Oct 24, 2002 at 04:23:31PM +0200, Joakim Tjernlund wrote: > > > This is the second version of my patch that removes the expensive memcpy of > > received > > ethernet frames in interrupt context. > > > > I have 1 report(from Ricardo Scop) of 20% increase in packets/second, packet > > size 1500 when > > applied to 8260 FEC(needs to be applied manually). But min packet size > > decreased with 10 %. > > This version should fix the 10% decrease case. > > > > This patch could be adapted 8xx_io/fec.c and 8260_io/enet.c and > > 8260/fcc_enet.c with little effort. > > > > Better fix a bug in set_multicast_list(), move the dmi list forward when > > walking it(dmi = dmi->next;) > > > > New stuff: > >- Configrable: copy small packets or pass them directly, see > > COPY_SMALL_FRAMES in code. > >- Collision reporting fix form Thomas Lange. > >- Don't pass receive frames which has error upwards. > >- Report RX_OV errors as fifo errors, not crc errors. > > > > Please test and report any problems and performace improvements. > > All of this sounds good, but can you please break this one patch up into > seperate logical patches? I rather not. The logical pices in this patch are: 1) remove the expensive memcpy. - This is the main part of the patch. 2) dmi->next fix, which is a one liner. Don't pass receive frames which has error upwards. - Trival stuff. 3) Collision reporting fix form Thomas Lange. Report RX_OV errors as fifo errors, not crc errors. - These are just minor accounting fixes. So I don't think it's worth the effort. Let's just wait a few days and see if it was success or not. Folks, please report you findings to the list. Jocke ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c, version 2
Hi This is the second version of my patch that removes the expensive memcpy of received ethernet frames in interrupt context. I have 1 report(from Ricardo Scop) of 20% increase in packets/second, packet size 1500 when applied to 8260 FEC(needs to be applied manually). But min packet size decreased with 10 %. This version should fix the 10% decrease case. This patch could be adapted 8xx_io/fec.c and 8260_io/enet.c and 8260/fcc_enet.c with little effort. Better fix a bug in set_multicast_list(), move the dmi list forward when walking it(dmi = dmi->next;) New stuff: - Configrable: copy small packets or pass them directly, see COPY_SMALL_FRAMES in code. - Collision reporting fix form Thomas Lange. - Don't pass receive frames which has error upwards. - Report RX_OV errors as fifo errors, not crc errors. Please test and report any problems and performace improvements. Jocke --- arch/ppc/8xx_io/enet.c.org Mon Oct 21 14:35:59 2002 +++ arch/ppc/8xx_io/enet.c Thu Oct 24 15:48:25 2002 @@ -34,7 +34,6 @@ #include #include #include -#include #include #include #include @@ -86,6 +85,14 @@ * All functions are directly controlled using I/O pins. See . */ +/* Define COPY_SMALL_FRAMES if you want to save buffer memory for small packets + * at a small performance hit. Note performance testing needed */ +#define COPY_SMALL_FRAMES 1 + +#ifdef COPY_SMALL_FRAMES + #define RX_COPYBREAK (256-16) /* dev_alloc_skb() adds 16 bytes for internal use */ +#endif + /* The transmitter timeout */ #define TX_TIMEOUT (2*HZ) @@ -97,19 +104,17 @@ * the skbuffer directly. */ #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 TX_RING_SIZE 64 /* Must be power of two */ -#define TX_RING_MOD_MASK 63 /* for this to work */ + #define RX_RING_SIZE 64 + #define TX_RING_SIZE 64 /* Must be power of two 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 TX_RING_SIZE 8 /* Must be power of two */ -#define TX_RING_MOD_MASK 7 /* for this to work */ + #define RX_RING_SIZE 8 + #define TX_RING_SIZE 8 /* Must be power of two for this to work */ +#endif +#define TX_RING_MOD_MASK (TX_RING_SIZE-1) + +#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 /* The CPM stores dest/src/type, data, and checksum for receive packets. @@ -143,7 +148,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; @@ -370,11 +375,11 @@ cep->stats.tx_packets++; - /* Deferred means some collisions occurred during transmit, -* but we eventually sent the packet OK. -*/ - if (bdp->cbd_sc & BD_ENET_TX_DEF) - cep->stats.collisions++; + /* Check retry counter, i.e. collision counter */ + if (bdp->cbd_sc & BD_ENET_TX_RCMASK){ + /* Note that counter cannot go higher than 15 */ + cep->stats.collisions+=(bdp->cbd_sc & BD_ENET_TX_RCMASK)>>2; + } /* Free the sk buffer associated with this last transmit. */ @@ -449,6 +454,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; @@ -461,7 +467,8 @@ for (;;) { if (bdp->cbd_sc & BD_ENET_RX_EMPTY) break; - + +#define RX_BD_ERRORS (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO | BD_ENET_RX_CR | BD_ENET_RX_OV | BD_ENET_RX_CL) #ifndef final_version /* Since we have allocated space to hold a complete frame, both * the first and last indicators should be set. @@ -470,51 +477,62 @@ (BD_ENET_RX_FIRST | BD_ENET_RX_LAST)) printk("CPM ENET: rcv is not first+last\n"); #endif - - /* Frame too long or too short. - */ - if (bdp->cbd_sc & (BD_ENET_RX_LG | BD_ENET_RX_SH)) - cep->stats.rx_length_errors++; - if (bdp->cbd_sc & BD_ENET_RX_NO)/* Frame alignment */ - cep->stats.rx_frame_errors++; - if (bdp
PPC 405 port complains about 'tlbwe' opcode
You need to pass down to the assembler an option to enable 403/405 instructions. Add a -Wa,-m405 to the gcc line. - kumar On Thursday, October 24, 2002, at 03:18 PM, Prakash kanthi wrote: > > Hi There, > > I am in the process of porting linux-2.4.18 with > ppc-patch-2.4.18 to make a 405 linux os. For 'make > bzImage' it complains about 'tlbwe' being Unrecognied > opcode from head_4xx.S. > > --- > powerpc-eabi-gcc -D__ASSEMBLY__ -D__KERNEL__ > -I/root/ppctest/linux/include -c -o head_4xx.o > head_4xx.S > head_4xx.S: Assember messages: > head_4xx.S:111: Error: Unrecognized opcode: `tlbwe` > head_4xx.S:112: Error: Unrecognized opcode: `tlbwe` > make[1]: *** [head_4xx.o] Error 1 > --- > > I saw couple of postings saying that 'tlbwe' is not a > 405 opcode. But it is defined by PPC-405 manual. I am > not sure what WS value should be, if i have to add > 'tlbwe' to supported opcodes. > > Please suggest. If you can share a PPC-405 port for > linux or any other embedded free OS, please let me > know. > > thanks in advance, > Prakash > > ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
PPC 405 port complains about 'tlbwe' opcode
Hi There, I am in the process of porting linux-2.4.18 with ppc-patch-2.4.18 to make a 405 linux os. For 'make bzImage' it complains about 'tlbwe' being Unrecognied opcode from head_4xx.S. --- powerpc-eabi-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/root/ppctest/linux/include -c -o head_4xx.o head_4xx.S head_4xx.S: Assember messages: head_4xx.S:111: Error: Unrecognized opcode: `tlbwe` head_4xx.S:112: Error: Unrecognized opcode: `tlbwe` make[1]: *** [head_4xx.o] Error 1 --- I saw couple of postings saying that 'tlbwe' is not a 405 opcode. But it is defined by PPC-405 manual. I am not sure what WS value should be, if i have to add 'tlbwe' to supported opcodes. Please suggest. If you can share a PPC-405 port for linux or any other embedded free OS, please let me know. thanks in advance, Prakash ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
> > Ricardo Scop wrote: > > > > On Wednesday 23 October 2002 05:51, Joakim Tjernlund wrote: > > > On Monday 21 October 2002 15:13, Joakim Tjernlund wrote: > > > > 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? > > > > > > No comments so far, no one interested in this? > > I'm interested! Indeed, I adapted and tested your patch in a 8260 FCC fast > > ethernet driver and it worked fine I had a 20% increase in routing > > throughput with the patch installed! > > ... > > Did I understand that correctly that this patch would work with mith MPC8xx > FEC > as well!?!? Yes, but you have to adapt it a little. Jocke ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
Ricardo Scop wrote: > > On Wednesday 23 October 2002 05:51, Joakim Tjernlund wrote: > > On Monday 21 October 2002 15:13, Joakim Tjernlund wrote: > > > 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? > > > > No comments so far, no one interested in this? > I'm interested! Indeed, I adapted and tested your patch in a 8260 FCC fast > ethernet driver and it worked fine I had a 20% increase in routing > throughput with the patch installed! > ... Did I understand that correctly that this patch would work with mith MPC8xx FEC as well!?!? Cheers, Steven ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
PrPMC800 interrupt problem
On Thu, Oct 24, 2002 at 07:01:19PM +0200, Anders Blomdell wrote: > > When trying to use the linuxppc_2_4_devel on a PrPMC800, the system stops > responding to external interrupts after the first serial interrupt. Many > things works, since the system correctly gets its IP address via DHCP. > > The system handles a little more than 100 interrupts that gets routed to > 'e100intr', then it starts up my shell that does a write to the console. > This write triggers an interrupt that gets routed to 'rs_interrupt_single' > . After this no more interrupts are received, but 'rs_interrupt_single' is > called from the timer task in the serial driver, but the ethernet is > totally dead. Anybody that has a good idea what to do about this? Did you update the prpmc800_openpic_initsenses[] table and related? (Look at how the lopec or sandpoint work now). -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
> > > > > > Comments? Anyone care to do some benchmarking? > > > > No comments so far, no one interested in this? > I'm interested! Indeed, I adapted and tested your patch in a 8260 FCC fast > ethernet driver and it worked fine I had a 20% increase in routing > throughput with the patch installed! Cool! > > The bug fix in set_multicast_list worked too. But, since there's a continue > clause inside the for command in this routine, I would suggest that the > (dmi=dmi->next) command go inside the for increment clause, instead of the > place you've put it; that is: > for (...;...; i++, dmi = dmi->next) {...} Yes thats better, thanks. > > > > A question, why do enet.c pass bad frames to netif_rx? Only late collisions > > are disregarded, the rest is passed on. > IMHO, this is another bug... me too. Jocke ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
8xx i2c refers to unspecified chip errata
On Tue, Oct 22, 2002 at 11:15:38AM +0200, Joakim Tjernlund wrote: > > > On Fri, Oct 11, 2002 at 11:12:02AM +0200, Joakim Tjernlund wrote: > > > > > OK, here it is. > > > > > > Perhaps someone can add it to the ppctree? > > > > If you can submit this as a patch vs what's in the i2c CVS tree or the > > ppctree, than yes, this can be committed there, and to the ppctrees. > > Here is a patch against the PPC 2.4 devel tree for the i2c-algo-8xx.c Can you please split this into logical chunks, or give me a list of each fix in here? Thanks. -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Fw: fads mpc860 linux2.4.4 boot problem.
- Original Message - From: "zhongqx" <[EMAIL PROTECTED]> To: "rekha gvv" Sent: Thursday, October 24, 2002 8:30 AM Subject: Re: fads mpc860 linux2.4.4 boot problem. > > - Original Message - > From: "rekha gvv" > To: > Sent: Wednesday, October 23, 2002 7:10 PM > Subject: fads mpc860 linux2.4.4 boot problem. > > > > Hello, > > i am facing problems to boot linux..so please try to > > help me..i got u'r id from the mailing list.In one of > > the mail u have mentioned that when -> > > > > My FADS boards work well without FEC cofigure.But when > > I make menuconfig ,and select 860T FEC,it has nothing > > from > > console like the following: > > =>bootm 40 > > ## Booting image at 0040 ... > > Image Name: 2.4.18 > > Image Type: PowerPC Linux Kernel Image (gzip > > compressed) > > Data Size: 521671 Bytes = 509 kB = 0 MB > > Load Address: > > Entry Point: > > Verifying Checksum ... OK > > Uncompressing Kernel Image ... OK > > IS THIS PROBLEM DUE TO MISMATCH IN ETHERNET > > CONFIGURATION.LATER U HAVE ALSO MENTIONED THAT IF U > > DISABLE 860T FEC IT WORKS FINE.. > > PLEASE CAN U TELL ME THE ETHERNET CONFIGURATION > > WHETHER TO USE SCC1 ..ALSO I AM CONFUSED THAT U HAVE > > NOT SET SMC1 OR SMC2 FOR SERIAL CONSOLE > > when u not define SMC2 for console ,uart.c will think console is SMC1 you > should read > /arch/ppc/uart.c > > > THEN HOW DID > > LINUX BOOT UP ? > > # MPC8xx CPM Options > > # > > CONFIG_SCC_ENET=y > > CONFIG_SCC1_ENET=y > > # CONFIG_SCC2_ENET is not set > > # CONFIG_SCC3_ENET is not set > > CONFIG_FEC_ENET=y ---HERE YOU HAVE SET 860T FEC > > # CONFIG_USE_MDIO is not set > > CONFIG_ENET_BIG_BUFFERS=y > > # CONFIG_SMC2_UART is not set > > CONFIG_USE_SCC_IO=y -WHAT IS THIS FOR??? > > # CONFIG_8xx_COPYBACK is not set > > # CONFIG_8xx_CPU6 is not set > > # CONFIG_UCODE_PATCH is not set > > > > I FOUND THESE LINES ...IN U'R CONFIG FILE > > CONFIG_CMDLINE_BOOL=y > > CONFIG_CMDLINE="console=ttyS0,115200" > > > > PLEASE TELL ME WHETHER U HAD ADDED THESE LINES OR IT > > WAS GENERATED BY THE CONFIG FILE ..AS I DONT FIND > > THESE LINES IN MY CONFIG FILE.DOES THOSE LINES HAVE A > > ROLE DURING BOOT UP OF LINUX.I AM USING PPCBOOT 1.1.6 > > AND LINUX VERSION 2.4.4 .DOWNLOADED FROM DENX SITE. > > WE HAVE BURNT PPCBOOT IN 280 IN FLASH. > > THESE ARE THE ARGUMENTS SET BEFORE DOWNLOADIN THE > > KERNEL > > =>printenv > > bootcmd=bootm 2800100 > this perhaps not right, > 2800100 is ppcboot in flash can not use bootm command because when use bootm > command > ppcboot have already run. > > should like this bootm 0288 0290 > which 0288 is linux kernel and 0290 is ramdisk image > > > baudrate=9600 > > loads_echo=1 > > clocks_in_mhz=1 > > ethaddr=00:fa:ds:mp:86:00 > > this is wrong, mp is what? > I use 00:d0:93:00:12:34 should be hex format > > > > filesize=9f5c8 > > netmask=255.255.255.0 > > ipaddr=192.168.1.71 > > bootargs= > You should have this var to boot frome NFS or Ramdisk > setenv bootargs root=/dev/ram or root=/dev/nfs > > > serverip=192.168.1.175 > > stdin=serial > > stdout=serial > > stderr=serial > > > > then i do a > > =>tftpboot 10 pImage > > =>bootm > bootm will call bootcmd command which you define it bootm 2800100, > it cant boot from 10 , > this process should be like this: > tftp 40 linux-2.4.4.ppcboot > tftp 50 ramdisk.image.ppcboot > bootm 40 50 > > you should use vmlinux.gz in /arch/ppcboot/coffboot when you make zImage, > then you use mkimage like this > mkimage -n "2.4.4 kernel" -A ppc -O linux -T kernel -C gzip -a 0 -e 0 -d > vmlinux.gz /tftpboot/linux-2.4.4.ppcboot > to create linux-2.4.4.ppcboot > mkimage -n "ramdisk" -A ppc -O linux -T ramdisk -C gzip -a 0 -e 0 -d > ramdisk.image.gz /tftpboot/ramdisk.image.ppcboot > > good luck! > > > > > > it finally hangs at "uncompressing kernel image ..Ok" > > THE pImage IS PPCBOOT COMPATIBLE IMAGE CREATED USING > > MKIMAGE ID THIS FILE FORMAT RIGHT OR WHAT IMAGE > > SHOULD I DOWNLOAD ..IS IT SREC OR BIN FILE ?? > > PLEASE TELL ME IF THE PROCEDURE I FOLLOWED IS RIGHT > > AND ANY PARAMETERS TO BE CHANGED IN PPCBOOT BEFORE > > DOWNLOADING THE KERNEL..i HAVE ATTATCHED MY > > /include/asm-ppc/fads.h file ..please tell me if any > > alterations to be made there.. > > Hoping to get some hints > > thankyou!!! > > > > > > > > > > > > > > > > > > > > > > > # > > # Automatically generated by make menuconfig: 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 >
[PATCH] arch/ppc/8xx_io/enet.c, version 2
On Thu, Oct 24, 2002 at 04:23:31PM +0200, Joakim Tjernlund wrote: > This is the second version of my patch that removes the expensive memcpy of > received > ethernet frames in interrupt context. > > I have 1 report(from Ricardo Scop) of 20% increase in packets/second, packet > size 1500 when > applied to 8260 FEC(needs to be applied manually). But min packet size > decreased with 10 %. > This version should fix the 10% decrease case. > > This patch could be adapted 8xx_io/fec.c and 8260_io/enet.c and > 8260/fcc_enet.c with little effort. > > Better fix a bug in set_multicast_list(), move the dmi list forward when > walking it(dmi = dmi->next;) > > New stuff: >- Configrable: copy small packets or pass them directly, see > COPY_SMALL_FRAMES in code. >- Collision reporting fix form Thomas Lange. >- Don't pass receive frames which has error upwards. >- Report RX_OV errors as fifo errors, not crc errors. > > Please test and report any problems and performace improvements. All of this sounds good, but can you please break this one patch up into seperate logical patches? -- Tom Rini (TR1265) http://gate.crashing.org/~trini/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
linux booted on fads!!!!
hello all, Am happy to tell that linux booted up the problem was that the at the time of low level initialization the devices rs232,ethernet,irdn has to be enabled using the BCSR1 register ..simple right ;) but...kernel is hanging at this point ,, vfs:unable to mount /dev/ram0 rebooting in 180 seconds .. to solve this problem i downloaded the ramdisk image from the denx site ftp://ftp.denx.de/pub/LinuxPPC/usr/src/simple-ramdisk.image.gz. I put this image in /arc/ppc/mbxboot i did a mkimage -n "linuxppc" -A ppc -O linux \ -T ramdisk -C gzip -a 0 -e 0 -d simple-ramdisk.image.gz. /tftpboot/ramimg then tftpboot 10 linuximg tftpboot 20 ramimg bootm 10 20 it hangs after verifying checksum ok Loading Ramdisk to 0035b000, end 0075b000...ok then no output :( how do i go abt this problem any hints ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/