Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Apr 2012 08:40:37 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Eugene Grosbein <egrosbein@rdtc.ru>
Cc:        Alexey Dokuchaev <danfe@nsu.ru>, stable@freebsd.org
Subject:   Re: RELENG_8 kernel as of Apr 14 does not boot
Message-ID:  <201204170840.37631.jhb@freebsd.org>
In-Reply-To: <4F8BD14D.8050206@rdtc.ru>
References:  <20120416042645.GA53074@regency.nsu.ru> <20120416070646.GA78414@regency.nsu.ru> <4F8BD14D.8050206@rdtc.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, April 16, 2012 3:59:09 am Eugene Grosbein wrote:
> >>> Just update my 8.x kernel sources last weekend, and newly built kernel did
> >>> not boot for me:
> >>>
> >>> link_elf: symbol mem_range_softc undefined
> >>> KLD file acpi.ko - could not finalize loading
> >>> kernel trap 12 with interrupts disabled
> >>
> >> Try to add 'device mem' to your kernel configuration.
> > 
> > :-)
> > 
> > I explicitly have "nodevice mem" and "nodevice io" in my config.  They are
> > being loaded from /boot/loader.conf.  This worked fine for quite a while.
> > 
> > I will try to have it compiled-in, but would still prefer it fixed, or in
> > case it cannot be fixed and mem.ko cannot be loaded separately from now on,
> > appropriate entry in UPDATING.
> 
> It seems John Baldwin brought dependency of acpi.ko on device mem
> 4 days ago to RELENG_8 with MFC:
> 
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/acpica/acpi_wakeup.c#rev1.50.2.3
> 
> Eugene Grosbein

Hmm, this has been broken for a long time on HEAD and 9 it seems.  However, there
you get compile breakage (as acpi is no longer supported as a module in 9+) if you
try to build a kernel with 'nodevice mem'.

Hmm, mp_machdep.c also breaks.  That is probably true on i386 as well, and has
been true even on 7.x.  (That is, you can't use 'nodevice mem' and 'SMP' in the
same kernel.)

The simplest fix is to just move mem_range_softc out of mem.ko into the base kernel.

OTOH, what are you trying to gain by putting mem.ko into a module rather than part of
the base kernel?  Do you just want no /dev/mem file or are you trying to disable all
of the MTRR support as well?  It may be that we need to rethink what goes into mem.ko
and have it only exclude /dev/mem but always leave MTRR support enabled.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204170840.37631.jhb>