Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 2002 12:42:48 -0800 (PST)
From:      Logan Gabriel <gersh@tabby.sonn.com>
To:        current@FreeBSD.org
Subject:   /dev/ksyms device driver.
Message-ID:  <Pine.BSF.4.21.0211201238480.50279-101000@tabby.sonn.com>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-221597265-1037824968=:50279
Content-Type: TEXT/PLAIN; charset=US-ASCII

I have designed a ksyms driver for -current, it is attached to this mail.

I would like some feedback on the specific design of this driver and also
if other people in the FreeBSD camp would find it useful, several other
systems implement some like functionality and I see no reason why we
cannot.

One of the design goals was to be able to tell what symbols were provided
by what kernel modules.  This was fairly easy to do by making each kernel
module have its own ELF symbol table, therein lies is the problem.  Some
programs (readelf) dont mind multiple symbol tables, others (nm) do.

One solution I have come up with but have not designed follows:

Create a specific /dev/ksyms/xxx entry for each kernel module that
is loaded in addition to an 'all' entry.  The 'all' entry would have some
different logic so that it only creates one symbol table based upon the
symbols from all modules.  The entries in the directory would be updated
whenever modules were loaded or unloaded.

This solution seems to be the most robust one to me but it also means that
the driver would have to rely on devfs to function correctly.

Thoughts?

--0-221597265-1037824968=:50279
Content-Type: APPLICATION/x-tar-gz; name="ksyms.tgz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.21.0211201242481.50279@tabby.sonn.com>
Content-Description: 
Content-Disposition: attachment; filename="ksyms.tgz"

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
0GSfJtmO7MM83DWtVmkXt0t8mE4BrZD8/3d/fMEhix5Zdknmk42sh+3vpDSc
xDLk687rfFaEZVaUPQeMWQmwv58hhX6BPorwXWhGFoBxmJObHTlwea/B4qrQ
gf7By/K9/qG7+1p3CUdFzz9AISp3Xbyvnt10Rd/P3mBlwb/Hy3MXX+j0v8/n
/yJB93cbYmc75FUd621Hbf9NtfmcCHnCBbX8cSI8R6FZKmSiqxUUMK3vP01S
xSuIFibtroBs73MpCG9hiEO+yQdYGNrfT6MZTNrfj6J75Lf8yJrYkz9GMa7B
nzpBmORPoPDmLH4uJJ3chDiRxhP4ZXYOhV2NZlDwuYDyYLrrHBk2UGS14CVq
ygsH+Ap2culYBziB6SmvizgfljJeRcrDOwr2f0vaiwPmU8aVLpwVu5038y6F
Kk6r4D/CgZ5TRiogO4vm5E00sEvKZ0vLIaa3Nt0tNzZ4CZO9sYluZ9aOR/bg
J73Cyd+TJRctuIL0ZoRdGKSV0OMCL/tbQOfNGfwAs8CxyRnp8kWhUhJYZLCz
09JbuDbbM8mlVdWsb8qTuNrYu9c8Sdg7helMoZgXy7zJmyrkJzhEBZRzSIJN
UaY3Fa8Tt0q0iyAZ/rEeEHBG8vptp0TygLIjAmjpPdAWfyvNjAdD4HKfQaRr
V7rZ0w4+xd5X/nfXgKVrrc92v04q3KZFd3ZPhXs2g6umu8vmSLbotpf3scgs
5O6XjXZWeKfYzl5zHZ7Llyza8zqUUy/4RZGiEH80UF7TPq9Ftq8L77yblZeR
7PuCJn/diK14Gbv1RjSNpPl1EvxYMQwI3sVFn8HxyE7MzP0Dn3nvrgP+IZjj
42cN/ErieOulRK505Rdk2ZI4NxQVXrmxRMYtdzDFYnnrQR7Mc5hVQQ9SCb7l
mK9XkeQevpbl7wx6H/7QfJJbXnScKSyvIvU9g/L8obB0gNh64DpM2cSnix2P
6zkjvpC3x95jmrNRKgxet/jdn5fccSGTgtNkF14uxIFwRc1e9pv9ioMBCMfe
8Sj96VDiIUoofDEi8EB20vx/f0r7t2wj846in31KHs9//w3t/bvk+++DY/b9
99G7+vvvP6V9gK11CqmJ7alGU1N72inPgR2r2ewkX+7NArtzB1uus7w7q3da
3epWt7rVrW51q1vd6la3utWtbnWrW93qVre61a1udatb3epWt7rVrW5/rfYf
pv6+RgBQAAA=
--0-221597265-1037824968=:50279--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0211201238480.50279-101000>