pad(4)
うーん、src/sys/arch/arm/*/*_intr.h の中で arm/cpu.h を include していると、padvol.c がコンパイルできないっぽい。
# compile WZERO3/padvol.o /usr/local/netbsd-tools/bin/arm--netbsdelf-gcc -ffreestanding -fno-zero-initialized-in-bss -mcpu=xscale -O2 -std=gnu99 -Wcomment -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare -Wno-pointer-sign -Wno-attributes -fno-strict-aliasing -Wcomment -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare -Wno-pointer-sign -Wno-attributes -Werror -mcpu=xscale -Dhpcarm -Darm32 -I. -I../../../../../common/include -I../../../../arch -I../../../.. -nostdinc -DDIAGNOSTIC -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -I../../../../lib/libkern/../../../common/lib/libc/quad -I../../../../lib/libkern/../../../common/lib/libc/string -I../../../../lib/libkern/../../../common/lib/libc/arch/arm/string -I../../../../dist/ipf -c ../../../../dev/pad/padvol.c In file included from ./arm/cpu.h:225, from ../../../../arch/arm/xscale/pxa2x0_intr.h:47, from ./machine/intr.h:136, from ../../../../sys/intr.h:35, from ../../../../sys/mutex.h:177, from ../../../../sys/condvar.h:35, from ../../../../dev/pad/padvol.c:34: ../../../../sys/cpu_data.h:69: error: expected specifier-qualifier-list before 'kcondvar_t'
流れとしてはこんな感じかな。
src/sys/dev/pad/padvol.c ↓ src/sys/sys/condvar.h (kcondvar_t 定義前に sys/mutex.h を include している) ↓ src/sys/sys/mutex.h ↓ src/sys/sys/intr.h ↓ src/sys/arch/hpcarm/include/intr.h (machine/intr.h) ↓ src/sys/arch/arm/xscale/pxa2x0_intr.h (ARM_INTR_IMPL) ↓ src/sys/arch/arm/include/cpu.h ↓ src/sys/sys/cpu_data.h (ここで kcondvar_t を使用されて終了)