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.
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
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.