summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.arm
Commit message (Collapse)AuthorAgeFilesLines
* MFC r274937:ian2014-12-271-4/+4
| | | | | | | Add ARMV6 as an arm option. This will cause obscure magic in config(8) to automatically set the armv6 option when MACHINE_ARCH is armv6. That allows replacing ever-growing lists of cpu names as options to compile a given file with the using either "optional armv6" or "optional !armv6".
* MFC 262952, 262958, 262966, 262979, 262980, 262986, 262987, 262995, 262997,ian2014-05-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 263030, 263033, 263034, 263056, 263057, Remove all the redundant external declarations of exception vectors and runtime setting of the pointers that's scattered around various places. Remove all traces of support for ARM chips prior to the arm9 series. Make the default exception handler vectors point to where I thought they were already pointing: the default handlers (not a panic that says there is no default handler). Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c and the functionality it provided into arm/exception.S. Move the exception vector table (so-called "page0" data) into exception.S and eliminate vectors.S. Change the way the asm GET_CURTHREAD_PTR() macro is defined so that code using it doesn't have to have an "AST_LOCALS" macro somewhere in the file. Arrange for arm fork_trampoline() to return to userland via the standard swi_exit code in exception.S instead of having its own inline expansion of the DO_AST and PULLFRAME macros. Now that the PUSHFRAME and PULLFRAME macros are used only in the swi entry/exit code, they don't need to be macros. Except that didn't work and the whole change was reverted. Remove some unnecessary indirection and jump right to the handler functions. Use panic rather than printf to "handle" an arm26 address exception (should never happen on arm32). Remove the unreferenced DATA() macro. Remove #include <machine/asmacros.h> from files that don't need it.
* MFC r261643, r261646, r261648, r261649, r261651, r261656, r261657, r261663,ian2014-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r261676, r261677, r261698, r261778 Consolidate code related to setting up physical memory configuration into a new physmem.c file. Replace compile-time constant KERNPHYSADDR with abp_physaddr Calculate the kernel's load address from the PC in the elf / gzip trampoline instead of relying on KERNPHYSADDR as a compile-time constant. It turns out a global variable is the only straightforward way to communicate the kernel's physical load address from where it's known in initarm() into cpu_mp_start() which is called from non-arm code and takes no parameters. Remove the now unused MMU_INIT macro. Use vm_paddr_t, not vm_offset_t, when dealing with physical addresses. No need to set physmem in each initarm() instance anymore, it's handled in common code now. Pass the pagetable used from locore.S to initarm to allow it to map data in as required. Fix the physmem exclude-region clipping logic for the edge-trim case. Add some extra debugging output when DEBUG is defined. Update legacy platforms to use new arm_physmem helper routines.
* MFC r258359, r258742, r258845, r259936, r259640ian2014-05-141-2/+2
| | | | | | | | | | | Apply access flags for managed and unmanaged pages properly on ARMv6/v7 Set the PGA_WRITEABLE flag when the protections indicate write access, not just when the current access is a write. Enable missing Access Flag for secondary cores on ARMv6/v7 Add identification and necessary type checks for Krait CPU cores.
* MFC 259016,259019,259049,259071,259102,259110,259129,259130,259178,259179,jhb2014-03-061-1/+1
| | | | | | | | | 259203,259221,259261,259532,259615,259650,259651,259667,259680,259727, 259761,259772,259776,259777,259830,259882,259915,260160,260449,260450, 260688,260888,260953,261269,261547,261551,261552,261553,261585: Merge the vt(4) driver (newcons) to stable/10. Approved by: ray
* MFC r257648, r257649, r257660:ian2013-12-131-0/+1
| | | | | | | | | | | | | | | | | Begin reducing code duplication in arm pmap.c and pmap-v6.c by factoring out common code related to mapping device memory into a new devmap.c file. Remove the growing duplication of code that used pmap_devmap_find_pa() and then did some math with the returned results to generate a virtual address, and likewise in reverse to get a physical address. Now there are a pair of functions, arm_devmap_vtop() and arm_devmap_ptov(), to do that. The bus_space_map() implementations are rewritten in terms of these. Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
* Rename device vfp to option VFP and retire the ARM_VFP_SUPPORT option. Thisandrew2013-08-171-1/+1
| | | | | | | simplifies enabling as previously both options were required to be enabled, now we only need a single option. While here enable VFP on the PandaBoard.
* Remove the armfpe config options. These files don't exist on FreeBSD.andrew2013-08-171-3/+0
|
* - Trim an unused and bogus Makefile for mount_smbfs.davide2013-06-281-1/+1
| | | | | | - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch.
* Add C11 atomic fallbacks for ARM.ed2013-06-131-0/+2
| | | | | | | | | | | | | | | | | | Basically the situation is as follows: - When using Clang + armv6, we should not need any intrinsics. It should support it, even though due to a target misconfiguration it does not. We should fix this in Clang. - When using Clang + noarmv6, provide __atomic_* functions that disable interrupts. - When using GCC + armv6, we can provide __sync_* intrinsics, similar to what we did for MIPS. As ARM and MIPS are quite similar, simply base this implementation on the one I did for MIPS. - When using GCC + noarmv6, disable the interrupts, like we do for Clang. This implementation still lacks functions for noarmv6 userspace. To be done.
* Add basic support for FDT to i386 & amd64. This change includes:marcel2013-05-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now. FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this. Obtained from: Juniper Networks, Inc.
* Add __aeabi_memset to libkern, implemented using memset, as clang mayandrew2013-03-161-0/+1
| | | | generate calls to it.
* Move the __aeabi_unwind_cpp_pr{0,1,2} functions to libkern so they can beandrew2013-03-161-0/+1
| | | | referenced in a non-debug kernel.
* Add __aeabi_memcpy to libkern as clang may generate calls to it.andrew2013-03-101-0/+1
|
* Add the required __aeabi_* functions the kernel uses when built for ARM EABIandrew2013-01-171-0/+2
|
* Replace generic ARM11 option with more specificgonzo2012-12-201-2/+2
| | | | | | | support for ARM1136 and ARM1176 Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp> Obtained from: NetBSD
* We want to build subr_busdma_bufalloc.c on arm.cognet2012-12-201-0/+1
|
* Add driver for PrimeCell Vectored Interrupt Controller (PL190)gonzo2012-12-131-0/+1
|
* Sort and remove a few long-obsolete comments.imp2012-10-251-17/+12
|
* Remove redunant geom_bsd and geom_mbr definitions. They are in files.imp2012-10-251-4/+0
|
* Move common fdt into files. Duplicate in files.powerpc the filesimp2012-10-241-6/+0
| | | | | | shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication.
* Disconnect non-MPSAFE SMBFS from the build in preparation for droppingattilio2012-10-181-1/+1
| | | | | | | | | | | | | GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS. In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions. Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked. This is not targeted for MFC.
* Piggyback MIPS changes and add ARM syscons support for devices withgonzo2012-08-251-0/+11
| | | | | | framebuffer While here - sort #if defined() order alphabetically
* Merging projects/armv6, part 1gonzo2012-08-151-2/+7
| | | | | | | | | Cummulative patch of changes that are not vendor-specific: - ARMv6 and ARMv7 architecture support - ARM SMP support - VFP/Neon support - ARM Generic Interrupt Controller driver - Simplification of startup code for all platforms
* Implement mechanism to export some kernel timekeeping data tokib2012-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usermode, using shared page. The structures and functions have vdso prefix, to indicate the intended location of the code in some future. The versioned per-algorithm data is exported in the format of struct vdso_timehands, which mostly repeats the content of in-kernel struct timehands. Usermode reading of the structure can be lockless. Compatibility export for 32bit processes on 64bit host is also provided. Kernel also provides usermode with indication about currently used timecounter, so that libc can fall back to syscall if configured timecounter is unknown to usermode code. The shared data updates are initiated both from the tc_windup(), where a fast task is queued to do the update, and from sysctl handlers which change timecounter. A manual override switch kern.timecounter.fast_gettime allows to turn off the mechanism. Only x86 architectures export the real algorithm data, and there, only for tsc timecounter. HPET counters page could be exported as well, but I prefer to not further glue the kernel and libc ABI there until proper vdso-based solution is developed. Minimal stubs neccessary for non-x86 architectures to still compile are provided. Discussed with: bde Reviewed by: jhb Tested by: flo MFC after: 1 month
* Generate board id's from Linux's mach-types database for all armimp2012-05-101-0/+6
| | | | | | ports. This currently is a nop, but will soon be used to allow support for multiple boards to be built into one kernel (starting with AT91RM9200 and expanding out from there).
* Allow (with a license warning) "options ZFS" to work in static kernels.peter2012-03-271-0/+1
| | | | | | | | | | | The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at)
* Add libkern/ucmpdi2.ccognet2011-10-261-0/+1
|
* Compile in in_cksum* implementations for both IPv6 and IPv6.bz2011-04-201-2/+2
| | | | | | | | | | | | | | | While in_pseudo() etc. is often used in offloading feature support, in_cksum() is mostly used to fix some broken hardware. Keeping both around for the moment allows us to compile NIC drivers even in an IPv6 only environment without the need to mangle them with #ifdef INETs in a way they are not prepared for. This will leave some dead code paths that will not be exercised for IPv6. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 3 days
* Move MRVL FDT fixups and PIC decode routine to a platform specific area.raj2010-07-191-1/+0
| | | | | This allows for better encapsulation (and eliminates generic fdt_arm.c, at least for now).
* Convert Marvell ARM platforms to FDT convention.raj2010-06-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | The following systems are involved: - DB-88F5182 - DB-88F5281 - DB-88F6281 - DB-78100 - SheevaPlug This overhaul covers the following major changes: - All integrated peripherals drivers for Marvell ARM 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). - Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say good by to obio / mbus drivers and numerous hard-coded config data. Note that world needs to be built WITH_FDT for the affected platforms. Reviewed by: imp Sponsored by: The FreeBSD Foundation.
* Add hwpmc_arm.crpaulo2009-12-231-0/+1
|
* Switch to ath hal source code. Note this removes the ath_halsam2008-12-011-7/+0
| | | | | | | | | | | | | | | | | module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
* Support kernel crash mini dumps on ARM architecture.raj2008-11-061-0/+1
| | | | Obtained from: Juniper Networks, Semihalf
* Add arm/conf/DEFAULTS and populate it with:marcel2008-10-231-4/+4
| | | | | | | | | | machine arm device mem options GEOM_BSD options GEOM_MBR Remove the first two from all kernel configuration files and change geom_bsd and geom_mbr from standard to optional.
* Break out stack(9) from ddb(4):rwatson2007-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | - 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)
* Move the strongarm-specific files from conf/files.arm to sa11x0/files.sa11xO.cognet2007-12-021-2/+0
| | | | Submitted by: Rafal Jaworowski <raj AT semihalf DOT com>
* Cleanup : make nexus standard, as it is mandatory anyway.cognet2007-12-021-3/+1
| | | | | | Garbage-collect unused nexus_io.c and nexus_io_asm.S Submitted by: Rafal Jaworowski <raj AT semihalf DOT com>
* Align.obrien2007-10-251-2/+2
|
* Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSECgnn2007-07-031-3/+2
| | | | | | | | option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing
* opt_ah.h ends up copied into a kernelcompile directory in somemjacob2006-12-181-1/+1
| | | | | | | | | | | aches as a read-only file. In a number of cases this has led to compiles failing- usually due to some strange NFS drift which thinks that the opt_ah.h in the compile directory is out of date wrt the source it is copied from. When the copy is executed again, it fails because the target is read-only. Oops. Modify the compile hooks avoid this. Discussed with a while back with: Sam Leffler
* fls was missingsam2006-11-301-0/+1
| | | | MFC after: 1 week
* add missing bits for crypto supportsam2006-11-081-0/+3
| | | | MFC after: 1 week
* Add remote GDB bits for arm.cognet2006-07-141-0/+8
|
* Convert the last offender, the SA1110 port, to ARM32_NEW_VM_LAYOUT, andcognet2006-06-061-1/+0
| | | | completely nuke the !ARM32_NEW_VM_LAYOUT case.
* Make arm/disassem.c depends on DDBcognet2005-10-041-3/+3
| | | | make arm/in_cksum.c and arm/in_cksum_asm.S depend on INET.
* MFP4:jkoshy2005-06-091-0/+1
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* We have an asm version of bcmp(), so we could use it as well.cognet2005-04-121-1/+0
|
* Get more love from GEOM on arm.cognet2005-04-071-0/+4
|
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
OpenPOWER on IntegriCloud