Subject: Re: MTD devices in NetBSD
To: Simon Burge <simonb@wasabisystems.com>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: tech-kern
Date: 03/22/2006 16:17:19
Simon Burge wrote:
> "Garrett D'Amore" wrote:
>   
>> Simon Burge wrote:
>>     
>>> "Garrett D'Amore" wrote:
>>>
>>>       
>>>> Now, here's what I'm thinking:
>>>>
>>>>    1. Start with a definition of what ops an MTD must export, probably
>>>>       following Linux in this regard
>>>>    2. Implement MI NOR flash driver using "CFI" (Common Flash Interface,
>>>>       found on many NOR ports)
>>>>    3. Implement bus-specific stuff for one or more platforms.
>>>>    4. Implement MTD stuff as an "mtdbus" for lack of a better abstraction
>>>>    5. Implement "mtd" (block/char compat) driver on top of mtdbus
>>>>    6. Eventually, look at a rewrite of JFFS2 or YAFFS.
>>>>     
>>>>         
>>> I think having an mtdbus in between the cfi driver and the final block
>>> driver is just adding a level of indirection that isn't really needed in
>>> this case.
>>>       
>> Okay, but I think the point is that you might not want to have code for
>> a block device hanging around, particularly if you're going to use
>> something like JFFS2 that can access the "mtdbus" directly.
>>     
>
> A filesystem wouldn't directly attach to a bus - the filesystem will
> want a block device to talk to.  You then do your reads and writes and
> sector erase ioctls, etc to the block device.  To me, it's like the
> difference between "root on atabus0" vs "root on wd0".
>   

Ah.  See this is where we get hung up.  The idea is that historically
filesystems have needed to sit on top of a block device.  I'm not sure
this is the best abstraction for flash devices.

    -- Garrett
> Cheers,
> Simon.
> --
> Simon Burge                            <simonb@wasabisystems.com>
> NetBSD Support and Service:         http://www.wasabisystems.com/
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191