Date: Sun, 01 Nov 2009 21:08:43 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: lihong@ieee.org Cc: gonzo@freebsd.org, freebsd-mips@freebsd.org, andy@fud.org.nz Subject: Re: Add Wistron RPAA-82 board support Message-ID: <20091101.210843.-726381605.imp@bsdimp.com> In-Reply-To: <1257126338.3097.7.camel@localhost> References: <1257124725.3097.2.camel@localhost> <20091102012345.GA49898@citylink.fud.org.nz> <1257126338.3097.7.camel@localhost>
index | next in thread | previous in thread | raw e-mail
In message: <1257126338.3097.7.camel@localhost>
Eric <lihong@ieee.org> writes:
: On Mon, 2009-11-02 at 14:23 +1300, Andrew Thompson wrote:
: > On Mon, Nov 02, 2009 at 09:18:45AM +0800, Eric wrote:
: > > On Wed, 2009-10-28 at 22:52 -0700, Oleksandr Tymoshenko wrote:
: > > > There are some excessive code in the patch. e.g. GEOM will take care for
: > > > use that data offset and size are sector-size aligned/multiple. So I reworked
: > > > your patch a little bit:
: > > > http://people.freebsd.org/~gonzo/mips/mx25.diff
: > > >
: > > > Could you, please, test it and let me know if it works for you.
: > > >
: > > > Thanks!
: > >
: > > It cannot format redboot partition by newfs:
: > > uhub1: 2 ports with 2 removable, self powered
: > > redboot/fbsd-root.uzip: 6144 x 8192 blocks
: > > Trying to mount root from ufs:/dev/redboot/fbsd-root.uzip
: > > warning: no time-of-day clock registered, system time will not be set
: > > accurately
: > > start_init: trying /etc/init
: > > eval: cannot create /flash/hostid: Read-only file system
: > > /etc/rc: WARNING: could not store hostuuid in /flash/hostid.
: > > mount: /dev/ufs/config : No such file or directory
: > > Mounting /etc/fstab filesystems failed, startup aborted
: > > ERROR: ABORTING BOOT (sending SIGTERM to parent)!
: > > Oct 27 01:58:39 init: /bin/sh on /etc/rc terminated abnormally, going to
: > > single user mode
: > > Enter full pathname of shell or RETURN for /bin/sh:
: > > #
: > > #
: > > # df
: > > Filesystem 512-blocks Used Avail Capacity Mounted on
: > > /dev/redboot/fbsd-root.uzip 98078 62252 27980 69% /
: > > devfs 2 2 0 100% /dev
: > > # ls /dev/redboot
: > > FIS directory RedBoot config fbsd-kern fbsd-root.uzip vmlinux.bin.l7
: > > RedBoot fbsd-data fbsd-root rootfs
: > > # newfs -n -o space -L config -O 1 -b 4096 -f 512 /dev/redboot/fbsd-data
: > > /dev/redboot/fbsd-data: 0.6MB (1280 sectors) block size 4096, fragment
: > > size 512
: > > using 4 cylinder groups of 0.16MB, 41 blks, 96 inodes.
: > > super-block backups (for fsck -b #) at:
: > > newfs: wtfs: 20480 bytes at sector 32: Invalid argument
: >
: > The problem here is the flash sector size is 64k. Pretending the flash
: > has a 512b sector isnt the right way, you would be better off having a
: > geom class to do the transformation+caching.
: >
: >
: > Andrew
:
: So, the better way is that add a new geom class to support different
: erase and program size?
: I referred XOR flash sys/dev/cfi/cfi_disk.c at first. It set disk sector
: size to 512 even erase size is 128k.
Yea. That's not quite right... when I did the spi flash, I exported
the actual write sector size. on SPI flash, however, you don't have
to erase it: the controller will do that for you (it is less
efficient, however).
We do need to have a good geom layer that does this. We also need a
good flash file system as well...
Warner
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091101.210843.-726381605.imp>
