path: root/sys/conf
diff options
authorPeter Wemm <peter@FreeBSD.org>2003-11-17 08:58:16 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-11-17 08:58:16 +0000
commit0d2a2989048c676030afdcf7ba3aae9713738395 (patch)
treeaabbe8bf492a150ee82a721cb9396dd2a5b08c50 /sys/conf
parentfa9c971710f334618da92e9feb0cd4be6818bf55 (diff)
Initial landing of SMP support for FreeBSD/amd64.
- This is heavily derived from John Baldwin's apic/pci cleanup on i386. - I have completely rewritten or drastically cleaned up some other parts. (in particular, bootstrap) - This is still a WIP. It seems that there are some highly bogus bioses on nVidia nForce3-150 boards. I can't stress how broken these boards are. I have a workaround in mind, but right now the Asus SK8N is broken. The Gigabyte K8NPro (nVidia based) is also mind-numbingly hosed. - Most of my testing has been with SCHED_ULE. SCHED_4BSD works. - the apic and acpi components are 'standard'. - If you have an nVidia nForce3-150 board, you are stuck with 'device atpic' in addition, because they somehow managed to forget to connect the 8254 timer to the apic, even though its in the same silicon! ARGH! This directly violates the ACPI spec.
Notes: svn path=/head/; revision=122849
Diffstat (limited to 'sys/conf')
2 files changed, 42 insertions, 59 deletions
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 0af5b67cd6d0..82ace4c82423 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -8,48 +8,26 @@
# dependency lines other than the first are silently ignored.
-ia32_genassym.o optional ia32 \
+ia32_genassym.o standard \
dependency "$S/compat/ia32/ia32_genassym.c" \
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
no-obj no-implicit-rule \
clean "ia32_genassym.o"
-ia32_assym.h optional ia32 \
+ia32_assym.h standard \
dependency "$S/kern/genassym.sh ia32_genassym.o" \
compile-with "env NM=${NM} sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
no-obj no-implicit-rule before-depend \
clean "ia32_assym.h"
-dev/kbd/atkbd.c optional atkbd
-dev/kbd/atkbdc.c optional atkbdc
-dev/kbd/kbd.c optional atkbd
-dev/kbd/kbd.c optional kbd
-dev/kbd/kbd.c optional sc
-dev/kbd/kbd.c optional ukbd
-dev/kbd/kbd.c optional vt
-dev/sio/sio.c optional sio
-dev/sio/sio_isa.c optional sio isa
-dev/syscons/apm/apm_saver.c optional apm_saver apm
-dev/syscons/schistory.c optional sc
-dev/syscons/scmouse.c optional sc
-dev/syscons/scterm.c optional sc
-dev/syscons/scterm-dumb.c optional sc
-dev/syscons/scterm-sc.c optional sc
-dev/syscons/scvesactl.c optional sc vga vesa
-dev/syscons/scvgarndr.c optional sc vga
-dev/syscons/scvidctl.c optional sc
-dev/syscons/scvtb.c optional sc
-dev/syscons/syscons.c optional sc
-dev/syscons/sysmouse.c optional sc
-dev/uart/uart_cpu_amd64.c optional uart
-isa/atkbd_isa.c optional atkbd
amd64/acpica/OsdEnvironment.c optional acpi
amd64/acpica/acpi_machdep.c optional acpi
amd64/acpica/acpi_wakeup.c optional acpi
+amd64/acpica/madt.c optional acpi
amd64/amd64/amd64-gdbstub.c optional ddb
amd64/amd64/amd64_mem.c standard
+amd64/amd64/apic_vector.S standard
+amd64/amd64/atomic.c standard
amd64/amd64/autoconf.c standard
amd64/amd64/busdma_machdep.c standard
amd64/amd64/cpu_switch.S standard
@@ -60,12 +38,21 @@ amd64/amd64/db_trace.c optional ddb
amd64/amd64/dump_machdep.c standard
amd64/amd64/elf_machdep.c standard
amd64/amd64/exception.S standard
+amd64/amd64/fpu.c standard
amd64/amd64/identcpu.c standard
+amd64/amd64/in_cksum.c optional inet
amd64/amd64/initcpu.c standard
+amd64/amd64/intr_machdep.c standard
+amd64/amd64/io_apic.c standard
amd64/amd64/legacy.c standard
+amd64/amd64/local_apic.c standard
amd64/amd64/locore.S standard no-obj
amd64/amd64/machdep.c standard
amd64/amd64/mem.c standard
+amd64/amd64/mp_machdep.c optional smp
+amd64/amd64/mpboot.S optional smp
+amd64/amd64/mptable.c optional mptable
+amd64/amd64/mptable_pci.c optional mptable pci
amd64/amd64/nexus.c standard
amd64/amd64/pmap.c standard
amd64/amd64/sigtramp.S standard
@@ -75,72 +62,64 @@ amd64/amd64/trap.c standard
amd64/amd64/tsc.c standard
amd64/amd64/uma_machdep.c standard
amd64/amd64/vm_machdep.c standard
-amd64/amd64/in_cksum.c optional inet
-amd64/amd64/fpu.c standard
+amd64/isa/atpic.c optional atpic isa
+amd64/isa/atpic_vector.S optional atpic isa
amd64/isa/clock.c standard
-amd64/isa/intr_machdep.c standard
amd64/isa/isa.c standard
amd64/isa/isa_dma.c standard
-amd64/isa/ithread.c standard
-amd64/pci/pci_cfgreg.c optional pci
+amd64/isa/nmi.c standard
amd64/pci/pci_bus.c optional pci
-compat/freebsd32/freebsd32_misc.c optional ia32
-compat/freebsd32/freebsd32_syscalls.c optional ia32
-compat/freebsd32/freebsd32_sysent.c optional ia32
-compat/ia32/ia32_sigtramp.S optional ia32
-compat/ia32/ia32_sysvec.c optional ia32
-amd64/ia32/ia32_signal.c optional ia32
-amd64/ia32/ia32_exception.S optional ia32
-amd64/ia32/ia32_syscall.c optional ia32
-kern/imgact_elf32.c optional ia32
-# This file tells config what files go into building a kernel,
-# files marked standard are always included.
+amd64/pci/pci_cfgreg.c optional pci
dev/fb/fb.c optional fb
dev/fb/fb.c optional vga
dev/fb/splash.c optional splash
dev/fb/vga.c optional vga
dev/kbd/atkbd.c optional atkbd
dev/kbd/atkbdc.c optional atkbdc
dev/kbd/kbd.c optional atkbd
dev/kbd/kbd.c optional kbd
dev/kbd/kbd.c optional sc
dev/kbd/kbd.c optional ukbd
-dev/kbd/kbd.c optional vt
dev/ppc/ppc.c optional ppc
+dev/sio/sio.c optional sio
+dev/sio/sio_isa.c optional sio isa
+dev/syscons/apm/apm_saver.c optional apm_saver apm
dev/syscons/schistory.c optional sc
dev/syscons/scmouse.c optional sc
-dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
dev/syscons/scterm-sc.c optional sc
+dev/syscons/scterm.c optional sc
dev/syscons/scvgarndr.c optional sc vga
dev/syscons/scvidctl.c optional sc
dev/syscons/scvtb.c optional sc
dev/syscons/syscons.c optional sc
dev/syscons/sysmouse.c optional sc
+dev/uart/uart_cpu_amd64.c optional uart
geom/geom_bsd.c standard
geom/geom_bsd_enc.c standard
geom/geom_mbr.c standard
geom/geom_mbr_enc.c standard
-#i386/isa/pmtimer.c optional pmtimer
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/fd.c optional fdc
isa/psm.c optional psm
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
-pci/agp_intel.c optional agp
-pci/agp_via.c optional agp
-pci/agp_sis.c optional agp
pci/agp_ali.c optional agp
pci/agp_amd.c optional agp
pci/agp_i810.c optional agp
+pci/agp_intel.c optional agp
+pci/agp_sis.c optional agp
+pci/agp_via.c optional agp
+# IA32 binary support
+amd64/ia32/ia32_exception.S optional ia32
+amd64/ia32/ia32_signal.c optional ia32
+amd64/ia32/ia32_syscall.c optional ia32
+compat/freebsd32/freebsd32_misc.c optional ia32
+compat/freebsd32/freebsd32_syscalls.c optional ia32
+compat/freebsd32/freebsd32_sysent.c optional ia32
+compat/ia32/ia32_sigtramp.S optional ia32
+compat/ia32/ia32_sysvec.c optional ia32
+kern/imgact_elf32.c optional ia32
diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64
index af1adb7830a3..ccbe0f66d99f 100644
--- a/sys/conf/options.amd64
+++ b/sys/conf/options.amd64
@@ -1,6 +1,8 @@
# $FreeBSD$
# Options specific to AMD64 platform kernels
+AUTO_EOI_1 opt_auto_eoi.h
+AUTO_EOI_2 opt_auto_eoi.h
PERFMON opt_perfmon.h
@@ -29,3 +31,5 @@ PSM_HOOKRESUME opt_psm.h
PSM_DEBUG opt_psm.h
+DEV_ATPIC opt_atpic.h