Connect MPC85XX to the PowerPC build.

The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies:

1. make buildworld TARGET_ARCH=powerpc
2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX

This default config uses kernel-level FPU emulation. For the soft-float world
approach:

1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500
2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX
3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX

Approved by:	cognet (mentor)
MFp4:		e500
This commit is contained in:
Rafal Jaworowski 2008-03-03 20:40:20 +00:00
parent dda30f129e
commit 321578e3d0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=176776
5 changed files with 105 additions and 2 deletions

View File

@ -12,6 +12,8 @@ MACHINE_CPU = i486
MACHINE_CPU = amd64 sse2 sse
. elif ${MACHINE_ARCH} == "ia64"
MACHINE_CPU = itanium
. elif ${MACHINE_ARCH} == "powerpc"
MACHINE_CPU = aim
. elif ${MACHINE_ARCH} == "sparc64"
. elif ${MACHINE_ARCH} == "arm"
MACHINE_CPU = arm
@ -109,6 +111,11 @@ _CPUCFLAGS = -march=armv5te -D__XSCALE__
. else
_CPUCFLAGS = -mcpu=${CPUTYPE}
. endif
. elif ${MACHINE_ARCH} == "powerpc"
. if ${CPUTYPE} == "e500"
MACHINE_CPU = booke
_CPUCFLAGS = -Wa,-me500 -msoft-float
. endif
. endif
# Set up the list of CPU features based on the CPU type. This is an

View File

@ -924,6 +924,7 @@ dev/puc/puc_cfg.c optional puc
dev/puc/puc_pccard.c optional puc pccard
dev/puc/puc_pci.c optional puc pci
dev/puc/pucdata.c optional puc pci
dev/quicc/quicc_core.c optional quicc
dev/ral/rt2560.c optional ral
dev/ral/rt2661.c optional ral
dev/ral/if_ralrate.c optional ral
@ -945,8 +946,10 @@ dev/safe/safe.c optional safe
dev/sbsh/if_sbsh.c optional sbsh
dev/scc/scc_if.m optional scc
dev/scc/scc_bfe_ebus.c optional scc ebus
dev/scc/scc_bfe_quicc.c optional scc quicc
dev/scc/scc_bfe_sbus.c optional scc fhc | scc sbus
dev/scc/scc_core.c optional scc
dev/scc/scc_dev_quicc.c optional scc quicc
dev/scc/scc_dev_sab82532.c optional scc
dev/scc/scc_dev_z8530.c optional scc
dev/scd/scd.c optional scd isa
@ -1109,6 +1112,7 @@ dev/uart/uart_bus_scc.c optional uart scc
dev/uart/uart_core.c optional uart
dev/uart/uart_dbg.c optional uart gdb
dev/uart/uart_dev_ns8250.c optional uart uart_ns8250
dev/uart/uart_dev_quicc.c optional uart quicc
dev/uart/uart_dev_sab82532.c optional uart uart_sab82532
dev/uart/uart_dev_sab82532.c optional uart scc
dev/uart/uart_dev_z8530.c optional uart uart_z8530

View File

@ -37,10 +37,13 @@ dev/ofw/ofw_bus_subr.c optional aim
dev/ofw/ofw_console.c optional aim
dev/ofw/ofw_disk.c optional ofwd aim
dev/powermac_nvram/powermac_nvram.c optional powermac_nvram powermac
dev/quicc/quicc_bfe_ocp.c optional quicc mpc85xx
dev/scc/scc_bfe_macio.c optional scc powermac
dev/syscons/scgfbrndr.c optional sc
dev/syscons/scterm-sc.c optional sc
dev/syscons/scvtb.c optional sc
dev/tsec/if_tsec.c optional tsec
dev/uart/uart_bus_ocp.c optional uart mpc85xx
dev/uart/uart_cpu_powerpc.c optional uart
kern/syscalls.c optional ktr
libkern/ashldi3.c standard
@ -73,6 +76,17 @@ powerpc/aim/trap.c optional aim
powerpc/aim/uio_machdep.c optional aim
powerpc/aim/uma_machdep.c optional aim
powerpc/aim/vm_machdep.c optional aim
powerpc/booke/clock.c optional e500
powerpc/booke/copyinout.c optional e500
powerpc/booke/interrupt.c optional e500
powerpc/booke/locore.S optional e500 no-obj
powerpc/booke/machdep.c optional e500
powerpc/booke/pmap.c optional e500
powerpc/booke/support.S optional e500
powerpc/booke/swtch.S optional e500
powerpc/booke/trap.c optional e500
powerpc/booke/uio_machdep.c optional e500
powerpc/booke/vm_machdep.c optional e500
powerpc/fpu/fpu_add.c optional fpu_emu
powerpc/fpu/fpu_compare.c optional fpu_emu
powerpc/fpu/fpu_div.c optional fpu_emu
@ -82,6 +96,10 @@ powerpc/fpu/fpu_implode.c optional fpu_emu
powerpc/fpu/fpu_mul.c optional fpu_emu
powerpc/fpu/fpu_sqrt.c optional fpu_emu
powerpc/fpu/fpu_subr.c optional fpu_emu
powerpc/mpc85xx/nexus.c optional mpc85xx
powerpc/mpc85xx/ocpbus.c optional mpc85xx
powerpc/mpc85xx/opic.c optional mpc85xx
powerpc/mpc85xx/pci_ocp.c optional pci mpc85xx
powerpc/ofw/ofw_pci.c optional pci aim
powerpc/ofw/ofw_pcib_pci.c optional pci aim
powerpc/ofw/ofw_syscons.c optional sc aim
@ -105,14 +123,14 @@ powerpc/powerpc/db_hwwatch.c optional ddb
powerpc/powerpc/db_interface.c optional ddb
powerpc/powerpc/db_trace.c optional ddb
powerpc/powerpc/elf_machdep.c standard
powerpc/powerpc/fpu.c standard
powerpc/powerpc/fpu.c optional aim
powerpc/powerpc/fuswintr.c standard
powerpc/powerpc/gdb_machdep.c optional gdb
powerpc/powerpc/in_cksum.c optional inet
powerpc/powerpc/intr_machdep.c standard
powerpc/powerpc/mem.c optional mem
powerpc/powerpc/mmu_if.m standard
powerpc/powerpc/mp_machdep.c optional smp
powerpc/powerpc/mp_machdep.c optional smp aim
powerpc/powerpc/openpic.c standard
powerpc/powerpc/pic_if.m standard
powerpc/powerpc/pmap_dispatch.c standard

72
sys/powerpc/conf/MPC85XX Normal file
View File

@ -0,0 +1,72 @@
#
# Custom kernel for Freescale MPC85XX development boards like the CDS etc.
#
# $FreeBSD$
#
cpu E500
ident MPC85XX
makeoptions DEBUG="-Wa,-me500 -g"
makeoptions NO_MODULES=yes
options FPU_EMU
options _KPOSIX_PRIORITY_SCHEDULING
options ALT_BREAK_TO_DEBUGGER
options BREAK_TO_DEBUGGER
options BOOTP
options BOOTP_NFSROOT
options BOOTP_NFSV3
options BOOTP_WIRED_TO=tsec0
options CD9660
options COMPAT_43
options DDB
#options DIAGNOSTIC
options FFS
options GDB
options GEOM_PART_GPT
options INET
options INET6
options INVARIANTS
options INVARIANT_SUPPORT
options KDB
options KTRACE
options MD_ROOT
options MPC85XX
options MSDOSFS
options NFS_ROOT
options NFSCLIENT
options PROCFS
options PSEUDOFS
options SCHED_4BSD
options SYSVMSG
options SYSVSEM
options SYSVSHM
options WITNESS
options WITNESS_SKIPSPIN
device ata
device atadisk
device bpf
device da
device em
device ether
device fxp
device loop
device md
device miibus
device pci
device pty
device quicc
device random
#device rl
device scbus
device scc
device tsec
device tun
device uart
device ugen
#device uhci
device umass
device usb

View File

@ -11,9 +11,11 @@
#
# You must specify at least one CPU (the one you intend to run on).
cpu AIM
cpu E500
options FPU_EMU
options MPC85XX
options POWERMAC #NewWorld Apple PowerMacs
options PSIM #GDB PSIM ppc simulator