summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
...
* MFC r278770, r279114, r279215, r279338, r279543:ian2015-05-233-8/+8
| | | | | | | | | | | | | | | | Add logic for handling new-style ARM cpu ID info. Correct a comment which was exactly backwards from reality. There is no reason to do i+dcache writeback and invalidate when changing the translation table (this may be left over from armv5 days). It's especially bad to do so using a cache operation that isn't coherent on SMP systems. Add casting to make atomic ops work for pointers. (Apparently nobody has ever done atomic ops on pointers before now on arm). Revert incorrect casting.
* MFC r282500, r282693:gjb2015-05-203-84/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r282500: Add initial support for building RPI2 images. In release.sh, allow overriding buildenv_setup() before the handoff to arm/release.sh. Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and the correct KERNEL, and add the buildenv_setup() override to install the sysutils/u-boot-rpi2 port/package. Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf, and set the correct entries for the RaspberryPi2 board. r282693: Merge ^/projects/release-arm-redux into ^/head. Of note: - This commit adds native FreeBSD/arm release build support without requiring out-of-tree utilities. - Part of this merge removes the WANDBOARD-{SOLO,DUAL,QUAD} kernel configuration files, for which the IMX6 kernel configuration file should be used instead. - The resulting images have a 'freebsd' user (password 'freebsd'), to allow ssh(1) access when console access is not available (VGA or serial). The default 'root' user password is set to 'root'. - The /etc/ttys file for arm images now enable both ttyv0 and ttyu0 by default. Note: The RPI2 kernel configuration does not yet exist in stable/10, however the merge conflicts needed to be properly resolved. Additionally, SRCBRANCH has been set to base/stable/10 in the updated arm configuration files as part of this commit. Sponsored by: The FreeBSD Foundation
* MFC r282120:hselasky2015-05-052-4/+4
| | | | | | | | | | | | The add_bounce_page() function can be called when loading physical pages which pass a NULL virtual address. If the BUS_DMA_KEEP_PG_OFFSET flag is set, use the physical address to compute the page offset instead. The physical address should always be valid when adding bounce pages and should contain the same page offset like the virtual address. Submitted by: Svatopluk Kraus <onwahe@gmail.com> Reviewed by: jhb@
* Merge r263233 from HEAD to stable/10:rwatson2015-03-191-1/+1
| | | | | | | | | Update kernel inclusions of capability.h to use capsicum.h instead; some further refinement is required as some device drivers intended to be portable over FreeBSD versions rely on __FreeBSD_version to decide whether to include capability.h. Sponsored by: Google, Inc.
* MFC r279312:dim2015-03-014-7/+7
| | | | | | | Fix a number of -Wcast-qual warnings under sys/arm. No functional change. Submitted by: andrew
* MFC r279311:dim2015-03-011-1/+1
| | | | | | | In sys/arm/ti/am335x/am335x_rtc.c, fix a clang 3.6.0 warning about am33x_rtc_softc::sc_irq_res (which is an array) never being NULL. Submitted by: andrew
* MFC r274670, r274671, r276168:loos2015-02-149-98/+1
| | | | | | | | | | | | | | Moves all the duplicate code to a single function. Verify for invalid modes and unwanted flags before pass the new flags to driver. Make gpio_default_map_gpios() static. No functional changes. Improves the GPIO API description a little bit. gpio_pin_max must return the maximum supported pin number and not the total number of pins on the system.
* MFC r273799:loos2015-02-1411-22/+25
| | | | | | | | Make the GPIO children attach to the first unit available and not only to unit 0. This fix a bug where a GPIO controller could fail to attach its children (gpioc and gpiobus) if another GPIO driver attach first.
* MFC: r273264, r274409, r278212, r278213:loos2015-02-141-49/+10
| | | | | | | | | | | | | | | | | | | | | | Add a workaround needed to fix a bug of Arasan Host Controller where it may lose the contents of consecutive writes (that happens within two SD card clock cycles). This fixes the causes of instability during the SD card detection and identification on Raspberry Pi (which happens at 400 kHz and so was much more vulnerable to this issue). Remove the previous workaround which clearly can't provide the same effect. Remove stale comments about the issues with HS mode. Remove a previous workaround to limit the minimum sdhci frequency that isn't needed anymore. Remove some duplicate calls to bus_release_resource() and destroy the mutex on error cases. While here remove unnecessary includes.
* MFC r276298, r276303:loos2015-02-141-21/+6
| | | | | | | | | | | | Remove the '#undef DEBUG' that should not be committed. Removes unused and duplicate headers. Bring the wait limit on mailbox write to a more sane value. Fix a off-by-one bug on wait time limit. Remove extra blank line.
* MFC r276296, r277207:loos2015-02-141-4/+3
| | | | | | | | Make consistent use of the correct debug macros across the file. Fix the C -> K temperature conversion for the dev.cpu.0.temperature sysctl. Remove the unused temperature conversion macros.
* MFC r277643:kib2015-02-141-2/+6
| | | | | | | Remove Giant from /dev/mem and /dev/kmem. MFC r277743: Arm: ensure that _tmppt KVA is used exclusively.
* MFC r278031: Remove a stale comment.ian2015-02-131-2/+0
|
* MFC r277555, r277568:ian2015-02-132-4/+29
| | | | | | Enable all sd device clocks on imx6. Add imx5/6 pinmux driver support for encoded input register configs.
* MFC r277523: Add last_fault_code when DEBUG is defined.ian2015-02-131-0/+8
|
* MFC r277532, r277533: Add Maxmem global for arm.ian2015-02-132-6/+24
|
* MFC r277454, r277460, r277465, r277466, r277467, r277469, r277470, r277471,ian2015-02-1359-2282/+850
| | | | | | | | | | | | | | | | | | | | | r277472, r277473, r277474, r277475, r277476, r277477, r277478, r277479, r277480, r277512, r277516: Add inline implementations of arm bus_space_read/write_N(). Revise the arm bus_space implementation to avoid dereferencing the tag on every operation to retrieve the bs_cookie value almost nothing actually uses. Use the explicit member initializer style to init the bus_space struct. Use arm/bus_space-v6.c for all armv6 systems Consolidate many identical implementations of bus_space to a single common tag and implementation shared by armv4 and armv6. Micro-optimize the new arm inline bus_space implementation by grouping all the data the inline functions access together at the start of the bus_space struct so that they all fit in a single cache line.
* MFC r272103: Move s3c2xx0 into the samsung directory.ian2015-02-1324-42/+42
|
* MFC r257740, r257739: Switch to using common armv6 bus_space tag.ian2015-02-139-362/+6
|
* MFC r277306, r277307, r277346:ian2015-02-131-1/+5
| | | | | | | | Add defines for SDHCI 3.0 controllers. Add a new SDHCI quirk, SDHCI_QUIRK_DONT_SET_HISPD_BIT. Save the command-and-flags value into shadow register when it is written.
* MFC r277305: Minor cleanups, comment changes.ian2015-02-131-11/+10
|
* MFC r277265: Enable the snoop control unit during MP startupian2015-02-131-3/+20
|
* MFC r277037: Enable ALT_BREAK_TO_DEBUGGER for rpi.ian2015-02-131-0/+1
|
* MFC r276003:ian2015-02-1313-352/+485
| | | | | Start to clean up the armv6 kernel configs by reducing the diff between them in the first sections and the later FDT support.
* MFC r263245, r269233, r267101, r275961: Config style cleanups.ian2015-02-132-97/+95
| | | | | Some of these are effectively record-only merges, because the actual merge happened during conflict resolution of some prior merge.
* MFC r271220:ian2015-02-133-297/+179
| | | | Create a common i.MX53 config and use it with the two existing i.MX53 boards.
* MFC r275962: Clean up style of CUBIEBOARD2 config.ian2015-02-131-15/+15
|
* MFC r277028, r277038:ian2015-02-131-77/+109
| | | | | Check for and handle failures of bus_dmamap_load(). Handle dma mappings with more than one segment for rpi sdhci.
* MFC r276985:ian2015-02-131-3/+11
| | | | Store the shadow command/mode register in the softc, not a local static var.
* MFC r276803, r276808:ian2015-02-133-35/+72
| | | | | Add accessors for the ARM CP15 performance monitor registers. Move the inclusion of cpu-v6.h inside the #ifdef _KERNEL block.
* MFC r267719:ian2015-02-135-359/+0
| | | | | | | Remove the incomplete Tegra 2 code, nobody was maintaining it. The AC100 never booted to single user mode. (And now it is blocking the ability to MFC other changes since it is gone from -current and hasn't kept up with the other changes).
* MFC r266083, r267597:ian2015-02-132-1/+78
| | | | Give suitably-endowed ARMs a register similar to the x86 TSC register.
* MFC r276642, r276644:ian2015-02-138-14/+5
| | | | | | | Remove commented-out options SMP and APIC_IO from old arm boards that will never be able to support smp. Switch all arm kernels with option SMP to use SCHED_ULE instead of 4BSD.
* MFC r266647, r270912, r273089:ian2015-02-1321-91/+91
| | | | | | | | | Reduce the diff between the PandaBoard and BeableBone kernel configs Resync comments about scbus and pass for life after AHCI joined CAM. Uncomment general options from the Pandaboard config. These are in other configs and there is no reason for them not to be here.
* MFC r272356, r275639, r276638:ian2015-02-135-141/+891
| | | | | | | | Split syscall handling out to a separate file. Include sys/kernel.h to pick up the definition of hz in syscall.c Add a new trap-v6.c which has support for all armv7 exceptions.
* MFC r276525, r276596:ian2015-02-1313-26/+26
| | | | | | | Put in a workaround for bug 196407 (arm modules cause crashes & panics). (Don't allow movw/movt insn in modules.) Fix alignment directives in arm asm code after clang 3.5 import.
* MFC r276519:ian2015-02-133-1/+5
| | | | | Define a WFI macro that expands to the right form of wait-for-interrupt depending on the architecture.
* MFC r276518: Rework vfp code so it will compile on clang 3.4 and 3.5.ian2015-02-131-50/+62
|
* MFC r276444, r276445, r276470:ian2015-02-132-8/+8
| | | | | | | | | Fix a paste-o in dcache_inv_pou_all(). Change the order of operations for the initial cache setup. A couple small fixes to make clang 3.5 happy... Move END(sigcode) and other misplace ENTRY/END macros.
* MFC r276394, r276397:ian2015-02-132-564/+54
| | | | | | Add armv6 implementations of the startup-time cache maintenence functions. Create a new locore.S that includes locore-v4 or locore-v6 as needed.
* MFC r276395, r276396: Rename locore.S to locore-v4.S and add a new locore-v6.S.ian2015-02-124-27/+1135
|
* MFC r276247, r276333, r276334, r276335, r276336, r276340, r276350:ian2015-02-127-1/+814
| | | | | | | | | | | | | | | | | | | | | | | | Include acle-compat.h directly rather than getting it via sysreg.h. Add new code to read and parse cpu identification data using the new CPUID mechanism defined for armv7. Add new TLB and cache maintainence functions for armv6 and armv7. Eliminate an unused macro whose name clashes now with a function in the new cpu-v6.h Add cache maintenance functions which will be used by startup code to initially set up the MMU. Fix a "decl is not a prototype" error noticed by gcc (but not clang). Update comments (r4 is not used anywhere), use non-profiling entry macros. Add arm option ARM_NEW_PMAP, to allow us to begin adding the new pmap code alongside the existing implementation Add armv6 implementations of cache operations to avoid duplication
* MFC r272209, r272300, r276212, r276213:ian2015-02-123-33/+288
| | | | | | | | | Add machine/sysreg.h to simplify accessing the system control coprocessor registers and use it in the ARMv7 CPU functions. Add macros for asm barrier instructions with arch-specific implementations. Define only the CP15 register operations that are valid for the architecture.
* MFC r276206:ian2015-02-123-8/+12
| | | | | | For data and instruction prefetch aborts, call the same handler in the C code, passing a 0/1 flag that indicates which type of abort it was. This sets the stage for unifying the handling of page faults in a single routine.
* MFC r276196, r276197, r276198, r276202, r276203, r276204:ian2015-02-122-44/+56
| | | | | | | | | | | | | Change the style of the DO_AST macro to match the others Remove _PROF_PROLOGUE from the EENTRY() macros. Stylish changes... put tabs where they need to be in macros, move lines around so that related things are more grouped together, rewrite comments. Fix the GLOBAL macro so it works (upper vs lowercase X), use it in _EENTRY. Create 'L' variants of all the ENTRY macros for file-static/local symbols.
* MFC r276191: Display correct value for cache level-of-coherency (needs +1).ian2015-02-121-1/+1
|
* MFC r276187, r276190, r271422:ian2015-02-1216-266/+168
| | | | | | | | | | Rename pmap_kenter_temp to pmap_kenter_temporary to be consistent with the other architectures with this function. Eliminate unnecessary references to pte.h internals by using the standard pmap_kenter_temporary() to map pages while dumping. Cleanup up ARM *frame structures.
* MFC r271394, r271398:ian2015-02-1227-85/+115
| | | | | | | Add more register values to armreg.h and remove CPU_CONTROL_32BP_ENABLE from asm.h as they were already defined in armreg.h. Unify interrupts bit definition and usage. While here remove PSR_C_bit.
* MFC r275779, r275963, r276101, r276161, r276297:ian2015-02-125-16/+2117
| | | | | | | | | | | Move ofw_cpu.c to sys/dev/ofw so that it can be used by other architectures. Add driver for CPU frequency/voltage control on the Raspberry Pi. On initialization, do not use bcm_mbox_intr() to read the pending messages. This fixes the hang that happens on boot while initializing the cpufreq on Raspberry Pi.
* MFC r276047: Add -march=armv7a to the kernel compile for all v7a ARM systems.ian2015-02-1113-0/+13
|
OpenPOWER on IntegriCloud