Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2012 21:38:57 +0200
From:      Aleksandr Rybalko <ray@ddteam.net>
To:        freebsd-arch@freebsd.org
Subject:   dynamic attach of hinted devices
Message-ID:  <20120131213857.86c81626.ray@ddteam.net>

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

1. http://my.ddteam.net/files/2012-01-31.to_dynamic_hints.patch
2. http://my.ddteam.net/files/2012-01-31.devctl2.patch

WBW
-- 
Aleksandr Rybalko <ray@ddteam.net>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120131213857.86c81626.ray>