summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Back out r253779 & r253786.obrien2013-07-3139-39/+4
|
* Initialisation routines for the mailbox, spinlock and PRU-ICSS clocks.rpaulo2013-07-312-1/+79
|
* The errata 727915 requires a different workaround for r2p0, we have tocognet2013-07-291-13/+26
| | | | explicitely clean/invalidate every cache line using way/set operations.
* Remove useless cache operations.cognet2013-07-291-5/+0
|
* Decouple yarrow from random(4) device.obrien2013-07-2939-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option. The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow. * random(4) device doesn't really depend on rijndael-*. Yarrow, however, does. * Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: obrien
* Explicitely include <machine/pcb.h>, so that we get the definition ofcognet2013-07-291-0/+1
| | | | | | | struct pcb. Submitted by: Zbyszek Bodek <zbb@semihalf.com> Pointy hat to: cognet
* Define KDB_STOPPEDPCB, so that we can access the backtraces of threads runningcognet2013-07-292-0/+5
| | | | on other cores.
* Revert r253748,253749avg2013-07-281-3/+2
| | | | | | This WIP should not have been committed yet. Pointyhat to: avg
* put contents of cpu.h under _KERNELavg2013-07-281-2/+3
| | | | | | no userland-serviceable parts inside MFC after: 20 days
* Rename the existing std.imx and imx.files to std.imx51 and files.imx51, toian2013-07-283-2/+2
| | | | pave the way for adding imx6 support.
* Revert ROOTDEVNAME change from previous commit.rpaulo2013-07-251-1/+1
|
* Enable modules for the BeagleBone and for the Raspberry Pi.rpaulo2013-07-252-3/+1
|
* Start adding support to build bits of our code using the Thumb-2andrew2013-07-201-9/+26
| | | | | | | | | | | | | | | instruction set. Thumb-2 requires an if-then instruction to implement conditional codes. When building for ARM mode the it-then instructions do not generate any assembled instruction as per the ARMv7-A Architecture Reference Manual, and are safe to use. While this allows the atomic instructions to be built, it doesn't mean we fully support Thumb code. It works in small tests, but is still known to fail in a large number of places. While here add a check for the armv6t2 architecture.
* Fix vfp:andrew2013-07-161-16/+15
| | | | | | | | | - We should check is_d32 to see howmany registers we have - In vfp_restore mark vfpscr as an output register Without the second part it appears we can return the incorrect value from vfp_bounce if the VFP condition flags are set as it may override the register holding the return value.
* Move the Raspberry Pi low level options out of the kernel config and intorpaulo2013-07-153-12/+20
| | | | | | std.rpi + std.bcm2835. Reviewed by: imp
* Introduce new structure sfstat for collecting sendfile's statisticsae2013-07-151-1/+1
| | | | | | | and remove corresponding fields from struct mbstat. Use PCPU counters and SFSTAT_INC() macro for update these statistics. Discussed with: glebius
* Indent the "scp=... rlv=..." to make it easier to read the backtrace.rpaulo2013-07-131-2/+2
|
* Remove trailing whitespaces.ray2013-07-101-6/+6
|
* Improve a comment.rpaulo2013-07-091-4/+2
|
* Remove extraneous format string converison specifieremaste2013-07-091-1/+1
| | | | Submitted by: wxs@
* Add IDs for TPS65217C and TPS65217Dgonzo2013-07-081-0/+8
|
* - AM335x requires updated soft-reset logic toogonzo2013-07-081-4/+7
|
* Convert bcm2835_mbox to the new mbox interface.rpaulo2013-07-074-55/+63
| | | | Reviewed by: gonzo
* Another warning.rpaulo2013-07-071-1/+1
|
* armadaxp_idcache_wbinv_all() is in this file.rpaulo2013-07-071-1/+2
|
* Fix all the compiler warnings in elf_trampoline.c.rpaulo2013-07-071-4/+22
|
* - Add USFS driver as an example of device mode for AM335x-based devicesgonzo2013-07-071-0/+4
|
* - Add USBSS driver for AM335x SoC. Driver is a wrapper around Mentors Graphicgonzo2013-07-072-0/+482
| | | | USB OTG core.
* Don't clear the SYSCONFIG register on boot.rpaulo2013-07-062-2/+10
| | | | | | This follows section 18.4.2.2 SD Soft Reset Flow in the TI AM335x Technical Reference Manual and seems to fix the "ti_mmchs0: Error: current cmd NULL, already done?" messages.
* Fix the build with gcc.andrew2013-07-051-4/+20
| | | | | | | | | | Gcc outputs pre-UAL asm and expects the ldcl instruction with a condition in the form ldc<c>l, where the code produces the instruction in the UAL form ldcl<c>. Work around this by checking if we are using clang or gcc and adjusting the instruction. While here correct the cmp instruction's value to include the # before the immediate value.
* o Make fields names short.ray2013-07-051-33/+23
| | | | o Slim down reg fields comments.
* Add support for ePWM submodule of PWMSSgonzo2013-07-041-4/+145
| | | | | | | | | ePWM is controlled by sysctl nodes dev.am335x_pwm.N.period, dev.am335x_pwm.N.dutyA and dev.am335x_pwm.N.dutyB that controls PWM period and duty cycles for channels A and B respectively. Period and duty cycle are measured in clock ticks. Default clock frequency for AM335x PWM subsystem is 100MHz
* Remove redundant clearing of the PGA_WRITEABLE flag ingber2013-07-041-1/+0
| | | | | | | | | pmap_remove_all() This flag should already be cleared by pmap_nuke_pv() Submitted by: Zbigniew Bodek <zbb@semihalf.com> Sponsored by: The FreeBSD Foundation, Semihalf
* Fix modified bit emulation for ARMv6/v7gber2013-07-041-2/+7
| | | | | | | | | | | | | | | | | | When doing pmap_enter_locked(), enable write permission only when access type indicates attempt to write. Otherwise, leave the page read only but mark it writable in pv_flags. This will result in: 1. Marking page writable during pmap_enter() but only when ensured that it will be written right away so that we will not get redundant permissions fault on write attempt. 2. Keeping page read only when it is permitted to be written but there was no actual write attempt. Hence, we will get permissions fault on write access and mark page writable in pmap_fault_fixup() what will indicate modification status. Submitted by: Zbigniew Bodek <zbb@semihalf.com> Sponsored by: The FreeBSD Foundation, Semihalf
* Fix one of INVARIANTS-related UMA panics on ARMgonzo2013-07-031-3/+15
| | | | | | Force UMA zone to allocate service structures like slabs using own allocator. uma_debug code performs atomic ops on uma_slab_t fields and safety of this operation is not guaranteed for write-back caches
* Enable VFP on Raspberry Pi. This has worked as of r251712.andrew2013-07-021-0/+3
|
* Enable SCTP, since it is also enabled on GENERIC and it works fine ontuexen2013-07-011-0/+1
| | | | | | the Raspberry Pi. Discussed with: rpaulo
* The mbox driver is actually MP safe, so set the right flag inrpaulo2013-07-011-5/+3
| | | | bus_setup_intr().
* Disable debugging.rpaulo2013-07-011-2/+0
|
* Use the new FDT_FILE rpi.dts.rpaulo2013-07-011-1/+1
|
* Fix issues with zeroing and fetching the counters, on x86 and ppc64.kib2013-07-011-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issues were noted by Bruce Evans and are present on all architectures. On i386, a counter fetch should use atomic read of 64bit value, otherwise carry from the increment on other CPU could be lost for the given fetch, making error of 2^32. If 64bit read (cmpxchg8b) is not available on the machine, it cannot be SMP and it is enough to disable preemption around read to avoid the split read. On x86 the counter increment is not atomic on purpose, which makes it possible for the store of the incremented result to override just zeroed per-cpu slot. The effect would be a counter going off by arbitrary value after zeroing. Perform the counter zeroing on the same processor which does the increments, making the operations mutually exclusive. On i386, same as for the fetching, if the cmpxchg8b is not available, machine is not SMP and we disable preemption for zeroing. PowerPC64 is treated the same as amd64. For other architectures, the changes made to allow the compilation to succeed, without fixing the issues with zeroing or fetching. It should be possible to handle them by using the 64bit loads and stores atomic WRT preemption (assuming the architectures also converted from using critical sections to proper asm). If architecture does not provide the facility, using global (spin) mutex would be non-optimal but working solution. Noted by: bde Sponsored by: The FreeBSD Foundation
* Add INET6.rpaulo2013-06-301-0/+1
|
* Replace some spaces to tab.ray2013-06-301-4/+4
|
* Decrypt magic numbers - define names for fields of Generic Timer's CNTKCTL reg.ray2013-06-301-3/+23
| | | | Submitted by: Ruslan Bukin <br@bsdpad.com>
* In generic_bs_map(), use kmem_alloc_nofault() instead of kmem_alloc(), as wecognet2013-06-301-1/+1
| | | | | | only need virtual addresses. Submitted by: alc
* Arndale Board (by Insignal) kernel config file.ray2013-06-291-0/+135
| | | | | | | More info on the Wiki page https://wiki.freebsd.org/FreeBSD/arm/ArndaleBoard Submitted by: Ruslan Bukin <br@bsdpad.com> Reviewed by: gonzo
* - Fix IMAPx registers values calculationgonzo2013-06-291-20/+24
| | | | | | | | | - Initialize SMAPx registers too although they're unused in QEMU - Do not pass IO/MEM resources to upper bus for activation, handle them locally. Previously ACTIVATE method of upper bus was no-op so nothing bad happened. But now FDT maps physaddr to vaddr and it causes troubles: fdtbus_activate_resource resource assumes that bustag/bushandle are already set which in this case is wrong.
* Enable patth-through of IRQ30 and IRQ31 to PIC just as comment statesgonzo2013-06-291-1/+1
|
* Import basic support for Samsung Exynos 5 support.ray2013-06-2910-0/+1480
| | | | | Submitted by: Ruslan Bukin <br@bsdpad.com> Reviewed by: gonzo
* Add ARM Generic Timer driver.ray2013-06-291-0/+374
| | | | Submitted by: Ruslan Bukin <br@bsdpad.com>
OpenPOWER on IntegriCloud