2001-06-17 09:39:44 +00:00
|
|
|
# This file tells config what files go into building a kernel,
|
|
|
|
# files marked standard are always included.
|
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
# The long compile-with and dependency lines are required because of
|
|
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
|
|
# dependency lines other than the first are silently ignored.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
2007-10-25 14:16:07 +00:00
|
|
|
font.h optional sc \
|
2007-12-14 23:47:39 +00:00
|
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
|
2004-01-21 05:19:59 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
|
2006-06-08 23:38:01 +00:00
|
|
|
#
|
2012-03-27 21:23:56 +00:00
|
|
|
# There is only an asm version on ppc64.
|
2015-06-10 15:53:39 +00:00
|
|
|
cddl/compat/opensolaris/kern/opensolaris_atomic.c optional zfs powerpc | dtrace powerpc compile-with "${ZFS_C}"
|
|
|
|
cddl/contrib/opensolaris/common/atomic/powerpc64/opensolaris_atomic.S optional zfs powerpc64 | dtrace powerpc64 compile-with "${ZFS_S}"
|
|
|
|
cddl/dev/dtrace/powerpc/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
|
|
|
|
cddl/dev/dtrace/powerpc/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
|
|
|
|
cddl/dev/fbt/powerpc/fbt_isa.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}"
|
2017-02-06 08:49:57 +00:00
|
|
|
crypto/blowfish/bf_enc.c optional crypto | ipsec | ipsec_support
|
|
|
|
crypto/des/des_enc.c optional crypto | ipsec | ipsec_support | netsmb
|
2008-06-07 22:58:32 +00:00
|
|
|
dev/bm/if_bm.c optional bm powermac
|
2008-10-26 19:37:38 +00:00
|
|
|
dev/adb/adb_bus.c optional adb
|
|
|
|
dev/adb/adb_kbd.c optional adb
|
|
|
|
dev/adb/adb_mouse.c optional adb
|
|
|
|
dev/adb/adb_hb_if.m optional adb
|
|
|
|
dev/adb/adb_if.m optional adb
|
2011-10-16 21:01:42 +00:00
|
|
|
dev/adb/adb_buttons.c optional adb
|
2010-10-31 18:27:05 +00:00
|
|
|
dev/agp/agp_apple.c optional agp powermac
|
2004-01-21 05:19:59 +00:00
|
|
|
dev/fb/fb.c optional sc
|
Convert Freescale PowerPC platforms to FDT convention.
The following systems are affected:
- MPC8555CDS
- MPC8572DS
This overhaul covers the following major changes:
- All integrated peripherals drivers for Freescale MPC85XX SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC,
QUICC, UART, CFI.
- Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire
ocpbus(4) driver, which was based on hard-coded config data.
Note that world for these platforms has to be built WITH_FDT.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
2010-07-11 21:08:29 +00:00
|
|
|
dev/fdt/fdt_powerpc.c optional fdt
|
2015-03-27 23:10:15 +00:00
|
|
|
# ofwbus depends on simplebus.
|
|
|
|
dev/fdt/simplebus.c optional aim | fdt
|
2015-04-18 21:39:17 +00:00
|
|
|
dev/hwpmc/hwpmc_e500.c optional hwpmc
|
2013-09-05 13:53:25 +00:00
|
|
|
dev/hwpmc/hwpmc_mpc7xxx.c optional hwpmc
|
2015-04-18 21:39:17 +00:00
|
|
|
dev/hwpmc/hwpmc_powerpc.c optional hwpmc
|
2014-02-01 02:03:50 +00:00
|
|
|
dev/hwpmc/hwpmc_ppc970.c optional hwpmc
|
2011-05-29 14:25:42 +00:00
|
|
|
dev/iicbus/ad7417.c optional ad7417 powermac
|
2015-04-04 06:24:03 +00:00
|
|
|
dev/iicbus/adm1030.c optional powermac windtunnel | adm1030 powermac
|
2014-02-03 01:22:50 +00:00
|
|
|
dev/iicbus/adt746x.c optional adt746x powermac
|
2012-08-19 19:37:14 +00:00
|
|
|
dev/iicbus/ds1631.c optional ds1631 powermac
|
2010-10-15 20:08:16 +00:00
|
|
|
dev/iicbus/ds1775.c optional ds1775 powermac
|
|
|
|
dev/iicbus/max6690.c optional max6690 powermac
|
2016-05-24 01:33:49 +00:00
|
|
|
dev/iicbus/ofw_iicbus.c optional iicbus aim
|
2012-07-03 01:00:29 +00:00
|
|
|
dev/nand/nfc_fsl.c optional nand mpc85xx
|
2015-05-04 20:36:00 +00:00
|
|
|
dev/nand/nfc_rb.c optional nand mpc85xx
|
2012-10-24 16:53:02 +00:00
|
|
|
# ofw can be either aim or fdt: fdt case handled in files. aim only powerpc specific.
|
|
|
|
dev/ofw/openfirm.c optional aim
|
|
|
|
dev/ofw/openfirmio.c optional aim
|
|
|
|
dev/ofw/ofw_bus_if.m optional aim
|
2014-12-14 22:41:08 +00:00
|
|
|
dev/ofw/ofw_cpu.c optional aim
|
2012-10-24 16:53:02 +00:00
|
|
|
dev/ofw/ofw_if.m optional aim
|
|
|
|
dev/ofw/ofw_bus_subr.c optional aim
|
2007-12-16 01:02:47 +00:00
|
|
|
dev/ofw/ofw_console.c optional aim
|
|
|
|
dev/ofw/ofw_disk.c optional ofwd aim
|
2014-02-05 14:44:22 +00:00
|
|
|
dev/ofw/ofwbus.c optional aim | fdt
|
2016-04-01 09:07:18 +00:00
|
|
|
dev/ofw/ofwpci.c optional pci
|
2010-07-13 05:32:19 +00:00
|
|
|
dev/ofw/ofw_standard.c optional aim powerpc
|
2015-12-21 18:07:32 +00:00
|
|
|
dev/ofw/ofw_subr.c optional aim powerpc
|
2007-12-14 23:47:39 +00:00
|
|
|
dev/powermac_nvram/powermac_nvram.c optional powermac_nvram powermac
|
Convert Freescale PowerPC platforms to FDT convention.
The following systems are affected:
- MPC8555CDS
- MPC8572DS
This overhaul covers the following major changes:
- All integrated peripherals drivers for Freescale MPC85XX SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC,
QUICC, UART, CFI.
- Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire
ocpbus(4) driver, which was based on hard-coded config data.
Note that world for these platforms has to be built WITH_FDT.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
2010-07-11 21:08:29 +00:00
|
|
|
dev/quicc/quicc_bfe_fdt.c optional quicc mpc85xx
|
2007-12-14 23:47:39 +00:00
|
|
|
dev/scc/scc_bfe_macio.c optional scc powermac
|
2016-11-02 00:57:04 +00:00
|
|
|
dev/sdhci/fsl_sdhci.c optional mpc85xx sdhci
|
2009-06-06 09:37:55 +00:00
|
|
|
dev/sec/sec.c optional sec mpc85xx
|
2009-01-25 18:20:15 +00:00
|
|
|
dev/sound/macio/aoa.c optional snd_davbus | snd_ai2s powermac
|
|
|
|
dev/sound/macio/davbus.c optional snd_davbus powermac
|
|
|
|
dev/sound/macio/i2s.c optional snd_ai2s powermac
|
2012-08-19 19:40:33 +00:00
|
|
|
dev/sound/macio/onyx.c optional snd_ai2s iicbus powermac
|
2009-01-25 18:20:15 +00:00
|
|
|
dev/sound/macio/snapper.c optional snd_ai2s iicbus powermac
|
|
|
|
dev/sound/macio/tumbler.c optional snd_ai2s iicbus powermac
|
2004-01-21 05:19:59 +00:00
|
|
|
dev/syscons/scgfbrndr.c optional sc
|
Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is
terminal emulator. It does not buffer any screen contents, but only
keeps terminal state, such as cursor position, attributes, etc. It
should implement all escape sequences that are implemented by the
cons25 terminal emulator, but also a fair amount of sequences that are
present in VT100 and xterm.
A lot of random notes, which could be of interest to users/developers:
- Even though I'm leaving the terminal type set to `cons25', users can
do experiments with placing `xterm-color' in /etc/ttys. Because we
only implement a subset of features of xterm, this may cause
artifacts. We should consider extending libteken, because in my
opinion xterm is the way to go. Some missing features:
- Keypad application mode (DECKPAM)
- Character sets (SCS)
- libteken is filled with a fair amount of assertions, but unfortunately
we cannot go into the debugger anymore if we fail them. I've done
development of this library almost entirely in userspace. In
sys/dev/syscons/teken there are two applications that can be helpful
when debugging the code:
- teken_demo: a terminal emulator that can be started from a regular
xterm that emulates a terminal using libteken. This application can
be very useful to debug any rendering issues.
- teken_stress: a stress testing application that emulates random
terminal output. libteken has literally survived multiple terabytes
of random input.
- libteken also includes support for UTF-8, but unfortunately our input
layer and font renderer don't support this. If users want to
experiment with UTF-8 support, they can enable `TEKEN_UTF8' in
teken.h. If you recompile your kernel or the teken_demo application,
you can hold some nice experiments.
- I've left PC98 the way it is right now. The PC98 platform has a custom
syscons renderer, which supports some form of localised input. Maybe
we should port PC98 to libteken by the time syscons supports UTF-8?
- I've removed the `dumb' terminal emulator. It has been broken for
years. It hasn't survived the `struct proc' -> `struct thread'
conversion.
- To prevent confusion among people that want to hack on libteken:
unlike syscons, the state machines that parse the escape sequences are
machine generated. This means that if you want to add new escape
sequences, you have to add an entry to the `sequences' file. This will
cause new entries to be added to `teken_state.h'.
- Any rendering artifacts that didn't occur prior to this commit are by
accident. They should be reported to me, so I can fix them.
Discussed on: current@, hackers@
Discussed with: philip (at 25C3)
2009-01-01 13:26:53 +00:00
|
|
|
dev/syscons/scterm-teken.c optional sc
|
2004-01-21 05:19:59 +00:00
|
|
|
dev/syscons/scvtb.c optional sc
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/tsec/if_tsec.c optional tsec
|
Convert Freescale PowerPC platforms to FDT convention.
The following systems are affected:
- MPC8555CDS
- MPC8572DS
This overhaul covers the following major changes:
- All integrated peripherals drivers for Freescale MPC85XX SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC,
QUICC, UART, CFI.
- Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire
ocpbus(4) driver, which was based on hard-coded config data.
Note that world for these platforms has to be built WITH_FDT.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
2010-07-11 21:08:29 +00:00
|
|
|
dev/tsec/if_tsec_fdt.c optional tsec fdt
|
2013-12-01 16:02:22 +00:00
|
|
|
dev/uart/uart_cpu_powerpc.c optional uart
|
2016-08-03 01:22:11 +00:00
|
|
|
dev/usb/controller/ehci_fsl.c optional ehci mpc85xx
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/vt/hw/ofwfb/ofwfb.c optional vt aim
|
2010-09-11 04:45:51 +00:00
|
|
|
kern/kern_clocksource.c standard
|
2012-06-22 07:06:40 +00:00
|
|
|
kern/subr_dummy_vdso_tc.c standard
|
2004-07-11 01:38:25 +00:00
|
|
|
kern/syscalls.c optional ktr
|
2014-08-05 09:44:10 +00:00
|
|
|
kern/subr_sfbuf.c standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
libkern/ashldi3.c optional powerpc | powerpcspe
|
|
|
|
libkern/ashrdi3.c optional powerpc | powerpcspe
|
2007-12-14 23:47:39 +00:00
|
|
|
libkern/bcmp.c standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
libkern/cmpdi2.c optional powerpc | powerpcspe
|
|
|
|
libkern/divdi3.c optional powerpc | powerpcspe
|
2007-12-14 23:47:39 +00:00
|
|
|
libkern/ffs.c standard
|
|
|
|
libkern/ffsl.c standard
|
2015-10-22 20:28:37 +00:00
|
|
|
libkern/ffsll.c standard
|
2007-12-14 23:47:39 +00:00
|
|
|
libkern/fls.c standard
|
|
|
|
libkern/flsl.c standard
|
2014-02-14 15:18:37 +00:00
|
|
|
libkern/flsll.c standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
libkern/lshrdi3.c optional powerpc | powerpcspe
|
2009-02-28 16:21:25 +00:00
|
|
|
libkern/memmove.c standard
|
2007-12-14 23:47:39 +00:00
|
|
|
libkern/memset.c standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
libkern/moddi3.c optional powerpc | powerpcspe
|
|
|
|
libkern/qdivrem.c optional powerpc | powerpcspe
|
|
|
|
libkern/ucmpdi2.c optional powerpc | powerpcspe
|
|
|
|
libkern/udivdi3.c optional powerpc | powerpcspe
|
|
|
|
libkern/umoddi3.c optional powerpc | powerpcspe
|
2007-12-16 01:02:47 +00:00
|
|
|
powerpc/aim/locore.S optional aim no-obj
|
2015-04-30 04:44:41 +00:00
|
|
|
powerpc/aim/aim_machdep.c optional aim
|
2010-07-13 05:32:19 +00:00
|
|
|
powerpc/aim/mmu_oea.c optional aim powerpc
|
2009-04-04 00:22:44 +00:00
|
|
|
powerpc/aim/mmu_oea64.c optional aim
|
2010-12-04 02:42:52 +00:00
|
|
|
powerpc/aim/moea64_if.m optional aim
|
|
|
|
powerpc/aim/moea64_native.c optional aim
|
2014-01-31 03:55:34 +00:00
|
|
|
powerpc/aim/mp_cpudep.c optional aim
|
2010-07-13 05:32:19 +00:00
|
|
|
powerpc/aim/slb.c optional aim powerpc64
|
2012-05-27 10:25:20 +00:00
|
|
|
powerpc/booke/locore.S optional booke no-obj
|
2015-04-30 04:44:41 +00:00
|
|
|
powerpc/booke/booke_machdep.c optional booke
|
2012-05-30 17:34:40 +00:00
|
|
|
powerpc/booke/machdep_e500.c optional booke_e500
|
2012-05-27 10:25:20 +00:00
|
|
|
powerpc/booke/mp_cpudep.c optional booke smp
|
2013-11-11 16:14:25 +00:00
|
|
|
powerpc/booke/platform_bare.c optional booke
|
2012-05-27 10:25:20 +00:00
|
|
|
powerpc/booke/pmap.c optional booke
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
powerpc/booke/spe.c optional powerpcspe
|
2009-05-31 09:01:23 +00:00
|
|
|
powerpc/cpufreq/dfs.c optional cpufreq
|
2009-06-23 04:28:32 +00:00
|
|
|
powerpc/cpufreq/pcr.c optional cpufreq aim
|
2013-12-13 02:37:35 +00:00
|
|
|
powerpc/cpufreq/pmufreq.c optional cpufreq aim pmu
|
2013-12-05 21:49:14 +00:00
|
|
|
powerpc/fpu/fpu_add.c optional fpu_emu
|
|
|
|
powerpc/fpu/fpu_compare.c optional fpu_emu
|
|
|
|
powerpc/fpu/fpu_div.c optional fpu_emu
|
|
|
|
powerpc/fpu/fpu_emu.c optional fpu_emu
|
|
|
|
powerpc/fpu/fpu_explode.c optional fpu_emu
|
|
|
|
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
|
2010-07-31 13:22:34 +00:00
|
|
|
powerpc/mambo/mambocall.S optional mambo
|
|
|
|
powerpc/mambo/mambo.c optional mambo
|
|
|
|
powerpc/mambo/mambo_console.c optional mambo
|
|
|
|
powerpc/mambo/mambo_disk.c optional mambo
|
2015-08-22 05:50:18 +00:00
|
|
|
powerpc/mikrotik/platform_rb.c optional mikrotik
|
2017-02-19 19:56:12 +00:00
|
|
|
powerpc/mikrotik/rb_led.c optional mikrotik
|
2009-04-24 03:51:11 +00:00
|
|
|
powerpc/mpc85xx/atpic.c optional mpc85xx isa
|
Convert Freescale PowerPC platforms to FDT convention.
The following systems are affected:
- MPC8555CDS
- MPC8572DS
This overhaul covers the following major changes:
- All integrated peripherals drivers for Freescale MPC85XX SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC,
QUICC, UART, CFI.
- Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire
ocpbus(4) driver, which was based on hard-coded config data.
Note that world for these platforms has to be built WITH_FDT.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
2010-07-11 21:08:29 +00:00
|
|
|
powerpc/mpc85xx/ds1553_bus_fdt.c optional ds1553 fdt
|
2009-06-22 15:48:47 +00:00
|
|
|
powerpc/mpc85xx/ds1553_core.c optional ds1553
|
2016-09-27 00:53:41 +00:00
|
|
|
powerpc/mpc85xx/fsl_diu.c optional mpc85xx diu
|
2017-04-02 01:21:35 +00:00
|
|
|
powerpc/mpc85xx/fsl_espi.c optional mpc85xx spibus
|
Convert Freescale PowerPC platforms to FDT convention.
The following systems are affected:
- MPC8555CDS
- MPC8572DS
This overhaul covers the following major changes:
- All integrated peripherals drivers for Freescale MPC85XX SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC,
QUICC, UART, CFI.
- Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire
ocpbus(4) driver, which was based on hard-coded config data.
Note that world for these platforms has to be built WITH_FDT.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
2010-07-11 21:08:29 +00:00
|
|
|
powerpc/mpc85xx/i2c.c optional iicbus fdt
|
2009-06-22 15:53:41 +00:00
|
|
|
powerpc/mpc85xx/isa.c optional mpc85xx isa
|
2016-08-03 01:22:11 +00:00
|
|
|
powerpc/mpc85xx/lbc.c optional mpc85xx
|
|
|
|
powerpc/mpc85xx/mpc85xx.c optional mpc85xx
|
2015-04-04 06:22:14 +00:00
|
|
|
powerpc/mpc85xx/mpc85xx_gpio.c optional mpc85xx gpio
|
2016-08-03 01:22:11 +00:00
|
|
|
powerpc/mpc85xx/platform_mpc85xx.c optional mpc85xx
|
|
|
|
powerpc/mpc85xx/pci_mpc85xx.c optional pci mpc85xx
|
|
|
|
powerpc/mpc85xx/pci_mpc85xx_pcib.c optional pci mpc85xx
|
|
|
|
powerpc/mpc85xx/qoriq_gpio.c optional mpc85xx gpio
|
2013-11-11 15:43:21 +00:00
|
|
|
powerpc/ofw/ofw_machdep.c standard
|
2013-10-25 14:43:16 +00:00
|
|
|
powerpc/ofw/ofw_pcibus.c optional pci
|
|
|
|
powerpc/ofw/ofw_pcib_pci.c optional pci
|
2009-04-05 18:40:15 +00:00
|
|
|
powerpc/ofw/ofw_real.c optional aim
|
2007-12-16 01:02:47 +00:00
|
|
|
powerpc/ofw/ofw_syscons.c optional sc aim
|
2011-06-02 14:22:00 +00:00
|
|
|
powerpc/ofw/ofwcall32.S optional aim powerpc
|
|
|
|
powerpc/ofw/ofwcall64.S optional aim powerpc64
|
|
|
|
powerpc/ofw/ofwmagic.S optional aim
|
2013-10-22 14:07:57 +00:00
|
|
|
powerpc/ofw/openpic_ofw.c optional aim | fdt
|
2011-06-02 14:22:00 +00:00
|
|
|
powerpc/ofw/rtas.c optional aim
|
2009-04-04 17:05:17 +00:00
|
|
|
powerpc/powermac/ata_kauai.c optional powermac ata | powermac atamacio
|
|
|
|
powerpc/powermac/ata_macio.c optional powermac ata | powermac atamacio
|
|
|
|
powerpc/powermac/ata_dbdma.c optional powermac ata | powermac atamacio
|
2012-02-26 13:45:25 +00:00
|
|
|
powerpc/powermac/atibl.c optional powermac atibl
|
2009-06-23 04:28:32 +00:00
|
|
|
powerpc/powermac/cuda.c optional powermac cuda
|
|
|
|
powerpc/powermac/cpcht.c optional powermac pci
|
2008-06-07 21:56:48 +00:00
|
|
|
powerpc/powermac/dbdma.c optional powermac pci
|
2010-10-15 20:08:16 +00:00
|
|
|
powerpc/powermac/fcu.c optional powermac fcu
|
2007-12-14 23:47:39 +00:00
|
|
|
powerpc/powermac/grackle.c optional powermac pci
|
|
|
|
powerpc/powermac/hrowpic.c optional powermac pci
|
2009-01-15 02:52:31 +00:00
|
|
|
powerpc/powermac/kiic.c optional powermac kiic
|
2009-06-23 04:28:32 +00:00
|
|
|
powerpc/powermac/macgpio.c optional powermac pci
|
2007-12-14 23:47:39 +00:00
|
|
|
powerpc/powermac/macio.c optional powermac pci
|
2012-08-04 03:05:01 +00:00
|
|
|
powerpc/powermac/nvbl.c optional powermac nvbl
|
2010-08-31 15:27:46 +00:00
|
|
|
powerpc/powermac/platform_powermac.c optional powermac
|
2011-05-28 21:13:22 +00:00
|
|
|
powerpc/powermac/powermac_thermal.c optional powermac
|
2007-12-14 23:47:39 +00:00
|
|
|
powerpc/powermac/pswitch.c optional powermac pswitch
|
2008-10-26 19:37:38 +00:00
|
|
|
powerpc/powermac/pmu.c optional powermac pmu
|
2009-06-23 04:28:32 +00:00
|
|
|
powerpc/powermac/smu.c optional powermac smu
|
2010-06-05 17:51:37 +00:00
|
|
|
powerpc/powermac/smusat.c optional powermac smu
|
2010-05-16 15:18:25 +00:00
|
|
|
powerpc/powermac/uninorth.c optional powermac
|
|
|
|
powerpc/powermac/uninorthpci.c optional powermac pci
|
2009-05-31 09:01:23 +00:00
|
|
|
powerpc/powermac/vcoregpio.c optional powermac
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
powerpc/powerpc/altivec.c optional powerpc | powerpc64
|
2001-06-17 09:39:44 +00:00
|
|
|
powerpc/powerpc/autoconf.c standard
|
|
|
|
powerpc/powerpc/bcopy.c standard
|
2007-12-19 18:00:50 +00:00
|
|
|
powerpc/powerpc/bus_machdep.c standard
|
2002-07-09 12:47:14 +00:00
|
|
|
powerpc/powerpc/busdma_machdep.c standard
|
2013-10-20 16:37:03 +00:00
|
|
|
powerpc/powerpc/clock.c standard
|
2013-11-11 23:37:16 +00:00
|
|
|
powerpc/powerpc/copyinout.c standard
|
2001-06-17 09:39:44 +00:00
|
|
|
powerpc/powerpc/copystr.c standard
|
2003-02-05 12:09:53 +00:00
|
|
|
powerpc/powerpc/cpu.c standard
|
2007-12-14 23:47:39 +00:00
|
|
|
powerpc/powerpc/db_disasm.c optional ddb
|
|
|
|
powerpc/powerpc/db_hwwatch.c optional ddb
|
|
|
|
powerpc/powerpc/db_interface.c optional ddb
|
|
|
|
powerpc/powerpc/db_trace.c optional ddb
|
2009-04-04 02:12:37 +00:00
|
|
|
powerpc/powerpc/dump_machdep.c standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
powerpc/powerpc/elf32_machdep.c optional powerpc | powerpcspe | compat_freebsd32
|
2010-07-13 05:32:19 +00:00
|
|
|
powerpc/powerpc/elf64_machdep.c optional powerpc64
|
2010-07-12 16:08:07 +00:00
|
|
|
powerpc/powerpc/exec_machdep.c standard
|
2013-11-17 14:44:22 +00:00
|
|
|
powerpc/powerpc/fpu.c standard
|
2001-06-17 09:39:44 +00:00
|
|
|
powerpc/powerpc/fuswintr.c standard
|
2006-08-24 21:52:11 +00:00
|
|
|
powerpc/powerpc/gdb_machdep.c optional gdb
|
2011-04-20 12:58:30 +00:00
|
|
|
powerpc/powerpc/in_cksum.c optional inet | inet6
|
2015-07-06 05:08:57 +00:00
|
|
|
powerpc/powerpc/interrupt.c standard
|
2002-07-09 11:12:20 +00:00
|
|
|
powerpc/powerpc/intr_machdep.c standard
|
2010-12-03 16:37:37 +00:00
|
|
|
powerpc/powerpc/iommu_if.m standard
|
2015-04-30 04:44:41 +00:00
|
|
|
powerpc/powerpc/machdep.c standard
|
2007-12-14 23:47:39 +00:00
|
|
|
powerpc/powerpc/mem.c optional mem
|
2005-11-08 06:48:08 +00:00
|
|
|
powerpc/powerpc/mmu_if.m standard
|
2008-04-30 00:50:50 +00:00
|
|
|
powerpc/powerpc/mp_machdep.c optional smp
|
2013-10-20 18:40:55 +00:00
|
|
|
powerpc/powerpc/nexus.c standard
|
2002-07-09 11:26:10 +00:00
|
|
|
powerpc/powerpc/openpic.c standard
|
2002-07-09 11:12:20 +00:00
|
|
|
powerpc/powerpc/pic_if.m standard
|
2005-11-08 06:48:08 +00:00
|
|
|
powerpc/powerpc/pmap_dispatch.c standard
|
2009-05-14 00:34:26 +00:00
|
|
|
powerpc/powerpc/platform.c standard
|
|
|
|
powerpc/powerpc/platform_if.m standard
|
2015-01-14 07:01:21 +00:00
|
|
|
powerpc/powerpc/ptrace_machdep.c standard
|
2004-01-21 05:19:59 +00:00
|
|
|
powerpc/powerpc/sc_machdep.c optional sc
|
2002-07-10 12:26:17 +00:00
|
|
|
powerpc/powerpc/setjmp.S standard
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
powerpc/powerpc/sigcode32.S optional powerpc | powerpcspe | compat_freebsd32
|
2010-07-13 05:32:19 +00:00
|
|
|
powerpc/powerpc/sigcode64.S optional powerpc64
|
Create a new MACHINE_ARCH for Freescale PowerPC e500v2
Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement. setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).
Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.
Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.
Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used. However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.
Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI. Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.
Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683
2016-10-22 01:57:15 +00:00
|
|
|
powerpc/powerpc/swtch32.S optional powerpc | powerpcspe
|
2013-11-11 17:37:50 +00:00
|
|
|
powerpc/powerpc/swtch64.S optional powerpc64
|
Break out stack(9) from ddb(4):
- Introduce per-architecture stack_machdep.c to hold stack_save(9).
- Introduce per-architecture machine/stack.h to capture any common
definitions required between db_trace.c and stack_machdep.c.
- Add new kernel option "options STACK"; we will build in stack(9) if it is
defined, or also if "options DDB" is defined to provide compatibility
with existing users of stack(9).
Add new stack_save_td(9) function, which allows the capture of a stacktrace
of another thread rather than the current thread, which the existing
stack_save(9) was limited to. It requires that the thread be neither
swapped out nor running, which is the responsibility of the consumer to
enforce.
Update stack(9) man page.
Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v
Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
2007-12-02 20:40:35 +00:00
|
|
|
powerpc/powerpc/stack_machdep.c optional ddb | stack
|
2001-06-17 09:39:44 +00:00
|
|
|
powerpc/powerpc/suswintr.c standard
|
|
|
|
powerpc/powerpc/syncicache.c standard
|
|
|
|
powerpc/powerpc/sys_machdep.c standard
|
2015-04-05 02:43:36 +00:00
|
|
|
powerpc/powerpc/trap.c standard
|
2009-04-04 00:22:44 +00:00
|
|
|
powerpc/powerpc/uio_machdep.c standard
|
2015-04-30 04:44:41 +00:00
|
|
|
powerpc/powerpc/uma_machdep.c standard
|
2013-10-20 16:14:03 +00:00
|
|
|
powerpc/powerpc/vm_machdep.c standard
|
2011-01-06 04:12:29 +00:00
|
|
|
powerpc/ps3/ehci_ps3.c optional ps3 ehci
|
2011-06-20 00:46:07 +00:00
|
|
|
powerpc/ps3/ohci_ps3.c optional ps3 ohci
|
2011-01-06 04:12:29 +00:00
|
|
|
powerpc/ps3/if_glc.c optional ps3 glc
|
|
|
|
powerpc/ps3/mmu_ps3.c optional ps3
|
|
|
|
powerpc/ps3/platform_ps3.c optional ps3
|
|
|
|
powerpc/ps3/ps3bus.c optional ps3
|
2011-08-14 00:20:37 +00:00
|
|
|
powerpc/ps3/ps3cdrom.c optional ps3 scbus
|
2011-06-20 00:17:44 +00:00
|
|
|
powerpc/ps3/ps3disk.c optional ps3
|
2011-01-06 04:12:29 +00:00
|
|
|
powerpc/ps3/ps3pic.c optional ps3
|
2014-05-11 05:49:35 +00:00
|
|
|
powerpc/ps3/ps3_syscons.c optional ps3 vt
|
|
|
|
powerpc/ps3/ps3-hvcall.S optional ps3
|
2013-09-17 17:37:04 +00:00
|
|
|
powerpc/pseries/phyp-hvcall.S optional pseries powerpc64
|
|
|
|
powerpc/pseries/mmu_phyp.c optional pseries powerpc64
|
2013-10-02 13:33:10 +00:00
|
|
|
powerpc/pseries/phyp_console.c optional pseries powerpc64 uart
|
2013-10-20 01:31:09 +00:00
|
|
|
powerpc/pseries/phyp_llan.c optional llan
|
2013-09-28 15:46:03 +00:00
|
|
|
powerpc/pseries/phyp_vscsi.c optional pseries powerpc64 scbus
|
2013-09-17 17:37:04 +00:00
|
|
|
powerpc/pseries/platform_chrp.c optional pseries
|
|
|
|
powerpc/pseries/plpar_iommu.c optional pseries powerpc64
|
2013-11-12 16:15:09 +00:00
|
|
|
powerpc/pseries/plpar_pcibus.c optional pseries powerpc64 pci
|
2013-09-17 17:37:04 +00:00
|
|
|
powerpc/pseries/rtas_dev.c optional pseries
|
|
|
|
powerpc/pseries/rtas_pci.c optional pseries pci
|
|
|
|
powerpc/pseries/vdevice.c optional pseries powerpc64
|
|
|
|
powerpc/pseries/xics.c optional pseries powerpc64
|
2007-10-25 14:16:07 +00:00
|
|
|
powerpc/psim/iobus.c optional psim
|
|
|
|
powerpc/psim/ata_iobus.c optional ata psim
|
|
|
|
powerpc/psim/openpic_iobus.c optional psim
|
|
|
|
powerpc/psim/uart_iobus.c optional uart psim
|