| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
by other architectures.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D6091
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
|
|
|
|
|
|
|
| |
independent code that needs to know about INTRNG such as PCI drivers.
Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
| |
a DRIVER_MODULE() referencing mmc_driver has a MODULE_DEPEND() on mmc. This
is because the kernel linker only searches for symbols in dependent modules,
so loading sdhci_pci (and other bus-flavors of sdhci) would fail when mmc
was not compiled into the kernel (even if you hand-loaded mmc first).
(Thanks to jilles@ for providing the vital clue about the kernel linker.)
|
| |
|
|
|
|
| |
option is still in existance as it is used to build the trampoline code.
|
|
|
|
|
|
| |
the various bridge drivers out of dev/mmc.c and into the bridge drivers.
Requested by: jhb (almost two years ago; better late than never)
|
|
|
|
|
|
|
| |
definition in a file.* file under sys/arm/arm in the few cases we need it
for non-fdt platforms.
Sponsored by: ABT Systems Ltd
|
|
|
|
| |
we happen to be building.
|
| |
|
|
|
|
|
| |
Add helper routines to deal with attach and detach of gpiobus and gpioc
devices that are common to all drivers.
|
|
|
|
|
| |
and now some v5 Marvell systems are using it. Only define fdt_bus_tag
if option FDT is defined.
|
|
|
|
| |
files for lpc and xilinx aren't needed. Also, fix a couple paste-os.
|
|
|
|
|
|
|
| |
- Fix some comments and whitespace while at it.
MFC after: 1 month
Submitted by: marius@
|
| |
|
|
|
|
|
|
|
|
|
| |
unit 0.
It seems that this 'simplification' was copied to all GPIO drivers in tree.
This fix a bug where a GPIO controller could fail to attach its children
(gpioc and gpiobus) if another GPIO driver attach first.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
platform code, it is expected these will be merged in the future when the
ARM code is more complete.
Until more boards can be tested only use this with the Raspberry Pi and
rrename the functions on the other SoCs.
Reviewed by: ian@
|
| |
|
|
|
|
|
|
|
|
| |
and the functionality it provided into arm/exception.S. Rename the main
irq handling routine from arm_handler_execute() to arm_irq_handler() to
make it more congruent with how other exception handlers are named, and
also update its signature to reflect what has long been reality: it is
passed just a trapframe pointer, no interrupt number argument.
|
|
|
|
|
|
|
|
| |
implementation in arm/machdep.c. Most arm platforms either don't need to
do anything, or just need to call the standard eventtimer init routines.
A generic implementation that does that is now provided via weak linkage.
Any platform that needs to do something different can provide a its own
implementation to override the generic one.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to check the status property in their probe routines.
Simplebus used to only instantiate its children whose status="okay"
but that was improper behavior, fixed in r261352. Now that it doesn't
check anymore and probes all its children; the children all have to
do the check because really only the children know how to properly
interpret their status property strings.
Right now all existing drivers only understand "okay" versus something-
that's-not-okay, so they all use the new ofw_bus_status_okay() helper.
|
|
|
|
|
|
|
|
|
| |
memory at the end of the kernel.
This helps reduce the SoC and board specific configuration required.
Reviewed by: bsdimp
Tested by: jmg (armeb), br
|
|
|
|
| |
pollution from other headers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static device mappings.
This SoC relied heavily on the fact that all devices were static-mapped
at a fixed address, and it (rather bogusly) used bus_space read and write
calls passing hard-coded virtual addresses instead of proper bus handles,
relying on the fact that the virtual addresses of the mappings were known
at compile time, and relying on the implementation details of arm
bus_space never changing. All such usage was replaced with calls to
bus_space_map() to obtain a proper bus handle for the read/write calls.
This required adjusting some of the #define values that map out hardware
registers, and some of them were renamed in the process to make it clear
which were defining absolute physical addresses and which were defining
offsets. (The ones that just define offsets don't appear to be referenced
and probably serve no value other than perhaps documentation.)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shifts into the sign bit. Instead use (1U << 31) which gets the
expected result.
This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.
A similar change was made in OpenBSD.
Discussed with: -arch, rdivacky
Reviewed by: cperciva
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static device mappings, rather than as the first of the initializations
that a platform can hook into. This allows a platform to allocate KVA
from the top of the address space downwards for things like static device
mapping, and return the final "last usable address" result after that and
other early init work is done.
Because some platforms were doing work in initarm_lastaddr() that needs to
be done early, add a new initarm_early_init() routine and move the early
init code to that routine on those platforms.
Rename platform_devmap_init() to initarm_devmap_init() to match all the
other init routines called from initarm() that are designed to be
implemented by platform code.
Add a comment block that explains when these routines are called and the
type of work expected to be done in each of them.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
headers directly that are no longer available via accidental include.
|
|
|
|
|
|
| |
The only remaining user was the code that allocates bounce pages for armv4
busdma. It's not clear why bounce pages would need uncached memory, but
if that ever changes, kmem_alloc_attr() would be the way to get it.
|
|
|
|
|
|
| |
really need it. That would be almost everywhere it was included. Add
it in a couple files that really do need it and were previously getting
it by accident via another header.
|
|
|
|
|
|
|
| |
included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h
so there's no reason to ever include it directly.
Thanks to alc@ for pointing this out.
|
|
|
|
|
| |
Suggested by: rpaulo
Approved by: adrian (mentor)
|
|
|
|
|
|
|
| |
Switch eventtimers(9) from using struct bintime to sbintime_t.
Even before this not a single driver really supported full dynamic range of
struct bintime even in theory, not speaking about practical inexpediency.
This change legitimates the status quo and cleans up the code.
|
|
|
|
|
|
|
|
|
| |
malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched
- sys/mbuf.h edited manually
|
| |
|
|
|
|
|
|
|
|
|
| |
The copies of initarm used on platforms with FDT support were almost
identical. The differences were pulled out into separate functions that
were called by initarm.
This change merges the, now identical, copies of initarm and a few of it's
support functions. This is a step towards a common kernel on ARMv6.
|
| |
|
|
|
|
| |
the diff to the other FDT versions of initarm.
|
|
|
|
| |
versions of initarm
|
| |
|
| |
|
|
|
|
| |
for merging them.
|
|
|
|
| |
This only touches whitespace and comments.
|
|
|
|
|
|
|
| |
On single core devices set_stackptrs is only ever called with cpu = 0 in
initarm and will be identical to the existing function. On SMP this needs
to be implemented for sys/arm/mp_machdep.c, but the implementations are
identical for each SoC.
|
|
|
|
|
|
| |
when building each kernel.
Reviewed by: imp
|
|
|
|
|
|
| |
EA3250 kernel build.
Approved by: gonzo
|
|
r235162:
Initial LPC32x0 support. Includes DTS file for Embedded Artists EA3250
board.
Peripherals currently supported:
- Serial ports
- Interrupt controller
- Timers
- Ethernet
- USB host
- Framebuffer (in conjunction with SSD1289 LCD controller)
- RTC
- SPI
- GPIO
Submitted by: Jakub Wojciech Klama <jceel@freebsd.org>
|