getenv_string broken?

Nate Lawson nate at root.org
Wed Jan 28 10:47:02 PST 2004


On Wed, 28 Jan 2004, John Baldwin wrote:
> On Wednesday 28 January 2004 01:28 am, Nate Lawson wrote:
> > On Tue, 27 Jan 2004, John Baldwin wrote:
> > > On Tuesday 27 January 2004 12:42 am, Nate Lawson wrote:
> > > > I have a getenv_string() that is never being evaluated.  I declared it
> > > > as follows:
> > > >
> > > > static char acpi_os_name[128];
> > > > TUNABLE_STR("hw.acpi.os_name", acpi_os_name, sizeof(acpi_os_name));
> > > >
> > > > The contents of acpi_os_name are never filled in from the variable I
> > > > declared in /boot/loader.conf. Just to be sure, I made a loop that
> > > > prints out the contents of kenvp.  It does not have hw.acpi.os_name.
> > > >
> > > > Here is a snippet of the kenvp array, right where my tunable should be
> > > > (os2 is from a test below):
> > > >
> > > > name: hint.vt.0.disabled=1
> > > > name: hw.acpi.os2=8
> > > > name: hw.acpi.reset_video=0
> > > > name: hw.acpi.verbose=1
> > > > name: hw.cbb.start_memory=0xc0203000
>
> How did you dump this?  If os_name isn't in the list, then that is going to be
> a problem of course. :)  That would indicate that a bug in the loader though
> and not in getenv_string().

I added a loop that prints out the entire kenv each time getenv_string is
called.  This is possibly a loader bug although I'm very curious how
surrounding variables make it into the list but not hw.acpi.os_name.  It's
possible they're all ints while mine is a string.  The only other string
is module_path, so perhaps I should try overloading that in loader.conf
and see if it also fails.

-Nate


More information about the freebsd-current mailing list