Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: latest 'config' creates broken "ioconf.c" w/some custom kernels
I've come up with a simpler test configuration that elicits the behavior:
# TEST
include "arch/amd64/conf/GENERIC"
no options INCLUDE_CONFIG_FILE # embed config file in kernel binary
options INCLUDE_JUST_CONFIG
no pcib* at pci? # PCI-ISA bridges
no fwhrng* at ichlpcib? # Intel 82802 FWH Random Number Generator
no isa0 at mainbus?
no isa0 at pcib?
no pckbc0 at isa? # pc keyboard controller
#no attimer0 at isa?
#no pcppi0 at isa?
no com0 at isa? # Standard PC serial ports
no com1 at isa?
no lpt0 at isa? # standard PC parallel ports
no lpt1 at isa?
no wdc0 at isa?
no wdc1 at isa?
no fdc0 at isa? # standard PC floppy controllers
The "no pckbc0 at isa?" is the trigger. This is something all of my
amd64 (and most i386) kernel configs have since the machines in question
attach "pckbc* at acpi?".
The config as above produces the following failure:
[...]
--- ioconf.o ---
ioconf.c:2994:54: error: 'pspec28' undeclared here (not in a function)
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
ioconf.c:2994:5: error: missing initializer for field 'cf_pspec' of 'struct cfdata' [-Werror=missing-field-initializers]
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
In file included from ioconf.c:10:0:
/x/current/src/sys/sys/device.h:275:25: note: 'cf_pspec' declared here
const struct cfparent *cf_pspec;/* parent specification */
^
ioconf.c:3206:5: error: missing initializer for field 'cf_pspec' of 'struct cfdata' [-Werror=missing-field-initializers]
{ "attimer", "attimer_isa", 0, NORM, loc+ 14, 0, &pspec28 },
^
In file included from ioconf.c:10:0:
/x/current/src/sys/sys/device.h:275:25: note: 'cf_pspec' declared here
const struct cfparent *cf_pspec;/* parent specification */
^
ioconf.c:3660:5: error: missing initializer for field 'cf_pspec' of 'struct cfdata' [-Werror=missing-field-initializers]
{ "pcppi", "pcppi", 0, NORM, loc+ 7, 0, &pspec28 },
^
In file included from ioconf.c:10:0:
/x/current/src/sys/sys/device.h:275:25: note: 'cf_pspec' declared here
const struct cfparent *cf_pspec;/* parent specification */
^
cc1: all warnings being treated as errors
*** [ioconf.o] Error code 1
nbmake: stopped in /r1/build/current/obj/amd64/sys/arch/amd64/compile/TEST
[...]
Comment out "no attimer0 at isa?" and "no pcppi0 at isa?" and the failure
is reduced to only:
[...]
--- ioconf.o ---
ioconf.c:2972:54: error: 'pspec28' undeclared here (not in a function)
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
ioconf.c:2972:5: error: missing initializer for field 'cf_pspec' of 'struct cfdata' [-Werror=missing-field-initializers]
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
In file included from ioconf.c:10:0:
/x/current/src/sys/sys/device.h:275:25: note: 'cf_pspec' declared here
const struct cfparent *cf_pspec;/* parent specification */
^
cc1: all warnings being treated as errors
*** [ioconf.o] Error code 1
nbmake: stopped in /r1/build/current/obj/amd64/sys/arch/amd64/compile/TEST
[...]
Comment out "no pckbc0 at isa?" and the kernel builds again.
As it stands right now, even if your machine attaches "pckbc* at acpi?"
you MUST also have "pckbc0 at isa?" or Bad Things will happen.
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
Home |
Main Index |
Thread Index |
Old Index