Age | Commit message (Collapse) | Author |
|
needed by upcoming work.
|
|
The relevant part of uartbus(4) is made part of the com(4) glue
to avoid extra maneuvers in the code.
|
|
|
|
|
|
This makes possible to add drivers for other interrupt controllers
on the platform.
The glue layer has been derived from arm64/armv7.
|
|
by the splx() handler.
|
|
|
|
this is so drivers can advertise that they can handle 64 dma addresses
to the platform. it may choose to handle dmamaps differently based
on this flag.
tweaks and ok tom@
ok kettenis@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok kettenis@
|
|
drivers on octeon. Adapted from armv7.
ok kettenis@
|
|
when the system board is unhandled.
|
|
|
|
They are unused and equivalent to disableintr() and setsr().
While here, clean up a few other leftovers.
|
|
flushing any pending local IOBDMA operations. The sync instruction is
overkill because it implies a full memory barrier.
ok jasper@ (long time ago)
|
|
ok kettenis@ deraadt@ jasper@
|
|
|
|
ports eth[0-3] on 8-port EdgeRouters. Currently, port eth0 maps to
network interface cnmac4, eth1 to cnmac5 etc.
ok dlg@, tested by martijn@
|
|
driver-specific memory blocks. This lets the cnmac(4) RX path run
without an mbuf ext_free callback.
ok uebayasi@
|
|
better use of memory. This should prevent gather buffer starvation on
currently supported systems.
Discussed with mpi@
|
|
actually use this in em(4) and xhci(4), but I'm not committing those yet
because we almost certainly need to save and restore the MSI-X registers
during suspend/resume. However, this allows mpi@ to play with multiple-vector
support in networking hardware.
Requested by mpi@
ok mlarkin@, mikeb@
|
|
the list instead of hardcoded regions in memory setup. Works on
EdgeRouter Lite, EdgeRouter Pro, Lanner MR326b and Movidis 16x.
Tested by jj@
Tested by and ok jmatthew@
|
|
For coherency with other archs and in order to use it in MI code.
ok visa@, tobiasu@
|
|
conversion. Because pmap_extract() acquires the PTE mutex, a "locking
against myself" panic is triggered if the cache routine gets called in
a context where the mutex is already held.
In the pmap, all calls to HitSyncDCache() are for a whole page. Add a
new cache routine, HitSyncDCachePage(), which gets both the va and the
pa of a page. This removes the need of the va->pa conversion. The new
routine has the same signature as SyncDCachePage(), allowing reuse of
the same routine for cache implementations that do not need differences
between "Hit" and non-"Hit" routines.
With the diff, POWER Indigo2 R8000 boots multiuser again. Tested on sgi
GENERIC-IP27.MP and octeon GENERIC.MP, too.
Diff from miod@, ok kettenis@
|
|
and _SH_DISKLABEL_H_ with _MACHINE_DISKLABEL_H_. Add the guard to
loongson and octeon. The #defines are not used anywhere else in the
tree so no functional change.
|
|
LABELOFFSET and MAXPARTITIONS. Easier on the eye when scanning
through all these files. No functional change.
|
|
ok kettenis@
|
|
|
|
sgi, are identical. Put one implementation in mips64 and drop the
platform-specific copies, to remove duplicated code.
ok miod@
|
|
memory on (at least) D-Link DSR500 machines.
This follows the CFI specification with code borrowed from zrouter
(FreeBSD). The idea, once the current driver is thoroughly tested, would
be to move it to MI land.
The prerequisites to MI are width, shift and row detection and handling.
In the long run I hope to be able to also add wdc support.
For now write support is disabled.
Okay miod@, deraadt@.
|
|
kernels and we no longer have any.
|
|
Discussed with miod@.
|
|
this basically copies the sgi implementation to mips64 and removes
it from the rest. this way they get an optimised UP mutex implementation
and correct asserts on all platforms.
ok miod@ jmatthew@
|
|
- don't attach octrtc on the edgerouter pro either
openbsd boots fine on this system, but as there's no ethernet support yet
there's no storage at all right now.
ok pirofti@
|
|
ok pirofti@
|
|
allocation strategy to VM_PSTRAT_BIGFIRST.
|
|
OCTEON_ETH_DEBUG kernels a chance to build. No functional change for regular
kernels.
|
|
|
|
prompted by miod@
|
|
Okay miod@
|
|
Program the uarts based on the io clock rate on these platforms.
ok jasper@ pirofti@ yasuoka@
|
|
processors, every time a new text page is mapped in a pmap, the L1 I$ is
flushed for the va spanned by this page.
Since we map pages of our binaries upon demand, as they get faulted in, but
uvm_fault() tries to map the few neighbour pages, this can end up in a
bunch of pmap_enter() calls in a row, for executable mappings. If the L1
I$ is small enough, this can cause the whole L1 I$ cache to be flushed
several times.
Change pmap_enter() to postpone these flushes by only registering the
pending flushes, and have pmap_update() perform them. The cpu-specific
cache code can then optimize this to avoid unnecessary operations.
Tested on R4000SC, R4600SC, R5000SC, RM7000, R10000 with 4KB and 16KB
page sizes (coherent and non-coherent designs), and Loongson 2F by mikeb@ and
me. Should not affect anything on Octeon since there is no way to flush a
subset of I$ anyway.
|
|
ok dlg@ mpi@ deraadt@
|
|
BUS_DMA_NOCACHE (or BUS_DMA_COHERENT if the platform does not have coherent
caches) will use PMAP_NOCACHE when invoking pmap_enter(), to avoid creating
cached mappings, and then evicting them from the cache.
|
|
size, the number of sets, and the total size (and the set size, for convenience)
per cache (I$, D$, L2, L3).
This allows cpu.c to print the number of ways (sets) of L2 and L3 caches from
the cache information, rather than hardcoding this from the processor type.
|