Commit Graph

1536 Commits

Author SHA1 Message Date
pk af86c62d61 Get console tty size from raster console if applicable. 1997-07-07 23:30:22 +00:00
pk 7a959f1752 Add `maxusers' line and set it to 32. 1997-07-07 21:54:51 +00:00
pk 42f6c894f8 Raise max maxusers to 1024 1997-07-07 21:53:43 +00:00
pk 0360275f33 Clear relevant `cpuinfo' fields upon detection of a cloaked TurboSparc. 1997-07-07 20:43:25 +00:00
pk 2d50be8cb3 Add `turbosparc_getfaultstatus()' to be used instead of the generic srmmu item. 1997-07-07 20:06:42 +00:00
pk 3c1b9ba29b Install media functions only if something useful can be returned. 1997-07-07 16:28:44 +00:00
hannken bcb9e18784 Fix bad parentheses in `getcpuinfo()'. 1997-07-07 08:44:01 +00:00
pk 27434aef27 Follow lock changes (DEBUG => LOCKDEBUG). 1997-07-06 23:57:16 +00:00
pk 4846e5ba47 Adjust for generic lock changes. 1997-07-06 23:52:52 +00:00
pk f02db5d4f6 Turn off microsparc II compatibility bit in Fujitsu turbosparc processors. 1997-07-06 22:23:37 +00:00
pk 0ab67aca5d Define the turbosparc's processor configuration register. 1997-07-06 22:21:11 +00:00
pk c4e35e2f8b Have a patchable variable `ignore_bogus_traps' (0 by default) that
controls whether or we panic when receiving an unhandled trap.
1997-07-06 21:34:45 +00:00
pk bbb57cadb4 Use the module info fields `cputype' and `vactype' to hold a processor
family's type and cache information. This can be optionally modified
by the associated `match' routine.
1997-07-06 21:18:27 +00:00
pk 55a6f97322 Add VAC_UNKNOWN to `enum vactype'. 1997-07-06 21:15:14 +00:00
pk 81469e565e Add two more fields (`cputype' and `vactype') to the module info. 1997-07-06 21:14:25 +00:00
christos 3de323b091 Fix printf formats. 1997-07-06 19:32:39 +00:00
pk 48ad000318 Slight optimization when pv_unlink'ing last entry (suggested by Eric Fair).
Use MR4() macro where appropriate.
1997-07-06 12:29:54 +00:00
pk c3af302842 Use setpgt4m() in setptesw4m(). 1997-07-06 12:22:39 +00:00
pk aff11374d7 Defer setting the CACHEPAGETABLES flag until cache_enable(). 1997-07-02 14:52:59 +00:00
pk 94113eb121 Remove a bogon. 1997-07-02 14:39:24 +00:00
pk 363c28ce88 Fix typo in last commit. 1997-06-29 18:44:21 +00:00
pk adc8e8d8b0 Accommodate non-VM_PMAP_HACK code. 1997-06-28 19:59:03 +00:00
pk a9b31740a2 Remove __VM_PMAP_HACK. 1997-06-28 19:56:12 +00:00
thorpej 0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
thorpej 7c03f46228 Don't print a warning if the returned transfer count is less than 0.
This can happen during perfectly normal operation if:
	(a) We are using DMA to select a target, and
	(b) we are interrupted by another target reselecting us.
Per discussion with Paul Krannenburg.
1997-06-26 00:31:20 +00:00
thorpej cf016f61f4 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:56:28 +00:00
pk f9d3344f9c xysize(): only call xyopen()/xyclose() if not already open, per the
current `openmask'.
1997-06-18 20:47:00 +00:00
pk 4269e0eab1 xdsize(): only call xdopen()/xdclose() if not already open, per the
current `openmask'.
1997-06-18 20:45:03 +00:00
mrg 5dad1a32a4 move installboot.8 into src/share so everyone builds it. 1997-06-16 13:58:24 +00:00
pk ddfaeab080 Change `pv_va' entry to a `vm_offset_t' as suggested in PR#3703.
Also, re-arrange pmap_page_protect4_4c() like the 4m variant; add
a more detailed panic message.
1997-06-12 21:02:43 +00:00
pk 0bf9195444 Erase kernel PTEs in pmap_page_protect4m(). This bug would leave spurious
entries in the kernel address space, eventually leading to panics in
pv_unlink().   This takes care of PRs 3575 & 3703.
1997-06-12 19:14:28 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
pk cbc17e9dd1 ie2,ie3 and ie4 are 32-bit. 1997-06-10 21:54:21 +00:00
pk 1ab49e584f Avoid "false positives" in match routines. 1997-06-10 20:59:10 +00:00
pk 2851bca951 vme_establishintr: remove SUN4 arch check; this now works on sun4m as well. 1997-06-10 20:57:48 +00:00
veego 6ab737a609 Initialize machine from MACHINE and machine_arch from MACHINE_ARCH. 1997-06-08 23:59:57 +00:00
thorpej 38b9b3385b Update for changes in the core ISP driver. 1997-06-08 06:35:45 +00:00
pk 7de2a6f83d Use the `ranges' property to deal with VMEbus address spaces. 1997-06-07 19:16:23 +00:00
pk af40331aec Add some VME address modifiers used by vmebus_translate(). 1997-06-07 19:10:57 +00:00
veego de7e49a954 Add 'char machine_arch[] = "xxx";' for the new sysctl hw.machine_arch. 1997-06-06 23:26:01 +00:00
pk d7b698b984 Set `rr_iospace' to PMAP_OBIO when translating relative sbus addresses. 1997-06-01 22:10:39 +00:00
mrg 81f7adf672 need to bump this back to version 1.7 (last one). 1997-06-01 14:08:58 +00:00
mrg 76b4fd4206 need to bump this back to version 1.7. 1997-06-01 14:08:15 +00:00
mrg 2a4bfcce7b need to bump this back to version 1.7. 1997-06-01 14:07:27 +00:00
mrg 640e369d6c need to bump this back to version 1.7. 1997-06-01 14:07:01 +00:00
mrg 887cadb09b need to bump this back to version 1.7. 1997-06-01 14:06:23 +00:00
mrg e3ee873c1f need to bump this back to version 1.7. 1997-06-01 14:05:49 +00:00
mrg 7cedf69cbd Completely rearrange SPARC boot code, modeling it after alpha and hp300
ports' boot programs.  Also added support for loading gzip'd kernels,
useful for booting from floppy.  From Jason R. Thorpe <thorpej@nas.nasa.gov>,
tested by Matthew Green <mrg@eterna.com.au> and Erik Fair <fair@clock.org>.
1997-06-01 03:39:03 +00:00
pk 4f292fbb17 Remove `bustype' argument from bus_tmp(). 1997-05-24 20:17:04 +00:00
pk ec02e14ae2 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:06 +00:00
pk e59f568ea7 Remove `bustype' argument from map[io]dev(). 1997-05-24 20:16:05 +00:00
pk 3137152cb5 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:04 +00:00
pk 5ec5d5bca3 Remove `bustype' argument from map[io]dev(). 1997-05-24 20:16:03 +00:00
pk 954e31e49a Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:02 +00:00
pk 3cb17e53d3 Remove `bustype' argument from map[io]dev(). 1997-05-24 20:16:01 +00:00
pk b3aae0c409 Remove `bustype' argument from map[io]dev(). 1997-05-24 20:15:58 +00:00
pk 821f712972 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:15:58 +00:00
pk 9f2499dc98 mapdev() looses the `bustype' argument. It's superseded by `rr_iospace'
on all archs.
1997-05-24 20:13:48 +00:00
pk 72c03c7df9 Use page type encoding macros from pmap.h 1997-05-24 20:09:45 +00:00
pk fb5c729d4a Use `rr_iospace' to track the MMU page type bits. On sun4c/sun4m the
iospace value is always learned from the PROM; on sun4, we infer it
from the BUS_* parameters.

This obsoletes the `bustype' argument in bus_tmp().
1997-05-24 20:08:41 +00:00
pk ea0f4900ff Always use `rr_iospace' to track the MMU page type bits.
This obsoletes the `bustype' argument in map[io]dev().
1997-05-24 20:03:03 +00:00
pk 957b6c1c18 Define macros for encoding I/O space bits into the physical address
passed to pmap_enter().
1997-05-24 19:59:25 +00:00
pk ae61406a77 Replace bus_tmp() by mapdev() equivalent. 1997-05-19 19:59:36 +00:00
pk f88bf0a6e9 Replace bus_tmp() with mapdev() equivalent. 1997-05-19 19:56:26 +00:00
pk 350c3993aa Remove bus_tmp(). 1997-05-18 21:26:40 +00:00
pk c0036ae48d Remove bus_tmp(); it's just a special case of mapdev(). 1997-05-18 21:26:22 +00:00
pk dc9c65530d Define a `vme' device on `iommu' and allow `vmes' and `vmel' as sub-busses. 1997-05-18 19:41:02 +00:00
pk 18a4aeea23 A bit of framework for sun4m VME busses. 1997-05-18 19:37:37 +00:00
pk 0914945bfe Keep a shadow copy of the aux register's contents. 1997-05-17 17:52:50 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
pk 7ae81c002a Actually use the passed physical address in viking_cache_flush(). Also,
use hardcoded cache parameters for now.
1997-05-15 22:53:01 +00:00
pk 72d640a497 Tweak gain curve (from nsayer@kfu.com; PR#2909) 1997-05-15 22:32:56 +00:00
pk 3f1da95bc5 Nuke old `mmu3l' references. 1997-05-15 22:25:45 +00:00
pk 4f48bf2bb1 Change some malloc -> MALLOC and free -> FREE
More accuracy in diag/panic messages (part of PR3602; Eric Fair).
1997-05-15 19:19:49 +00:00
augustss e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
augustss c4a52794f1 Convert to new orthogonal audio encoding scheme and implement
some of the new encodings.  The change to ioctl AUDIO_GETENC is
NOT backwards compatible.
1997-05-07 18:51:31 +00:00
mycroft 84bca5d679 Don't use _SUBDIRUSE outside of bsd.subdir.mk. 1997-05-07 17:28:47 +00:00
lukem 8744fe853c clean up use of whitespace 1997-05-07 01:55:23 +00:00
pk 45cc2d6db4 turbosparc: 256 contexts, page tables cannot be cached. 1997-05-06 21:00:54 +00:00
pk 6c717dd82c Bump version number to celebrate the fact that the bootblocks can be used
unmodified across all platforms.
1997-05-04 14:19:22 +00:00
pk a05df4e228 * finish off support for the 82077 chip as found on sun4m machines.
* add non-dma mode bit to `specify command', so formatting disks starts
  working (thanks to Jeremy Cooper for finding out about this).
1997-05-02 13:03:44 +00:00
pk 3e9d89dcd0 Switch to copy of file in /sys/dev/ic. 1997-05-02 08:30:42 +00:00
augustss 526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
pk 547d95a029 Remove esp FLUSH when residual bytes are present in FIFO, the ncr53c9x
driver will flush when necessary. Doing the FLUSH here interferes
with DMA-enabled target selection.
1997-04-27 22:12:40 +00:00
mrg 00e4b647d9 add NetBSD RCSid. 1997-04-22 07:48:31 +00:00
mycroft 58fbadc150 Put back missing label. 1997-04-21 18:20:14 +00:00
mycroft 89205383a7 Make microtime() work correctly with a 4- or 4C-only kernel. 1997-04-21 05:47:08 +00:00
pk 43445623fd mmmmap() should return -1, not ENOTSUP.
Optimize the case of writing to /dev/zero etc, like the alpha,i386 and m68k.
1997-04-19 21:28:53 +00:00
pk d3028dd4a2 * Remove ineffective and incorrect cache flush in viking_mmuenable().
* A bunch of cosmetic changes.
1997-04-18 19:51:05 +00:00
thorpej 5b733ef58a STRIP -> STRIPFLAG 1997-04-17 07:41:05 +00:00
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
thorpej 9018eb5208 Use if_media to select media (or autoselect rules) on the Sun4m. 1997-03-17 03:24:26 +00:00
pk a372844a7a Add fix_align() and emulinstr() prototypes. 1997-03-15 22:25:15 +00:00
pk 27b2f0ec7c Fix a `new-ARP' pasto. 1997-03-15 22:13:55 +00:00
pk cc87278540 Remove trailing comma in enum definition. 1997-03-15 20:54:10 +00:00
pk ad1f2b7812 Remove call to mmu_pagein4m(), which is of little use. 1997-03-15 20:31:33 +00:00
pk f8918b9be9 Simplify `4m' versions of pmapbootstrap() and mmu_reservemon():
allocate and initialize all kernel page tables before looking at the
PROM maps, which allows mmu_reservemon4m() to simply walk the PROM tables
without having to allocate bits and pieces of our own kernel tables.

Slightly optimize getcontext() macros in mutli-arch kernels.

Remove un-needed `4m' version of mmu_pagein().
1997-03-15 20:24:09 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
christos 4b697aa304 add emul.c 1997-03-15 02:36:00 +00:00
christos 358f6940ee - fix return value in case we failed to write to the destination register.
- pretty-print registers.
1997-03-15 00:39:51 +00:00