dynamic attach of hinted devices

Warner Losh imp at bsdimp.com
Fri Feb 10 16:52:44 UTC 2012


On Feb 10, 2012, at 4:02 AM, Brooks Davis wrote:

> On Tue, Jan 31, 2012 at 09:38:57PM +0200, Aleksandr Rybalko wrote:
>> Hi FreeBSD hackers,
>> 
>> at first I want to say this: :)
>> WARNING: FOLLOWING DEVCTL PATCH MAY EASILY PANIC YOUR SYSTEM, PLEASE
>> DO NOT TRY IT ON PRODUCTION SERVERS AND TRY IT WITH FILESYSTEMS MOUNTED
>> AS READONLY :)))))
>> 
>> So I introduce two patches first one [1] used to migrate from
>> static_hints or hints in the static_kenv to dynamic hints.
>> 
>> sysctl kern.hintmode=2 will copy hints from static hints or from static
>> kenv and put it into dynamic kenv. Those will allow to manipulate hints
>> values and attach hinted devices with devctl tool.
>> 
>> Second [2] allow attach/detach devices with userland tool devctl.
>> 
>> devctl tool allow add and initialize new devices which is not able to
>> be autoenumerating, such a hinted devices.
>> 
>> Both designed to have ability update EEPROM items in runtime, since
>> some device can't work in mode when it accessible like a EEPROM chip.
>> 
>> Example:
>> # sysctl kern.hintmode=2
>> # kenv hint.mx25l.0.at="spibus0"
>> # kenv hint.mx25l.0.cs=0
>> # kenv hint.mx25l.0.chipname="at25128"
>> # devctl hinted spibus 0 mx25l 0
>> mx25l0: <M25Pxx Flash Family> at cs 0 mode 0 on spibus0
>> mx25l0: at25128, sector 64 bytes, 256 sectors
>> GEOM: new disk flash/spi0
>> 
>> Someone may found it also useful for testing device attach/detach code
>> (memory leaks, resource allocation, etc).
>> 
>> So, say me please your opinion.
> 
> I skimmed over the patch and the concept looks good to me.  I'm probably
> not the right person to review this proposal in detail, but perhaps John
> Baldwin (cc'd) could do it or suggest someone.

I've looked at it and it looks OK, but I had lots of feedback I didn't have time to write up.  I like the concept, but have lots of suggestions for improvement since I'd like to see this more generically done.

Warner


More information about the freebsd-arch mailing list