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>