Commit Graph

1345 Commits

Author SHA1 Message Date
pk 2357b53997 Avoid race for the chip's interrupt pending status bits in zscnputc()
by introducing a single-character queue to defer kernel console output
until the transmitter interrupt handler runs.
1997-04-14 21:26:28 +00:00
pk 5c54a811e3 Add CY7C601 to SUN4 cpu section (Sun 4/300, 4/400 series). Noticed by
Ralph Sauther.
1997-04-14 21:05:13 +00:00
pk fbf7bcc591 Cypress 605 cache can be run in write-back mode (fingers crossed..). 1997-04-11 20:32:13 +00:00
pk 1774dc8fbe Add Cypress 605 with MMU version 0xb (reported by Harald Barth). 1997-04-11 20:21:56 +00:00
pk b153a134ce Fix obvious bug: missing `return'.
viking_flush: make sure to really expunge all entries in a cache bucket
by poking it (2 * `associativity' - 1) times; noted by Chris Torek.
1997-04-11 20:06:53 +00:00
pk 5eccdd69a6 Avoid compiler warning. 1997-04-11 20:00:10 +00:00
pk ea87baf550 Since all kernel regions are pre-allocated, we can safely copy kernel
mappings to a user pmap when it's created rather than at context
allocation time.  Also, do not copy the kernel's region administration
to every user pmap, especially since no memory appears to be allocated
to copy it into.

As a result of this, we must now switch to context 0 in both pmap_copy_page()
and pmap_zero_page() (XXX).
1997-04-09 23:53:40 +00:00
mrg bb07095632 as per discussion with torek, allow TC=1. also add option
to allow TC=0.  the zilog documentation says not to allow
TC=0 -- however, i tested this and it "does work", as far
as i could tell, so, allow this use if so desired.
1997-04-09 13:15:13 +00:00
pk 242d365b70 Move "range" property description out of generic `romaux'.
Add getproplen() function.
1997-04-08 20:08:53 +00:00
pk cc7899605a Move "range" property description out of generic `romaux'.
Allocate room for this property when needed in bus attachment.
1997-04-08 20:08:20 +00:00
pk bb1d4e0540 Move "range" property description out of generic `romaux'. 1997-04-08 20:06:26 +00:00
pk efeeba419f sun4c and sun4m `aux' register bits differ slightly. 1997-04-07 21:00:34 +00:00
pk fab7831bfc sun4c `nbuf' workaround: make threshold dependend on value of MAXBSIZ. 1997-04-06 21:41:36 +00:00
pk c124058e0b Undo previous change; it can't have any effect (thinko..) 1997-04-04 21:01:49 +00:00
pk d1603d004b Use sc_hwreset() hook to reset ledma (if applicable). 1997-04-04 20:29:23 +00:00
christos ad36b6970e Add netatalk netisr 1997-04-03 17:25:18 +00:00
pk 332d00ad1d Take another register snapshot at the end of dumpsys() to refresh the PCB
which may have been altered while writing the dump. Also, save PC in
the PCB.
1997-04-02 20:56:28 +00:00
pk 102497370d Garbage-collect a few items. 1997-03-31 22:03:11 +00:00
pk 9c2ddb4a59 `*_get_fault_status' should not get profiled; use ALTENTRY for now. 1997-03-31 22:00:39 +00:00
pk cd9e3a7b59 Remove bogon from otherwise unused fdchwintr() function. 1997-03-31 20:27:32 +00:00
pk b8cc0f044e Deal differently with physical memory gaps resulting from alignment
restrictions.
1997-03-31 19:53:41 +00:00
mycroft 9bc200ea19 Fix formatting error in Sun 4 printf(). 1997-03-31 17:21:00 +00:00
mycroft ac89281245 Fix bogus preprocessor conditional that caused the trap page to
not be rounded up when it should be.
1997-03-31 16:42:52 +00:00
christos dd3f97976c Comment out DIAGNOSTIC panic in trap code translation. The DIAGNOSTIC is
correct, but unfortunately in trap.c trapsignal(p, SIGSEGV, code) passes
the address of the fault in code, instead of the trap code. So we punt for
now doing checking for trap code validity until this gets fixed.
1997-03-30 17:18:19 +00:00
thorpej 161f6c6f6b Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:49 +00:00
pk 6fee4ceb1f viking_cache_enable: clear caches only if not yet on.
viking_pcache_flush: don't use flash-clear; use hard-coded parms instead(XXX)
1997-03-27 16:02:10 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
pk b468feeebf In pmap_remove(), check for an empty segment before calling one of the
helper functions. This cuts down the number of needless function calls
by approx. 80%, which has a healthy effect on the responsiveness of
a machine under heavy process creation/teardown loads.
The VM system seems to be fond of asking to delete page mappings
which aren't there..
1997-03-25 23:04:02 +00:00
pk eb3b79e0f2 Move `#endif /* SUN4M */' downward. 1997-03-24 22:56:37 +00:00
pk 4a77b646a2 Add `c_associativity' field. 1997-03-24 19:56:58 +00:00
pk f62b65006f Clamp burst sizes to maximum value of parent.
Reset ledma from leattach().
1997-03-23 22:54:26 +00:00
pk a13464f5c9 Garbage collect. 1997-03-22 22:13:17 +00:00
pk f839bb9816 Add a `[ide]c_ncachelines' field to cacheinfo structure; initialize
and use it where appropriate.
Add `swift' and `turbosparc' cache enable function.
1997-03-22 22:03:25 +00:00
pk 8d0c0fd49b For each major "module", define a separate set of MMU control register bits. 1997-03-22 19:15:53 +00:00
pk e38b52a46b Thinko. 1997-03-21 16:29:34 +00:00
pk 1bc742e6dd cypress_cache_enable: clear bits explicitly before setting. 1997-03-21 15:35:51 +00:00
pk d584dba41d Use `setpgt4m()' in some more places. 1997-03-21 15:19:29 +00:00
pk 3a7c1b8d57 viking: flush cache before enabling MMU. 1997-03-21 14:30:19 +00:00
pk e221d20b5b Compute a cache attribute correctlier. 1997-03-21 08:39:40 +00:00
pk cb8601ae21 In viking_pcache_flush(), use a "flash flush" during boot-strapping. 1997-03-21 01:49:03 +00:00
pk 28350d7d18 Set pcache_flush_line function pointer for correct cache configuration. 1997-03-21 01:47:15 +00:00
pk 31f3ff5346 Store cache associativities in the `cacheinfo' structure, and use it
in computing the cache "alias distance" and in the viking cache line
flush function.
1997-03-21 01:32:15 +00:00
pk d79f5b1733 Add declaration. 1997-03-20 23:57:30 +00:00
pk 5704efd375 Replace many setpte4m() calls with a simpler helper function because
the address of the desired PTE location is readily available in the
callers context (setpte4m() retraces the entire 3-level structure
to arrive at the PTE location).

Also, in many cases we can do away with the distinction between pmaps
that have or have not allocated a context. This is really only useful
in cases where we're interested in the REF or MOD bits which can differ
in the TLB version of a PTE.  By doing this, we avoid getpte()'s which
in many cases instruct the MMU to start a table walk only to find out
that there's nothing there after going 2/3 of the way, or waste a TLB
entry because of TLB flushing soon after getpte() completes.

In addition, there's a hook to flush the cache line corresponding to
the (kernel virtual) location of a PTE entry when it gets altered.
1997-03-20 23:48:37 +00:00
pk 6cea599cbf Add hook for flushing a single cache line. 1997-03-20 23:26:23 +00:00
pk 63c1c6ab1c Remove a bunch of no-ops. 1997-03-20 21:44:21 +00:00
pk 5718c246fd Define various no-op functions. 1997-03-20 21:16:20 +00:00
pk 7cf0d72881 Add a `no-op' function that the compiler can not touch. 1997-03-20 21:10:31 +00:00
mycroft 7a55cafeeb Implement set_format. 1997-03-20 16:51:38 +00:00