Date: Fri, 23 Sep 2016 23:11:58 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r306283 - in user/alc/PQ_LAUNDRY: lib/libc/locale lib/libc/sys lib/libcompiler_rt sbin/mount_msdosfs share/mk sys/arm/allwinner sys/arm/altera/socfpga sys/arm/amlogic/aml8726 sys/arm/an... Message-ID: <201609232311.u8NNBwJv068723@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Fri Sep 23 23:11:58 2016 New Revision: 306283 URL: https://svnweb.freebsd.org/changeset/base/306283 Log: MFH r306282 Added: user/alc/PQ_LAUNDRY/usr.bin/proccontrol/ - copied from r306282, head/usr.bin/proccontrol/ Modified: user/alc/PQ_LAUNDRY/lib/libc/sys/cap_enter.2 user/alc/PQ_LAUNDRY/lib/libc/sys/procctl.2 user/alc/PQ_LAUNDRY/lib/libcompiler_rt/Makefile user/alc/PQ_LAUNDRY/sbin/mount_msdosfs/mount_msdosfs.8 user/alc/PQ_LAUNDRY/share/mk/src.opts.mk user/alc/PQ_LAUNDRY/sys/arm/allwinner/a10_common.c user/alc/PQ_LAUNDRY/sys/arm/allwinner/aw_machdep.c user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_common.c user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_machdep.c user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_machdep.c user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep.c user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c user/alc/PQ_LAUNDRY/sys/arm/arm/busdma_machdep-v6.c user/alc/PQ_LAUNDRY/sys/arm/arm/platform.c user/alc/PQ_LAUNDRY/sys/arm/arm/platform_if.m user/alc/PQ_LAUNDRY/sys/arm/at91/at91_common.c user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_common.c user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx51_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx53_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_common.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_common.c user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_machdep.c user/alc/PQ_LAUNDRY/sys/arm/include/bus_dma.h user/alc/PQ_LAUNDRY/sys/arm/lpc/lpc_intc.c user/alc/PQ_LAUNDRY/sys/arm/mv/mv_machdep.c user/alc/PQ_LAUNDRY/sys/arm/nvidia/tegra124/tegra124_machdep.c user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_machdep.c user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_common.c user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_machdep.c user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_common.c user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_machdep.c user/alc/PQ_LAUNDRY/sys/arm/ti/ti_common.c user/alc/PQ_LAUNDRY/sys/arm/ti/ti_machdep.c user/alc/PQ_LAUNDRY/sys/arm/versatile/versatile_common.c user/alc/PQ_LAUNDRY/sys/arm/versatile/versatile_machdep.c user/alc/PQ_LAUNDRY/sys/arm/xilinx/zy7_machdep.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/arch/amd64/ldscript.amd64 user/alc/PQ_LAUNDRY/sys/boot/efi/loader/arch/i386/ldscript.i386 user/alc/PQ_LAUNDRY/sys/compat/cloudabi/cloudabi_fd.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_netmap.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_sge.c user/alc/PQ_LAUNDRY/sys/dev/evdev/evdev.c user/alc/PQ_LAUNDRY/sys/dev/ofw/ofw_fdt.c user/alc/PQ_LAUNDRY/sys/dev/usb/input/ukbd.c user/alc/PQ_LAUNDRY/sys/fs/cuse/cuse.c user/alc/PQ_LAUNDRY/sys/fs/msdosfs/denode.h user/alc/PQ_LAUNDRY/sys/fs/msdosfs/msdosfs_lookup.c user/alc/PQ_LAUNDRY/sys/fs/msdosfs/msdosfs_vfsops.c user/alc/PQ_LAUNDRY/sys/geom/bde/g_bde.c user/alc/PQ_LAUNDRY/sys/geom/concat/g_concat.c user/alc/PQ_LAUNDRY/sys/geom/gate/g_gate.c user/alc/PQ_LAUNDRY/sys/geom/journal/g_journal.c user/alc/PQ_LAUNDRY/sys/geom/linux_lvm/g_linux_lvm.c user/alc/PQ_LAUNDRY/sys/geom/mirror/g_mirror.c user/alc/PQ_LAUNDRY/sys/geom/mountver/g_mountver.c user/alc/PQ_LAUNDRY/sys/geom/raid3/g_raid3.c user/alc/PQ_LAUNDRY/sys/geom/shsec/g_shsec.c user/alc/PQ_LAUNDRY/sys/geom/stripe/g_stripe.c user/alc/PQ_LAUNDRY/sys/geom/vinum/geom_vinum_rm.c user/alc/PQ_LAUNDRY/sys/geom/virstor/g_virstor.c user/alc/PQ_LAUNDRY/sys/kern/kern_descrip.c user/alc/PQ_LAUNDRY/sys/kern/kern_procctl.c user/alc/PQ_LAUNDRY/sys/kern/subr_witness.c user/alc/PQ_LAUNDRY/sys/kern/vfs_cache.c user/alc/PQ_LAUNDRY/sys/sys/filedesc.h user/alc/PQ_LAUNDRY/sys/sys/param.h user/alc/PQ_LAUNDRY/sys/sys/procctl.h user/alc/PQ_LAUNDRY/targets/pseudo/userland/Makefile.depend user/alc/PQ_LAUNDRY/tests/etc/rc.d/routing_test.sh user/alc/PQ_LAUNDRY/usr.bin/Makefile Directory Properties: user/alc/PQ_LAUNDRY/ (props changed) user/alc/PQ_LAUNDRY/lib/libc/locale/ascii.c (props changed) Modified: user/alc/PQ_LAUNDRY/lib/libc/sys/cap_enter.2 ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libc/sys/cap_enter.2 Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/lib/libc/sys/cap_enter.2 Fri Sep 23 23:11:58 2016 (r306283) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 10, 2016 +.Dd September 22, 2016 .Dt CAP_ENTER 2 .Os .Sh NAME @@ -69,6 +69,34 @@ appropriately-crafted applications or ap .Fn cap_getmode returns a flag indicating whether or not the process is in a capability mode sandbox. +.Sh RUN-TIME SETTINGS +If the +.Dv kern.trap_enocap +sysctl MIB is set to non-zero value, then for any process executing in a +capability mode sandbox, any syscall which results in either +.Er ENOTCAPABLE +or +.Er ECAPMODE +error, also generates the synchronous +.Dv SIGTRAP +signal to the thread on the syscall return. +On the signal delivery, the +.Va si_errno +member of the +.Fa siginfo +signal handler parameter is set to the syscall error value, +and the +.Va si_code +member is set to +.Dv TRAP_CAP . +.Pp +See also the +.Dv PROC_TRAPCAP_CTL +and +.Dv PROC_TRAPCAP_STATUS +operations of the +.Xr procctl 2 +function for similar per-process functionality. .Sh CAVEAT Creating effective process sandboxes is a tricky process that involves identifying the least possible rights required by the process and then @@ -116,6 +144,8 @@ points outside the process's allocated a .Xr cap_fcntls_limit 2 , .Xr cap_ioctls_limit 2 , .Xr cap_rights_limit 2 , +.Xr procctl 2 , +.Xr sysctl 2 , .Xr fexecve 2 , .Xr cap_sandboxed 3 , .Xr capsicum 4 Modified: user/alc/PQ_LAUNDRY/lib/libc/sys/procctl.2 ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libc/sys/procctl.2 Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/lib/libc/sys/procctl.2 Fri Sep 23 23:11:58 2016 (r306283) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 21, 2015 +.Dd September 22, 2016 .Dt PROCCTL 2 .Os .Sh NAME @@ -71,7 +71,7 @@ The control request to perform is specif .Fa cmd argument. The following commands are supported: -.Bl -tag -width "PROC_REAP_GETPIDS" +.Bl -tag -width "Dv PROC_TRAPCAP_STATUS" .It Dv PROC_SPROTECT Set process protection state. This is used to mark a process as protected from being killed if the system @@ -327,6 +327,63 @@ is set to 0. If a debugger is attached, .Fa data is set to the pid of the debugger process. +.It Dv PROC_TRAPCAP_CTL +Enable or disable, for the specified processes which are executing in a +capability mode sandbox, the synchronous +.Dv SIGTRAP +signal on return from any syscall which gives either +.Er ENOTCAPABLE +or +.Er ECAPMODE +error. +.Pp +Possible values for the +.Fa data +argument are: +.Bl -tag -width "Dv PROC_TRAPCAP_CTL_DISABLE" +.It Dv PROC_TRAPCAP_CTL_ENABLE +Enable the +.Dv SIGTRAP +signal delivery on capability mode access violations. +The enabled mode is inherited by the children of the process, +and is kept after +.Xr fexecve 2 +calls. +.It Dv PROC_TRAPCAP_CTL_DISABLE +Disable the signal delivery on capability mode access violations. +Note that the global sysctl +.Dv kern.trap_enocap +might still cause the signal to be delivered; see +.Xr capsicum 4 . +.El +.Pp +On signal delivery, the +.Va si_errno +member of the +.Fa siginfo +signal handler parameter is set to the syscall error value, +and the +.Va si_code +member is set to +.Dv TRAP_CAP . +.Pp +See +.Xr capsicum 4 +for more information about the capability mode. +.It Dv PROC_TRAPCAP_STATUS +Returns the current status of signalling capability mode access +violations for the specified process. +The integer value pointed to by the +.Fa data +argument is set to the +.Dv PROC_TRAPCAP_CTL_ENABLE +value if the process control enables signal delivery, and to +.Dv PROC_TRAPCAP_CTL_DISABLE +otherwise. +.Pp +See the note about sysctl +.Dv kern.trap_enocap +above, which gives independent global control of signal delivery. .El .Sh NOTES Disabling tracing on a process should not be considered a security @@ -420,14 +477,18 @@ The value of the integer .Fa data parameter for the .Dv PROC_TRACE_CTL +or +.Dv PROC_TRAPCAP_CTL request is invalid. .El .Sh SEE ALSO .Xr dtrace 1 , +.Xr cap_enter 2, .Xr kill 2 , .Xr ktrace 2 , .Xr ptrace 2 , .Xr wait 2 , +.Xr capsicum 4 , .Xr hwpmc 4 , .Xr init 8 .Sh HISTORY Modified: user/alc/PQ_LAUNDRY/lib/libcompiler_rt/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/lib/libcompiler_rt/Makefile Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/lib/libcompiler_rt/Makefile Fri Sep 23 23:11:58 2016 (r306283) @@ -8,7 +8,7 @@ NO_PIC= WARNS?= 2 CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN -CFLAGS+=-I${.CURDIR}/../../contrib/libcxxrt +CFLAGS+=-I${SRCTOP}/contrib/libcxxrt .if ${MACHINE_CPUARCH} == "amd64" CRTARCH=x86_64 @@ -16,7 +16,7 @@ CRTARCH=x86_64 CRTARCH=${MACHINE_CPUARCH} .endif -CRTSRC=${.CURDIR}/../../contrib/compiler-rt/lib/builtins +CRTSRC=${SRCTOP}/contrib/compiler-rt/lib/builtins .PATH: ${CRTSRC}/${CRTARCH} ${CRTSRC} Modified: user/alc/PQ_LAUNDRY/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- user/alc/PQ_LAUNDRY/sbin/mount_msdosfs/mount_msdosfs.8 Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sbin/mount_msdosfs/mount_msdosfs.8 Fri Sep 23 23:11:58 2016 (r306283) @@ -142,15 +142,8 @@ If neither nor .Fl l are given, -.Nm -searches the root directory of the file system to -be mounted for any existing Win'95 long filenames. -If no such entries are found, but short DOS filenames are found, -.Fl s -is the default. -Otherwise .Fl l -is assumed. +is the default. .It Fl 9 Ignore the special Win'95 directory entries even if deleting or renaming a file. Modified: user/alc/PQ_LAUNDRY/share/mk/src.opts.mk ============================================================================== --- user/alc/PQ_LAUNDRY/share/mk/src.opts.mk Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/share/mk/src.opts.mk Fri Sep 23 23:11:58 2016 (r306283) @@ -289,6 +289,10 @@ MK_${var}:= no # Force some options off if their dependencies are off. # Order is somewhat important. # +.if !${COMPILER_FEATURES:Mc++11} +MK_LLVM_LIBUNWIND:= no +.endif + .if ${MK_LIBPTHREAD} == "no" MK_LIBTHR:= no .endif Modified: user/alc/PQ_LAUNDRY/sys/arm/allwinner/a10_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/allwinner/a10_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/allwinner/a10_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -38,10 +38,6 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/vmparam.h> -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int Modified: user/alc/PQ_LAUNDRY/sys/arm/allwinner/aw_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/allwinner/aw_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/allwinner/aw_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -36,7 +36,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -147,20 +146,8 @@ allwinner_devmap_init(platform_t plat) return (0); } -struct arm32_dma_range * -bus_dma_get_range(void) -{ - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - return (0); -} - -void -cpu_reset() +static void +allwinner_cpu_reset(platform_t plat) { aw_wdog_watchdog_reset(); printf("Reset failed!\n"); @@ -172,6 +159,7 @@ static platform_method_t a10_methods[] = PLATFORMMETHOD(platform_attach, a10_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), PLATFORMMETHOD_END, }; @@ -183,6 +171,7 @@ static platform_method_t a13_methods[] = PLATFORMMETHOD(platform_attach, a13_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), PLATFORMMETHOD_END, }; @@ -194,6 +183,7 @@ static platform_method_t a20_methods[] = PLATFORMMETHOD(platform_attach, a20_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, aw_mp_start_ap), @@ -209,6 +199,7 @@ static platform_method_t a31_methods[] = PLATFORMMETHOD(platform_attach, a31_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, aw_mp_start_ap), @@ -224,6 +215,7 @@ static platform_method_t a31s_methods[] PLATFORMMETHOD(platform_attach, a31s_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, aw_mp_start_ap), @@ -239,6 +231,7 @@ static platform_method_t a83t_methods[] PLATFORMMETHOD(platform_attach, a83t_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, a83t_mp_start_ap), @@ -254,6 +247,7 @@ static platform_method_t h3_methods[] = PLATFORMMETHOD(platform_attach, h3_attach), PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, allwinner_cpu_reset), #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, aw_mp_start_ap), Modified: user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -70,10 +70,6 @@ end: while (1); } -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -34,7 +34,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -100,17 +99,3 @@ platform_devmap_init(void) return (0); } - -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} Modified: user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$"); #include "opt_platform.h" -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -166,24 +165,6 @@ platform_devmap_init(void) return (0); } -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG #ifndef DEV_GIC static int Modified: user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -29,7 +29,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -92,17 +91,3 @@ platform_devmap_init(void) devmap_add_entry(al_devmap_pa, al_devmap_size); return (0); } - -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} Modified: user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -56,9 +56,6 @@ __FBSDID("$FreeBSD$"); #define LOCK 0x00000001 extern bus_addr_t al_devmap_pa; -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; static int alpine_get_wdt_base(uint32_t *pbase, uint32_t *psize); static int alpine_pic_decode_fdt(uint32_t iparent, uint32_t *intr, Modified: user/alc/PQ_LAUNDRY/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/arm/busdma_machdep-v6.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/arm/busdma_machdep-v6.c Fri Sep 23 23:11:58 2016 (r306283) @@ -33,7 +33,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/malloc.h> @@ -95,14 +94,6 @@ struct bus_dma_tag { bus_dma_lock_t *lockfunc; void *lockfuncarg; struct bounce_zone *bounce_zone; - /* - * DMA range for this tag. If the page doesn't fall within - * one of these ranges, an error is returned. The caller - * may then decide what to do with the transfer. If the - * range pointer is NULL, it is ignored. - */ - struct arm32_dma_range *ranges; - int _nranges; }; struct bounce_page { @@ -407,22 +398,6 @@ must_bounce(bus_dma_tag_t dmat, bus_dmam return (0); } -static __inline struct arm32_dma_range * -_bus_dma_inrange(struct arm32_dma_range *ranges, int nranges, - bus_addr_t curaddr) -{ - struct arm32_dma_range *dr; - int i; - - for (i = 0, dr = ranges; i < nranges; i++, dr++) { - if (curaddr >= dr->dr_sysbase && - round_page(curaddr) <= (dr->dr_sysbase + dr->dr_len)) - return (dr); - } - - return (NULL); -} - /* * Convenience function for manipulating driver locks from busdma (during * busdma_swi, for example). Drivers that don't provide their own locks @@ -507,8 +482,6 @@ bus_dma_tag_create(bus_dma_tag_t parent, newtag->flags = flags; newtag->ref_count = 1; /* Count ourself */ newtag->map_count = 0; - newtag->ranges = bus_dma_get_range(); - newtag->_nranges = bus_dma_get_range_nb(); if (lockfunc != NULL) { newtag->lockfunc = lockfunc; newtag->lockfuncarg = lockfuncarg; @@ -992,22 +965,6 @@ _bus_dmamap_addseg(bus_dma_tag_t dmat, b sgsize = (baddr - curaddr); } - if (dmat->ranges) { - struct arm32_dma_range *dr; - - dr = _bus_dma_inrange(dmat->ranges, dmat->_nranges, - curaddr); - if (dr == NULL) { - _bus_dmamap_unload(dmat, map); - return (0); - } - /* - * In a valid DMA range. Translate the physical - * memory address to an address in the DMA window. - */ - curaddr = (curaddr - dr->dr_sysbase) + dr->dr_busbase; - } - /* * Insert chunk into a segment, coalescing with * previous segment if possible. Modified: user/alc/PQ_LAUNDRY/sys/arm/arm/platform.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/arm/platform.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/arm/platform.c Fri Sep 23 23:11:58 2016 (r306283) @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); * through a previously registered kernel object. */ -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/bus.h> #include <sys/kernel.h> @@ -189,6 +188,20 @@ platform_late_init(void) PLATFORM_LATE_INIT(plat_obj); } +void +cpu_reset(void) +{ + + PLATFORM_CPU_RESET(plat_obj); + + printf("cpu_reset failed"); + + intr_disable(); + while(1) { + cpu_sleep(0); + } +} + #ifdef MULTIDELAY static void platform_delay(int usec, void *arg __unused) Modified: user/alc/PQ_LAUNDRY/sys/arm/arm/platform_if.m ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/arm/platform_if.m Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/arm/platform_if.m Fri Sep 23 23:11:58 2016 (r306283) @@ -133,3 +133,10 @@ METHOD void mp_setmaxid { METHOD void mp_start_ap { platform_t _plat; }; + +/** + * @brief Called by cpu_reset to reboot. + */ +METHOD void cpu_reset { + platform_t _plat; +}; Modified: user/alc/PQ_LAUNDRY/sys/arm/at91/at91_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/at91/at91_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/at91/at91_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -49,10 +49,6 @@ __FBSDID("$FreeBSD$"); extern const struct devmap_entry at91_devmap[]; -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_aic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -46,10 +46,6 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/vmparam.h> -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_intc_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -42,7 +42,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -113,25 +112,12 @@ bcm2836_devmap_init(platform_t plat) } #endif -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - return (0); -} -void -cpu_reset() +static void +bcm2835_cpu_reset(platform_t plat) { bcmwd_watchdog_reset(); - while (1); } #ifdef SOC_BCM2835 @@ -139,6 +125,7 @@ static platform_method_t bcm2835_methods PLATFORMMETHOD(platform_devmap_init, bcm2835_devmap_init), PLATFORMMETHOD(platform_lastaddr, bcm2835_lastaddr), PLATFORMMETHOD(platform_late_init, bcm2835_late_init), + PLATFORMMETHOD(platform_cpu_reset, bcm2835_cpu_reset), PLATFORMMETHOD_END, }; @@ -150,6 +137,7 @@ static platform_method_t bcm2836_methods PLATFORMMETHOD(platform_devmap_init, bcm2836_devmap_init), PLATFORMMETHOD(platform_lastaddr, bcm2835_lastaddr), PLATFORMMETHOD(platform_late_init, bcm2835_late_init), + PLATFORMMETHOD(platform_cpu_reset, bcm2835_cpu_reset), PLATFORMMETHOD_END, }; Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx51_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx51_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx51_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -81,8 +81,8 @@ imx51_devmap_init(platform_t plat) return (0); } -void -cpu_reset(void) +static void +imx51_cpu_reset(platform_t plat) { imx_wdog_cpu_reset(0x73F98000); @@ -97,6 +97,7 @@ static platform_method_t imx51_methods[] PLATFORMMETHOD(platform_attach, imx51_attach), PLATFORMMETHOD(platform_devmap_init, imx51_devmap_init), PLATFORMMETHOD(platform_lastaddr, imx51_lastaddr), + PLATFORMMETHOD(platform_cpu_reset, imx51_cpu_reset), PLATFORMMETHOD_END, }; Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx53_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx53_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx53_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -81,8 +81,8 @@ imx53_devmap_init(platform_t plat) return (0); } -void -cpu_reset(void) +static void +imx53_cpu_reset(platform_t plat) { imx_wdog_cpu_reset(0x53F98000); @@ -97,6 +97,7 @@ static platform_method_t imx53_methods[] PLATFORMMETHOD(platform_attach, imx53_attach), PLATFORMMETHOD(platform_devmap_init, imx53_devmap_init), PLATFORMMETHOD(platform_lastaddr, imx53_lastaddr), + PLATFORMMETHOD(platform_cpu_reset, imx53_cpu_reset), PLATFORMMETHOD_END, }; Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -52,10 +52,6 @@ __FBSDID("$FreeBSD$"); #include "platform_if.h" -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - static uint32_t gpio1_node; #ifndef INTRNG @@ -227,8 +223,8 @@ imx6_devmap_init(platform_t plat) return (0); } -void -cpu_reset(void) +static void +imx6_cpu_reset(platform_t plat) { const uint32_t IMX6_WDOG_CR_PHYS = 0x020bc000; @@ -350,6 +346,7 @@ static platform_method_t imx6_methods[] PLATFORMMETHOD(platform_lastaddr, imx6_lastaddr), PLATFORMMETHOD(platform_devmap_init, imx6_devmap_init), PLATFORMMETHOD(platform_late_init, imx6_late_init), + PLATFORMMETHOD(platform_cpu_reset, imx6_cpu_reset), PLATFORMMETHOD_END, }; Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -50,10 +50,6 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/vmparam.h> -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_intc_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -29,7 +29,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/reboot.h> @@ -54,20 +53,6 @@ SYSCTL_UINT(_hw_imx, OID_AUTO, last_rese SYSCTL_STRING(_hw_imx, OID_AUTO, last_reset_reason, CTLFLAG_RD, "unknown", 0, "Last reset reason"); -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - /* * This code which manipulates the watchdog hardware is here to implement * cpu_reset() because the watchdog is the only way for software to reset the Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -62,10 +62,6 @@ end: while (1); } -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/freescale/vybrid/vf_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -30,7 +30,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -78,17 +77,3 @@ platform_devmap_init(void) return (0); } - -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} Modified: user/alc/PQ_LAUNDRY/sys/arm/include/bus_dma.h ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/include/bus_dma.h Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/include/bus_dma.h Fri Sep 23 23:11:58 2016 (r306283) @@ -72,7 +72,7 @@ #define BUS_DMA_TAG_VALID(t) ((t) != (bus_dma_tag_t)0) -#ifdef _ARM32_BUS_DMA_PRIVATE +#if defined(_ARM32_BUS_DMA_PRIVATE) && __ARM_ARCH < 6 /* * arm32_dma_range * Modified: user/alc/PQ_LAUNDRY/sys/arm/lpc/lpc_intc.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/lpc/lpc_intc.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/lpc/lpc_intc.c Fri Sep 23 23:11:58 2016 (r306283) @@ -227,10 +227,6 @@ lpc_intc_eoi(void *data) } -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/mv/mv_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/mv/mv_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/mv/mv_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -432,6 +432,7 @@ platform_devmap_init(void) return (0); } +#if __ARM_ARCH < 6 struct arm32_dma_range * bus_dma_get_range(void) { @@ -445,6 +446,7 @@ bus_dma_get_range_nb(void) return (0); } +#endif #if defined(CPU_MV_PJ4B) #ifdef DDB Modified: user/alc/PQ_LAUNDRY/sys/arm/nvidia/tegra124/tegra124_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/nvidia/tegra124/tegra124_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/nvidia/tegra124/tegra124_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -24,7 +24,6 @@ * SUCH DAMAGE. */ -#define _ARM32_BUS_DMA_PRIVATE #include "opt_platform.h" #include <sys/cdefs.h> @@ -62,24 +61,6 @@ __FBSDID("$FreeBSD$"); PMC_SCRATCH0_MODE_BOOTLOADER | \ PMC_SCRATCH0_MODE_RCM) -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - static vm_offset_t tegra124_lastaddr(platform_t plat) { @@ -112,8 +93,8 @@ tegra124_devmap_init(platform_t plat) return (0); } -void -cpu_reset(void) +static void +tegra124_cpu_reset(platform_t plat) { bus_space_handle_t pmc; uint32_t reg; @@ -163,6 +144,8 @@ static platform_method_t tegra124_method PLATFORMMETHOD(platform_lastaddr, tegra124_lastaddr), PLATFORMMETHOD(platform_devmap_init, tegra124_devmap_init), PLATFORMMETHOD(platform_late_init, tegra124_late_init), + PLATFORMMETHOD(platform_cpu_reset, tegra124_cpu_reset), + #ifdef SMP PLATFORMMETHOD(platform_mp_start_ap, tegra124_mp_start_ap), PLATFORMMETHOD(platform_mp_setmaxid, tegra124_mp_setmaxid), Modified: user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -37,10 +37,6 @@ __FBSDID("$FreeBSD$"); #include <machine/intr.h> -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG fdt_pic_decode_t fdt_pic_table[] = { &gic_decode_fdt, Modified: user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -30,7 +30,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/devmap.h> @@ -45,27 +44,6 @@ __FBSDID("$FreeBSD$"); #include "platform_if.h" -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - -void -cpu_reset(void) -{ - - while (1); -} - static vm_offset_t virt_lastaddr(platform_t plat) { Modified: user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -38,10 +38,6 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/vmparam.h> -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_aintc_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -34,7 +34,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> @@ -92,20 +91,6 @@ platform_devmap_init(void) return (0); } -struct arm32_dma_range * -bus_dma_get_range(void) -{ - - return (NULL); -} - -int -bus_dma_get_range_nb(void) -{ - - return (0); -} - void cpu_reset() { Modified: user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_common.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_common.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_common.c Fri Sep 23 23:11:58 2016 (r306283) @@ -49,10 +49,6 @@ cpu_reset(void) while (1); } -struct fdt_fixup_entry fdt_fixup_table[] = { - { NULL, NULL } -}; - #ifndef INTRNG static int fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, Modified: user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_machdep.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_machdep.c Fri Sep 23 23:08:23 2016 (r306282) +++ user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_machdep.c Fri Sep 23 23:11:58 2016 (r306283) @@ -30,7 +30,6 @@ #include <sys/cdefs.h> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609232311.u8NNBwJv068723>