Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091101.210843.-726381605.imp>