christos
|
4ad27a5358
|
add COMPAT_20
|
2004-05-02 03:13:34 +00:00 |
|
pk
|
17e88886cc
|
pmap_kremove4m,pmap_protect4m,pmap_extract4m: the `demap' lock needs interrupt
protection.
|
2004-05-01 08:20:11 +00:00 |
|
pk
|
84af51b7e0
|
Rename sc_hasiocache' => sc_cachecoherent'. Avoid the cache flush in
dma_load() if we have coherency.
|
2004-04-28 12:38:19 +00:00 |
|
pk
|
ff7821ed81
|
Fast trap handler for Illegal Instruction traps for (user space) FLUSH
instructions (these occur only on Cypress CPUs).
|
2004-04-28 12:36:48 +00:00 |
|
pk
|
fde3b5dfae
|
Replace home-grown cachestats with event counters.
|
2004-04-27 16:37:43 +00:00 |
|
pk
|
cd955b850f
|
Bits 0 (MMU Enable) and 1 (Fault inhibit) are common among the implementations
of the SRMMU control register. Reflect that fact in the definitions here.
Also add the swift `store allocate' bit.
|
2004-04-27 13:05:38 +00:00 |
|
pk
|
202c3ce64e
|
Add instrumentation for `PMEG' management on sun4/4c.
|
2004-04-27 11:26:43 +00:00 |
|
pk
|
429ad918eb
|
Limit buffer cache VM to prevent too many locked `PMEGs' on small sun4c
systems.
|
2004-04-27 11:25:24 +00:00 |
|
kleink
|
0e5d242328
|
Update for new pci_devinfo(9) signature.
|
2004-04-24 15:49:00 +00:00 |
|
tsutsui
|
77addc8b55
|
Increase buffer size for s[dt]-targets PROM property
otherwise some machines (including my SS1+) with old PROM fails to get it.
|
2004-04-23 13:04:59 +00:00 |
|
hannken
|
82161a9cbe
|
Protect against multiple inclusion.
|
2004-04-23 09:20:20 +00:00 |
|
pk
|
a2ce1a6818
|
ctx_free: reset the context's page table pointers in each context table.
|
2004-04-22 11:57:33 +00:00 |
|
pk
|
c996a0d95b
|
Fix logic botch in previous commit.
|
2004-04-22 11:45:48 +00:00 |
|
pk
|
4c005fd35b
|
Mostly undo rev. 1.287: for modified pages a table walk must be forced on
the next write access to get the modified bit set in the PTE and that
won't happen if it hits the cache.
|
2004-04-22 10:14:58 +00:00 |
|
pk
|
a22adee52d
|
Default to not inlining __cpu_simple_lock().
- the locore version attempts to detect stuck locks
- not inlining saves about 60K on the kernel's text
|
2004-04-20 15:55:30 +00:00 |
|
pk
|
aa53aca844
|
Turn __CPU_SIMPLE_LOCK_INLINE into !__CPU_SIMPLE_LOCK_NOINLINE, so we don't
screw up user land.
|
2004-04-20 08:48:03 +00:00 |
|
pk
|
e2cab98f9e
|
Always provide the __cpu_simple_lock() entry point (for LKMs).
|
2004-04-20 08:38:41 +00:00 |
|
pk
|
ce78973db2
|
Provide a fast trap path for AST IPIs.
|
2004-04-20 08:36:46 +00:00 |
|
pk
|
3097bbf440
|
pmap_extract4m: We can read a spurious invalid pte if the system is in
the middle of the PTE update protocol. So, if at first we get an invalid
PTE, retry with the demap lock held.
|
2004-04-19 15:20:42 +00:00 |
|
pk
|
2e643fb9ae
|
__cpu_simple_lock() isn't a pure function.
|
2004-04-19 12:41:53 +00:00 |
|
pk
|
a484ad4f3f
|
CMP_PTE_USER_READ4M: drop instruction that's effectively a no-op.
|
2004-04-19 10:01:41 +00:00 |
|
pk
|
fecb3b619b
|
Drop spurious variable.
|
2004-04-19 08:50:21 +00:00 |
|
pk
|
03a07196d9
|
srmmu_vcache_flush_page/range: cover the case where we're called during
bootstrap before the cache parameters are setup.
|
2004-04-18 21:49:09 +00:00 |
|
pk
|
27f928584a
|
Code srmmu_vcache_flush_range & srmmu_vcache_flush_page more efficiently.
|
2004-04-18 20:46:39 +00:00 |
|
pk
|
57bbd955d1
|
Various ft_srmmu_vcache_*() functions: use `branch on greater (unsigned)'
instead of `branch on positive'.
|
2004-04-18 20:44:39 +00:00 |
|
pk
|
68f30ee7af
|
Make inlining __cpu_simple_lock() optional. Add a version with a built-in
spin out counter that panics with a diagnostic.
|
2004-04-18 19:20:09 +00:00 |
|
pk
|
38bdc6fab2
|
Remove the cache_flush() trampoline; it's no longer directly cross-called.
Instead, implement the MP parts in terms of cross-callable vcache_flush_range()
function.
|
2004-04-17 23:45:40 +00:00 |
|
pk
|
66a6704d83
|
Update fast xcall interrupt event counter.
ft_srmmu_vcache_flush_range: adjust length for address alignment
|
2004-04-17 23:28:44 +00:00 |
|
pk
|
e68993f7e4
|
Add EV_COUNT.
|
2004-04-17 22:36:54 +00:00 |
|
pk
|
3c3af40e65
|
Add xcall event counters.
|
2004-04-17 22:34:14 +00:00 |
|
pk
|
89f5c8768c
|
When acknowledging a sun4m soft interrupt, read back the pending interrupts
hw register to make sure it gets through on Ross CPUs.
|
2004-04-17 11:55:06 +00:00 |
|
pk
|
1e5ff8a716
|
raise_ipi: don't bother fetching the cpu type from memory in order to
avoid one instruction.
|
2004-04-17 11:50:23 +00:00 |
|
pk
|
727a9ca138
|
The macro CMP_PTE_USER_READ4M now needs to consider more PTE access
rights combinations, since the access rights table in pmap has changed.
|
2004-04-17 11:26:36 +00:00 |
|
pk
|
66178209d2
|
Use fast cross calls for MP cache flush ops.
|
2004-04-17 10:13:13 +00:00 |
|
pk
|
f714ca590d
|
Add CPUINFO_XMSG_* symbols for use in fast xcall handlers.
|
2004-04-17 10:07:58 +00:00 |
|
pk
|
ebfb6e3b0a
|
Implement fast trap handlers for TLB and cache flushes.
|
2004-04-17 10:06:29 +00:00 |
|
pk
|
901271fbc8
|
Use a fast cross call for TLB flushes.
|
2004-04-17 10:04:20 +00:00 |
|
pk
|
4eac0385f6
|
xcallintr: arg3 is gone.
|
2004-04-17 10:01:55 +00:00 |
|
pk
|
8bc2760490
|
Add support for fast cross call handlers that execute in the trap window
on the destination CPU. The `fast handler' address takes the place of the
unused fourth argument to xcall().
|
2004-04-17 10:01:11 +00:00 |
|
pk
|
299dfa38bf
|
De-__P().
|
2004-04-15 10:07:32 +00:00 |
|
pk
|
dab35b2e8d
|
xcall: increase spin-out; fix diag output.
|
2004-04-15 08:11:20 +00:00 |
|
pk
|
cd891bd771
|
Re-enable the HyperSPARC on-board instruction cache on multi-processor machines.
|
2004-04-13 14:55:48 +00:00 |
|
pk
|
86fce030ee
|
Handle `unimplemented flush' traps by flushing the entire I-cache (if
there is one).
|
2004-04-13 14:04:29 +00:00 |
|
pk
|
e76253f84e
|
Turn FLUSH instructions that wind up here into no-ops.
|
2004-04-13 14:00:24 +00:00 |
|
pk
|
ebfcdb612b
|
Drop the special sun4d `tlb flush' lock. The pte update function already
serialises access to the PTEs to reliably get ref/mod bits.
Rename pte4m_lock => demap_lock.
|
2004-04-12 14:26:01 +00:00 |
|
pk
|
4f969ab39c
|
pv_syncflags4m: no need to flush the cache. If the page is still mapped,
its ref/mod status may change at any moment anyway. If a definitive status
is required the UVM code will unmap the page first.
|
2004-04-12 12:52:42 +00:00 |
|
pk
|
fd1ba25dd1
|
Drop sparc_protection_init4m() in favour of a (ro) data initialiser.
|
2004-04-12 10:00:28 +00:00 |
|
pk
|
9450998e71
|
pmap_copy_page4m(): we only need to flush the local cache since we use
private virtual addresses.
|
2004-04-10 20:51:24 +00:00 |
|
pk
|
9d95da7f96
|
Remove a number of redundant TLB page flushed, which are now done in
setpgt4m_va() and updatepte4m() as necessary.
|
2004-04-10 20:43:02 +00:00 |
|
pk
|
6452e19758
|
De-__P().
|
2004-04-10 20:00:29 +00:00 |
|