On Tue, Apr 20, 2010 at 01:01:39PM -0600, Chris Rigg wrote: > Hello, > > I have a general design question and I can't think of a better forum than > this one to ask it in. Let me know if this is not the right place to ask. > > My environment: > I have an embedded system (u-boot/Embedded Linux) running on a PPC440 and > configured as a target over a PCI bus. My host is a Linux server and I > communicate over the PCI bus to it using the I2O messaging interface the PPC > provides. I am making the entire 256MB of SDRAM on my board accessible over > the PCI bus to the host. I have no persistent storage on my board (other > than flash) that I can use to store log files that my embedded system > produces. I have Linux running on the PPC with the filesystem in ram as a > ramdisk. > > My goal: > I need a way to get the files from the ramdisk on the PPC to the host over > PCI. > > My solution: > The best idea I could come up with was to map in the PPC's ramdisk memory on > the host and then read it like I would a normal ext2 filesystem. For > example, let's say the ramdisk is 1MB in size. I would simply map in that > 1MB on the host side over the PCI bus. And then have a ext2 filesystem > reader tool that can look at the filesystem and extract the log files I > mentioned earlier. It would be like NFS but over PCI instead of ethernet. > > My problem: > If I have an in-memory filesystem on my board (the ramdisk), and I have the > entire 256MB of memory accessible to the host over the PCI bus, you'd think > I could write a tool (or find a tool) that I could point at a block of > physical memory and have it recognize it as an ext2 filesystem and read it > as such. Unfortunately, there doesn't appear to be a precedent for doing > this. Is there a better way to accomplish my goal of getting my logs off the > ramdisk on the board from the host? > > Thanks in advance. Any advice/help/suggestions are greatly appreciated. >
I've solved a relatively similar problem here. I have a mpc8349emds-based board that is a PCI target. I've written a couple of smallish drivers for U-Boot and Linux that make the board seem like an ethernet interface. This was all done through a 4KB section of the target's SDRAM exposed as a PCI BAR to the host system, plus the "doorbell registers" that the 83xx uses to generate interrupts on the PCI bus. I then attach all of the ethernet devices together on a Linux ethernet bridge (see the brctl command in your distro). Now everything is ethernet, and you can use NFS. In our case we use syslog-ng, logging to a remote server on our ethernet. We tftp our kernel and boot our board over NFS using the "ethernet" interface. So there is one alternative solution. Ira _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot