f9a5123470
to copying in some code from the armv4 busdma, and adapting a few variable and flag names to match the surrounding mips code. Instead of keeping a local cache of prealloced busdma_map structs on a mutex-protected list, set up an uma zone to cache them. Instead of all memory allocations using M_DEVBUF, use new categories M_BUSDMA for allocations of metadata (tags, maps, segment tracking lists), and M_BOUNCE for bounce pages. When buffers are allocated out of the busdma_bufalloc zones the alignment and size of the buffers is known, and the code can skip doing any "partial cacheline flush" logic to preserve data that may be adjacent to the DMA buffer but contain non-DMA data. Reviewed by: adrian, imp
95 lines
2.9 KiB
Plaintext
95 lines
2.9 KiB
Plaintext
# This file tells config what files go into building a kernel,
|
|
# files marked standard are always included.
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# Arch dependent files
|
|
mips/mips/autoconf.c standard
|
|
mips/mips/bus_space_generic.c standard
|
|
mips/mips/bus_space_fdt.c optional fdt
|
|
mips/mips/busdma_machdep.c standard
|
|
mips/mips/cache.c standard
|
|
mips/mips/cache_mipsNN.c standard
|
|
mips/mips/cpu.c standard
|
|
mips/mips/db_disasm.c optional ddb
|
|
mips/mips/db_interface.c optional ddb
|
|
mips/mips/db_trace.c optional ddb
|
|
mips/mips/dump_machdep.c standard
|
|
mips/mips/elf_machdep.c standard
|
|
mips/mips/exception.S standard
|
|
mips/mips/fp.S standard
|
|
mips/mips/freebsd32_machdep.c optional compat_freebsd32
|
|
mips/mips/gdb_machdep.c standard
|
|
mips/mips/in_cksum.c optional inet
|
|
mips/mips/libkern_machdep.c standard
|
|
mips/mips/locore.S standard no-obj
|
|
mips/mips/machdep.c standard
|
|
mips/mips/mem.c optional mem
|
|
mips/mips/minidump_machdep.c standard
|
|
mips/mips/mp_machdep.c optional smp
|
|
mips/mips/mpboot.S optional smp
|
|
mips/mips/nexus.c standard
|
|
mips/mips/pm_machdep.c standard
|
|
mips/mips/pmap.c standard
|
|
mips/mips/ptrace_machdep.c standard
|
|
mips/mips/sc_machdep.c standard
|
|
mips/mips/stack_machdep.c optional ddb | stack
|
|
mips/mips/stdatomic.c standard \
|
|
compile-with "${NORMAL_C:N-Wmissing-prototypes}"
|
|
mips/mips/support.S standard
|
|
mips/mips/bcopy.S standard
|
|
mips/mips/swtch.S standard
|
|
mips/mips/sys_machdep.c standard
|
|
mips/mips/tlb.c standard
|
|
mips/mips/trap.c standard
|
|
mips/mips/uio_machdep.c standard
|
|
mips/mips/uma_machdep.c standard
|
|
mips/mips/vm_machdep.c standard
|
|
|
|
# misc opt-in bits
|
|
kern/kern_clocksource.c standard
|
|
kern/link_elf_obj.c standard
|
|
kern/subr_busdma_bufalloc.c standard
|
|
kern/subr_dummy_vdso_tc.c standard
|
|
kern/subr_sfbuf.c optional mips | mipsel | mipsn32
|
|
|
|
# gcc/clang runtime
|
|
libkern/ffsl.c standard
|
|
libkern/fls.c standard
|
|
libkern/flsl.c standard
|
|
libkern/flsll.c standard
|
|
libkern/memmove.c standard
|
|
libkern/cmpdi2.c optional mips | mipsel
|
|
libkern/ucmpdi2.c optional mips | mipsel
|
|
libkern/ashldi3.c standard
|
|
libkern/ashrdi3.c standard
|
|
|
|
# cfe support
|
|
dev/cfe/cfe_api.c optional cfe
|
|
dev/cfe/cfe_console.c optional cfe_console
|
|
dev/cfe/cfe_env.c optional cfe_env
|
|
|
|
# syscons support
|
|
dev/fb/fb.c optional sc
|
|
dev/syscons/scgfbrndr.c optional sc
|
|
dev/syscons/scterm-teken.c optional sc
|
|
dev/syscons/scvtb.c optional sc
|
|
mips/mips/sc_machdep.c optional sc
|
|
|
|
# FDT support
|
|
dev/fdt/fdt_mips.c optional fdt
|
|
dev/uart/uart_cpu_fdt.c optional uart fdt
|
|
|
|
# crypto support -- use generic
|
|
crypto/blowfish/bf_enc.c optional crypto | ipsec
|
|
crypto/des/des_enc.c optional crypto | ipsec | netsmb
|
|
|
|
# AP common nvram interface MIPS specific, but maybe should be more generic
|
|
dev/nvram2env/nvram2env.c optional nvram2env
|
|
|
|
# hwpmc support
|
|
dev/hwpmc/hwpmc_mips.c optional hwpmc
|
|
dev/hwpmc/hwpmc_mips24k.c optional hwpmc_mips24k
|
|
dev/hwpmc/hwpmc_mips74k.c optional hwpmc_mips74k
|