diff options
author | Peter Wemm <peter@FreeBSD.org> | 2003-11-17 08:58:16 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2003-11-17 08:58:16 +0000 |
commit | 0d2a2989048c676030afdcf7ba3aae9713738395 (patch) | |
tree | aabbe8bf492a150ee82a721cb9396dd2a5b08c50 /sys/conf | |
parent | fa9c971710f334618da92e9feb0cd4be6818bf55 (diff) | |
download | src-0d2a2989048c676030afdcf7ba3aae9713738395.tar.gz src-0d2a2989048c676030afdcf7ba3aae9713738395.zip |
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
Notes:
svn path=/head/; revision=122849
Diffstat (limited to 'sys/conf')
-rw-r--r-- | sys/conf/files.amd64 | 97 | ||||
-rw-r--r-- | sys/conf/options.amd64 | 4 |
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 MAXMEM PERFMON opt_perfmon.h @@ -29,3 +31,5 @@ PSM_HOOKRESUME opt_psm.h PSM_RESETAFTERSUSPEND opt_psm.h PSM_DEBUG opt_psm.h IA32 +NO_MIXED_MODE +DEV_ATPIC opt_atpic.h |