Subject: Re: Easier vendor specific sysctl
To: Pavel Cahyna <pavel.cahyna@st.ms.mff.cuni.cz>
From: Andrew Brown <atatat@atatdot.net>
List: tech-kern
Date: 11/28/2003 08:07:33
>> once i'm done, you'll be able to do this from the command line:
>> 
>>     sysctl -w //create=vender.foo,type=int,symbol=thing,flags=w 
>
>Please, what is the "symbol" field referring to?

the name of the thing being referenced.  for example, i have the
following in my sysctl.conf:

    //create=local
    //create=local.cpu_features,type=int,symbol=cpu_feature,flags=x
    //create=local.esm_debug,type=int,symbol=esm_debug,flags=w
    //create=local.audiodebug,type=int,symbol=audiodebug,flags=w
    //create=local.insecurelevel,type=int,symbol=securelevel,flags=aw

and they refer to these things:

    % nm /dev/ksyms | egrep 'A (cpu_feature|esm_debug|audiodebug|securelevel)'
    c044b9a0 A audiodebug
    c049f6cc A cpu_feature
    c0450d20 A esm_debug
    c044dbcc A securelevel

but typing in the address is (a) unwieldy and (b) not stable (ie,
likely to change if i rebuild my kernel), so what sysctl does is tell
the kernel the name of the thing i want to instrument, instead of just
telling it where it is.

-- 
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org             * "ah!  i see you have the internet
twofsonet@graffiti.com (Andrew Brown)                that goes *ping*!"
werdna@squooshy.com       * "information is power -- share the wealth."