Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Feb 2012 16:56:28 +0100
From:      Monthadar Al Jaberi <monthadar@gmail.com>
To:        Aleksandr Rybalko <ray@ddteam.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: dynamic attach of hinted devices
Message-ID:  <CA%2BsBSoKh%2BsYJVLgTD21nxgHTE2pP2bFXo_MLpw4fpheLCVKeFg@mail.gmail.com>
In-Reply-To: <20120202122503.759c9e6e.ray@ddteam.net>
References:  <20120202122503.759c9e6e.ray@ddteam.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 2, 2012 at 11:25 AM, Aleksandr Rybalko <ray@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@ddteam.net>
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"



-- 
Monthadar Al Jaberi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BsBSoKh%2BsYJVLgTD21nxgHTE2pP2bFXo_MLpw4fpheLCVKeFg>