| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
recognized compat properties. This should make the psycho driver attach
properly on SPARCengine Ultra AX machines.
Switch to a table-driven logic to recognize the ID's, since their number
is now large enough to justify this.
These changes are analogous to those made in NetBSD r.1.35, but
implemented a bit differently.
|
|
|
|
|
|
| |
sized array.
While being there, deuglify the psycho pair detection loop which became
quite awkward in a previous code reorganization.
|
|
|
|
| |
better reflect how they are called.
|
|
|
|
|
|
|
|
|
|
|
| |
of them, and couple them by always performing all operations on all
present IOMMUs. This is required because with the current API there
is no way to determine on which bus a busdma operation is performed.
While being there, clean up the iommu code a bit.
This should be a step in the direction of allow some of larger machines
to work; tests have shown that there still seem to be problems left.
|
|
|
|
|
|
|
|
| |
code. Both tasks are not always performed completely by the firmware.
The former is required to get some e450 models to boot; the latter fixes
the repeated fifo underruns with hme(4)s and gem(4)s observed on some
machines (and probably performance problems with other peripherals as
well).
|
|
|
|
|
| |
it is only available on "psycho"s. The same applies to the power
management interrupt, which is not enabled by default though.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- change the IOMMU support code so that it supports overcommittting the
available DVMA memory, while still allocating as lazily as possible.
This is achieved by limiting the preallocation, and deferring the
allocation to map load time when it fails. In the latter case, the
DVMA memory reserved for unloaded maps can be stolen to free up enough
memory for loading a map.
- allow NULL settings in the method tables, and search the parent tags
until an appropriate implementation is found. This allows to remove some
kluges in the old implementation.
|
|
|
|
|
|
|
|
|
|
| |
the bus-dependent code and to be able to support more systems. The core
of the new code is mostly obtained from NetBSD.
Kluge the interrupt routing methods of the psycho and apb drivers so
that an intline of 0 can be handled for now; real routing is still not
possible (all intline registers are preinitialized instead); this will
require a sparc64-specific adaption of the driver for generic PCI-PCI
bridges with a custom routing method to work right.
|
|
|
|
| |
KVA upon activation so that rman_get_virtual() works as expected.
|
|
|
|
|
| |
caused by IOMMU misses to aid debugging. This will only work on
UltraSPARC-IIi and IIe.
|
| |
|
|
|
|
| |
work like an NMI button.
|
|
|
|
|
|
| |
Use explicit bus space accesses instead of mapping the device memory
into kva.
Fix support for psycho pairs, and catch up with iommu code changes.
|
|
|
|
| |
to happen on some models, like the Netra T1.
|
|
|
|
|
|
|
| |
struct ofw_nexus_reg. Implement UPA device memory management in the
nexus driver.
Adapt the psycho driver to these changes, and do some minor cleanup work
while being there.
|
|
|
|
|
|
|
| |
not use struct pcib_softc when struct apb_softc would be correct.
Spotted by: jake
Pointy hat to: tmm
|
|
|
|
|
|
| |
0, but use this mechanism to generate interrupts.
Preserve the child device when setting up and tearing down interrupts.
Some style nits.
|
| |
|
|
|
|
| |
defines methods that need to be implemented by sparc64 host bridge drivers).
|
|
PCI support code, and a driver for the Sun APB PCI-PCI bridge.
Partly ported from NetBSD.
|