dynamic attach of hinted devices

Monthadar Al Jaberi monthadar at gmail.com
Sat Feb 4 16:27:01 UTC 2012


On Thu, Feb 2, 2012 at 11:25 AM, Aleksandr Rybalko <ray at ddteam.net> wrote:
> Hi FreeBSD hackers,
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> No opinions on arch@, so i will try at hackers@, since here is bigger
> audience :)
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> 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 auto-enumerating, 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

This is nice. I tried it on a generic device and it loaded with a hint
flawlessly :)

>
> Someone may found it also useful for testing device attach/detach code
> (memory leaks, resource allocation, etc).

Couldnt it also be useful for redirecting data, for example attaching
a flash memory to your own bus and then out through something else?
Or it could also help in testing and verifying interaction between
userspace and driver without having real hardware and not modifying
hint file/recompile.

>
> So, say me please your opinion.

Good work, its always a plus for development with dynamic tools!

>
> 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 at ddteam.net>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"



-- 
Monthadar Al Jaberi


More information about the freebsd-hackers mailing list