AMD64 - Sync AMD64 support from Jordan Gordeev's svn repository and
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Aug 2008 17:07:21 +0000 (17:07 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Aug 2008 17:07:21 +0000 (17:07 +0000)
commitc8fe38ae0761c8117b13caf9b76ad5fb86ac2135
treea5d82096f217841a0eb0e6481d89d63c0babfe75
parentac2fb03dd6ed1471248c90f4bb47a1a4156b6446
AMD64 - Sync AMD64 support from Jordan Gordeev's svn repository and
Google SOC project.  This work is still continuing but represents
substantial progress in the effort.

With this commit the world builds and installs, the loader is able to
boot the kernel, and the kernel is able to initialize, probe devices, and
exec the init program.  The init program is then able to run until it hits
its first fork().  For the purposes of the GSOC the project is being
considered a big success!

The code has been adapted from multiple sources, most notably Peter Wemm
and other peoples work from FreeBSD, with many modifications to make it
work with DragonFly.  Also thanks go to Simon Schubert for working on gdb
and compiler issues, and to Noah Yan for a good chunk of precursor work
in 2007.

While Jordan wishes to be modest on his contribution, frankly we would
not have been able to make this much progress without the large number
of man-hours Jordan has dedicated to his GSOC project painstakingly gluing
code together, tracking down issues, and progressing the boot sequence.

Submitted-by: Jordan Gordeev <jgordeev@dir.bg>
101 files changed:
sys/cpu/amd64/include/asmacros.h
sys/cpu/amd64/include/atomic.h
sys/cpu/amd64/include/cpufunc.h
sys/cpu/amd64/include/frame.h
sys/cpu/amd64/include/npx.h
sys/cpu/amd64/include/param.h
sys/cpu/amd64/include/pmap.h
sys/cpu/amd64/include/segments.h
sys/cpu/amd64/include/signal.h
sys/cpu/amd64/include/specialreg.h
sys/cpu/amd64/include/tls.h
sys/cpu/amd64/include/tss.h
sys/cpu/amd64/include/types.h
sys/cpu/amd64/include/ucontext.h
sys/cpu/amd64/misc/amd64-gdbstub.c [new file with mode: 0644]
sys/platform/pc64/amd64/autoconf.c
sys/platform/pc64/amd64/console.c
sys/platform/pc64/amd64/cpu_regs.c [deleted file]
sys/platform/pc64/amd64/db_disasm.c
sys/platform/pc64/amd64/db_interface.c
sys/platform/pc64/amd64/db_trace.c
sys/platform/pc64/amd64/exception.S [new file with mode: 0644]
sys/platform/pc64/amd64/exception.c [deleted file]
sys/platform/pc64/amd64/fork_tramp.s [deleted file]
sys/platform/pc64/amd64/genassym.c
sys/platform/pc64/amd64/global.s
sys/platform/pc64/amd64/globaldata.c
sys/platform/pc64/amd64/identcpu.c [new file with mode: 0644]
sys/platform/pc64/amd64/in_cksum2.s
sys/platform/pc64/amd64/init.c
sys/platform/pc64/amd64/initcpu.c [new file with mode: 0644]
sys/platform/pc64/amd64/ipl.s [new file with mode: 0644]
sys/platform/pc64/amd64/locore.s
sys/platform/pc64/amd64/machdep.c [new file with mode: 0644]
sys/platform/pc64/amd64/machintr.c [deleted file]
sys/platform/pc64/amd64/nexus.c [new file with mode: 0644]
sys/platform/pc64/amd64/npx.c
sys/platform/pc64/amd64/pmap.c
sys/platform/pc64/amd64/pmap_inval.c [new file with mode: 0644]
sys/platform/pc64/amd64/spinlock.s [new file with mode: 0644]
sys/platform/pc64/amd64/support.s
sys/platform/pc64/amd64/swtch.s
sys/platform/pc64/amd64/systimer.c
sys/platform/pc64/amd64/tls.c
sys/platform/pc64/amd64/trap.c
sys/platform/pc64/amd64/vm_machdep.c
sys/platform/pc64/apic/apic_abi.c [new file with mode: 0644]
sys/platform/pc64/apic/apic_ipl.h [new file with mode: 0644]
sys/platform/pc64/apic/apic_ipl.s [new file with mode: 0644]
sys/platform/pc64/apic/apic_vector.s [new file with mode: 0644]
sys/platform/pc64/apic/apicreg.h [new file with mode: 0644]
sys/platform/pc64/apic/apicvar.h [new file with mode: 0644]
sys/platform/pc64/apic/mpapic.c [new file with mode: 0644]
sys/platform/pc64/apic/mpapic.h [new file with mode: 0644]
sys/platform/pc64/conf/files
sys/platform/pc64/conf/kern.mk
sys/platform/pc64/conf/options
sys/platform/pc64/icu/icu.h [copied from sys/cpu/amd64/include/tss.h with 59% similarity]
sys/platform/pc64/icu/icu_abi.c [new file with mode: 0644]
sys/platform/pc64/icu/icu_ipl.h [copied from sys/platform/pc64/include/pcb_ext.h with 56% similarity]
sys/platform/pc64/icu/icu_ipl.s [new file with mode: 0644]
sys/platform/pc64/icu/icu_vector.s [new file with mode: 0644]
sys/platform/pc64/include/globaldata.h
sys/platform/pc64/include/intr_machdep.h
sys/platform/pc64/include/ipl.h [copied from sys/platform/pc64/amd64/console.c with 84% similarity]
sys/platform/pc64/include/lock.h
sys/platform/pc64/include/md_var.h
sys/platform/pc64/include/metadata.h [copied from sys/platform/pc64/include/pcb_ext.h with 55% similarity]
sys/platform/pc64/include/nexusvar.h [copied from sys/platform/pc64/include/pcb_ext.h with 56% similarity]
sys/platform/pc64/include/param.h
sys/platform/pc64/include/pc/bios.h [new file with mode: 0644]
sys/platform/pc64/include/pc/display.h [new file with mode: 0644]
sys/platform/pc64/include/pcb.h
sys/platform/pc64/include/pcb_ext.h
sys/platform/pc64/include/pmap.h [copied from sys/cpu/amd64/include/pmap.h with 54% similarity]
sys/platform/pc64/include/thread.h
sys/platform/pc64/include/vmparam.h
sys/platform/pc64/isa/README.le [new file with mode: 0644]
sys/platform/pc64/isa/README.stl [new file with mode: 0644]
sys/platform/pc64/isa/asc.c [new file with mode: 0644]
sys/platform/pc64/isa/ascreg.h [new file with mode: 0644]
sys/platform/pc64/isa/clock.c [new file with mode: 0644]
sys/platform/pc64/isa/ic/Am7990.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/am7990.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/cd1400.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/cd180.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/hd64570.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/i8237.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/i82586.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/lemac.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/mb86960.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/sc26198.h [new file with mode: 0644]
sys/platform/pc64/isa/ic/scd1400.h [new file with mode: 0644]
sys/platform/pc64/isa/intr_machdep.c [new file with mode: 0644]
sys/platform/pc64/isa/intr_machdep.h [new file with mode: 0644]
sys/platform/pc64/isa/lptreg.h [new file with mode: 0644]
sys/platform/pc64/isa/npx.c [copied from sys/platform/pc64/amd64/npx.c with 54% similarity]
sys/platform/pc64/isa/pmtimer.c [new file with mode: 0644]
sys/platform/pc64/isa/prof_machdep.c [new file with mode: 0644]
sys/platform/pc64/isa/timerreg.h [new file with mode: 0644]
sys/sys/tls.h