Major kernel build infrastructure changes, part 1/2 (sys).
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 7 Nov 2006 06:43:25 +0000 (06:43 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 7 Nov 2006 06:43:25 +0000 (06:43 +0000)
commita92953496ab9da27b410a3b3d5a28405decc38d3
treed120e76d32c9896c8fd070a46c14b5de2b1768ab
parent8a14bdc268a9cfc5585aa1e79f875812a9a6a279
Major kernel build infrastructure changes, part 1/2 (sys).

These changes are primarily designed to create a 2-layer machine and cpu
build hierarchy in order to support virtual kernel builds in the near term
and future porting efforts in the long term.

* Split arch/ into a set of platform architectures under machine/ and a
  set of cpu architectures under cpu/.  All platform and cpu header files
  will be accessible via <machine/*.h>.  Platform header files may override
  cpu header files (the platform header file then typically #include's the
  cpu header file).

* Any cpu header files that are not overridden will be copied directly
  into /usr/include/machine/, allowing the platform to omit those header
  files (not have to create degenerate forwarding header files).

* All source files access platform and cpu architecture files via the
  <machine/*.h> path.  The <cpu/*.h> path should only be used by
  platform header files when including the lower level cpu header files.

* Require both the 'machine' and the 'machine_arch' directives in the
  kernel config file.

* When building modules in the presence of a kernel config, use the IF
  files, use*.h files, and opt*.h files provided by the kernel config
  and do not generate them in each module's object directory.  This
  streamlines the module build considerably.
108 files changed:
sys/Makefile
sys/boot/pc32/libi386/Makefile
sys/bus/cam/scsi/scsi_low.h
sys/bus/isa/i386/isa_dma.c
sys/bus/isa/pnpeat.c
sys/bus/isa/syscons_isa.c
sys/conf/acpi.mk
sys/conf/bsd.kern.mk
sys/conf/kern.post.mk
sys/conf/kern.pre.mk
sys/conf/kmod.mk
sys/config/GENERIC
sys/config/LINT
sys/config/TINDERBOX
sys/config/VKERNEL
sys/cpu/i386/include/asm.h
sys/cpu/i386/include/asmacros.h
sys/cpu/i386/include/atomic.h
sys/cpu/i386/include/bus_at386.h
sys/cpu/i386/include/bus_dma.h
sys/cpu/i386/include/coredump.h
sys/cpu/i386/include/cpu.h
sys/cpu/i386/include/cpufunc.h
sys/cpu/i386/include/cputypes.h
sys/cpu/i386/include/db_machdep.h
sys/cpu/i386/include/elf.h
sys/cpu/i386/include/endian.h
sys/cpu/i386/include/frame.h
sys/cpu/i386/include/inttypes.h
sys/cpu/i386/include/limits.h
sys/cpu/i386/include/npx.h
sys/cpu/i386/include/param.h
sys/cpu/i386/include/pmap.h
sys/cpu/i386/include/psl.h
sys/cpu/i386/include/reg.h
sys/cpu/i386/include/segments.h
sys/cpu/i386/include/signal.h
sys/cpu/i386/include/specialreg.h
sys/cpu/i386/include/stdarg.h
sys/cpu/i386/include/stdint.h
sys/cpu/i386/include/trap.h
sys/cpu/i386/include/tss.h
sys/cpu/i386/include/types.h
sys/cpu/i386/include/ucontext.h
sys/cpu/i386/include/vm86.h
sys/ddb/ddb.h
sys/dev/acpica5/Makefile
sys/dev/est/Makefile
sys/dev/misc/syscons/apm/apm_saver.c
sys/dev/netif/fe/if_fe.c
sys/dev/netif/fe/if_fe_isa.c
sys/dev/netif/fe/if_fe_pccard.c
sys/dev/netif/ie/if_ie.c
sys/dev/netif/le/if_le.c
sys/dev/netif/pdq_layer/pdq_ifsubr.c
sys/dev/netif/rdp/if_rdp.c
sys/dev/netif/rdp/if_rdpreg.h
sys/dev/serial/cy/cy.c
sys/dev/serial/cy/cy_pci.c
sys/dev/serial/rc/rc.c
sys/dev/serial/stl/stallion.c
sys/emulation/linux/Makefile
sys/kern/Makefile
sys/kern/Makefile.misc
sys/kern/kern_memio.c
sys/kern/kern_mib.c
sys/netgraph/tty/ng_tty.c
sys/platform/pc32/acpica5/acpi_machdep.c
sys/platform/pc32/acpica5/acpi_wakeup.c
sys/platform/pc32/acpica5/madt.c
sys/platform/pc32/apic/apic_abi.c
sys/platform/pc32/apic/apic_vector.s
sys/platform/pc32/apic/mpapic.c
sys/platform/pc32/apic/mpapic.h
sys/platform/pc32/apm/apm.c
sys/platform/pc32/conf/Makefile
sys/platform/pc32/conf/files
sys/platform/pc32/i386/autoconf.c
sys/platform/pc32/i386/genassym.c
sys/platform/pc32/i386/identcpu.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/mem.c
sys/platform/pc32/i386/mp_machdep.c
sys/platform/pc32/i386/mpboot.s
sys/platform/pc32/i386/mplock.s
sys/platform/pc32/i386/nexus.c
sys/platform/pc32/i386/pmap.c
sys/platform/pc32/i386/swtch.s
sys/platform/pc32/i386/trap.c
sys/platform/pc32/i386/userconfig.c
sys/platform/pc32/i386/vm86.c
sys/platform/pc32/icu/icu_abi.c
sys/platform/pc32/icu/icu_vector.s
sys/platform/pc32/include/ipl.h
sys/platform/pc32/include/lock.h
sys/platform/pc32/include/param.h [new file with mode: 0644]
sys/platform/pc32/include/pmap.h [copied from sys/cpu/i386/include/pmap.h with 84% similarity]
sys/platform/pc32/include/smp.h
sys/platform/pc32/include/types.h [copied from sys/cpu/i386/include/types.h with 67% similarity]
sys/platform/pc32/isa/clock.c
sys/platform/pc32/isa/intr_machdep.c
sys/platform/pc32/isa/ipl_funcs.c
sys/platform/pc32/isa/npx.c
sys/platform/pc32/isa/prof_machdep.c
sys/platform/vkernel/conf/Makefile
sys/platform/vkernel/i386/genassym.c
sys/sys/reg.h [copied from sys/cpu/i386/include/types.h with 54% similarity]
sys/sys/sysctl.h