cvs commit: src/sys/amd64/amd64 apic_vector.S autoconf.c cpu_switch.S db_interface.c db_trace.c exception.S fpu.c genassym.c identcpu.c io_apic.c local_apic.c machdep.c mem.c...

Peter Wemm peter at FreeBSD.org
Mon Nov 17 00:58:17 PST 2003


peter       2003/11/17 00:58:16 PST

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      apic_vector.S autoconf.c cpu_switch.S 
                         db_interface.c db_trace.c exception.S 
                         fpu.c genassym.c identcpu.c io_apic.c 
                         local_apic.c machdep.c mem.c mp_machdep.c 
                         mpboot.S mptable.c nexus.c pmap.c 
                         support.S trap.c tsc.c vm_machdep.c 
    sys/amd64/ia32       ia32_syscall.c 
    sys/amd64/include    apicvar.h asmacros.h atomic.h clock.h 
                         md_var.h param.h pcpu.h pmap.h segments.h 
                         smp.h tss.h 
    sys/amd64/isa        atpic.c atpic_vector.S clock.c 
    sys/amd64/pci        pci_bus.c 
    sys/conf             files.amd64 options.amd64 
    sys/dev/pci          pci.c 
    sys/kern             kern_switch.c subr_witness.c 
  Removed files:
    sys/amd64/isa        icu.h icu_ipl.S icu_vector.S 
                         intr_machdep.c intr_machdep.h ithread.c 
                         vector.S 
  Log:
  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.
  
  Revision  Changes    Path
  1.95      +102 -172  src/sys/amd64/amd64/apic_vector.S
  1.176     +3 -22     src/sys/amd64/amd64/autoconf.c
  1.144     +20 -7     src/sys/amd64/amd64/cpu_switch.S
  1.75      +37 -0     src/sys/amd64/amd64/db_interface.c
  1.59      +3 -2      src/sys/amd64/amd64/db_trace.c
  1.115     +1 -16     src/sys/amd64/amd64/exception.S
  1.146     +1 -2      src/sys/amd64/amd64/fpu.c
  1.150     +15 -5     src/sys/amd64/amd64/genassym.c
  1.127     +2 -1      src/sys/amd64/amd64/identcpu.c
  1.7       +3 -2      src/sys/amd64/amd64/io_apic.c
  1.4       +7 -19     src/sys/amd64/amd64/local_apic.c
  1.599     +58 -83    src/sys/amd64/amd64/machdep.c
  1.111     +9 -0      src/sys/amd64/amd64/mem.c
  1.226     +120 -351  src/sys/amd64/amd64/mp_machdep.c
  1.24      +180 -228  src/sys/amd64/amd64/mpboot.S
  1.228     +3 -8      src/sys/amd64/amd64/mptable.c
  1.56      +4 -8      src/sys/amd64/amd64/nexus.c
  1.446     +231 -2    src/sys/amd64/amd64/pmap.c
  1.104     +14 -0     src/sys/amd64/amd64/support.S
  1.270     +14 -3     src/sys/amd64/amd64/trap.c
  1.205     +14 -2     src/sys/amd64/amd64/tsc.c
  1.223     +65 -0     src/sys/amd64/amd64/vm_machdep.c
  1.6       +1 -3      src/sys/amd64/ia32/ia32_syscall.c
  1.6       +3 -1      src/sys/amd64/include/apicvar.h
  1.26      +9 -0      src/sys/amd64/include/asmacros.h
  1.31      +1 -1      src/sys/amd64/include/atomic.h
  1.49      +1 -0      src/sys/amd64/include/clock.h
  1.69      +4 -1      src/sys/amd64/include/md_var.h
  1.9       +4 -0      src/sys/amd64/include/param.h
  1.40      +4 -0      src/sys/amd64/include/pcpu.h
  1.109     +2 -1      src/sys/amd64/include/pmap.h
  1.37      +3 -0      src/sys/amd64/include/segments.h
  1.78      +59 -0     src/sys/amd64/include/smp.h
  1.15      +1 -1      src/sys/amd64/include/tss.h
  1.6       +26 -33    src/sys/amd64/isa/atpic.c
  1.41      +22 -21    src/sys/amd64/isa/atpic_vector.S
  1.206     +22 -30    src/sys/amd64/isa/clock.c
  1.29      +0 -152    src/sys/amd64/isa/icu.h (dead)
  1.13      +0 -81     src/sys/amd64/isa/icu_ipl.S (dead)
  1.41      +0 -144    src/sys/amd64/isa/icu_vector.S (dead)
  1.79      +0 -525    src/sys/amd64/isa/intr_machdep.c (dead)
  1.45      +0 -118    src/sys/amd64/isa/intr_machdep.h (dead)
  1.23      +0 -115    src/sys/amd64/isa/ithread.c (dead)
  1.41      +0 -76     src/sys/amd64/isa/vector.S (dead)
  1.105     +1 -1      src/sys/amd64/pci/pci_bus.c
  1.26      +38 -59    src/sys/conf/files.amd64
  1.10      +4 -0      src/sys/conf/options.amd64
  1.236     +1 -1      src/sys/dev/pci/pci.c
  1.63      +2 -2      src/sys/kern/kern_switch.c
  1.164     +1 -1      src/sys/kern/subr_witness.c


More information about the cvs-src mailing list