Commit Graph

1698 Commits

Author SHA1 Message Date
mycroft
bb0363853f ffs() is identical to the one from libc, so just use that.
Move random() to libkern.
1998-02-22 09:31:00 +00:00
mycroft
3b9429b248 Minor changes to make all the float.h files match. 1998-02-18 11:01:27 +00:00
thorpej
8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
pk
0fc808b760 Think-o in pmap_extract4m(), detected by UVM. 1998-02-14 09:28:52 +00:00
thorpej
c26f962957 Use kernel_map in bus_dmamem_{map,free}(). 1998-02-11 03:08:31 +00:00
thorpej
bdecbe552b Use M_DMAMAP where appropriate. 1998-02-11 01:50:36 +00:00
mrg
d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
thorpej
da21f06eb5 Remove the pager options; they're in std.sparc, and will stay there
until UVM is no longer optional.
1998-02-08 19:24:28 +00:00
thorpej
93b0450b6a Back out previous change (again, grrrr). 1998-02-08 19:23:20 +00:00
tv
40f13df5bc the *PAGER options were moved to the generic config files, but not moved
out of here (causes duplicate opeion errors) -- fix.
1998-02-08 17:46:47 +00:00
thorpej
1305ecbe62 Allow callers of uvm_km_suballoc() to specify where the base of the
submap _must_ begin, by adding a "fixed" boolean argument.
1998-02-08 06:15:53 +00:00
pk
334b20bbd6 Define a `DMA_FLUSH' macro; dma chip revs 0 & 1 have a different bit
to reset the internal state engine.
1998-02-07 22:41:27 +00:00
chs
abf50cf8c3 add UVM stuff. 1998-02-07 17:28:18 +00:00
chs
50328f94f4 fix initialized variable. 1998-02-07 17:26:34 +00:00
chs
17755a8fae fix typo in locking. 1998-02-07 02:36:58 +00:00
thorpej
840bd3d7b3 Back out previous change. Until the default VM system is UVM, these
"options" ARE required, and leaving them here doens't hurt anything in
the UVM case.
1998-02-06 08:21:55 +00:00
mrg
919667a0c7 backout previous change. 1998-02-06 01:22:54 +00:00
pk
0725302eac vme_bus_probe() takes an `offset' argument. 1998-02-06 00:22:41 +00:00
mrg
40b61fb276 put PIL_CLOCK and splclock together, like the rest.. 1998-02-06 00:02:30 +00:00
pk
86f595fb3e This file has been moved to dev/vme a while ago. 1998-02-05 22:14:35 +00:00
mrg
5e91ce6ef1 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the sparc portion.

this will be KNF'd shortly.  :-)
1998-02-05 07:57:48 +00:00
pk
dcf0846ffe * Correct vme addresses in xd' and xy' declarations.
* Renamed option: MMU_3L => SUN4_MMU3L
* Enter NFS_BOOT_PARAM option.
1998-02-04 21:49:12 +00:00
pk
90be3b559d Use vme_bus_probe() in si_attach(). 1998-02-04 20:50:47 +00:00
thorpej
8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
99cc8482d1 Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call.  Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
pk
bee3aa34cc Account for changed vme_bus_probe() arguments. 1998-02-04 01:04:48 +00:00
pk
f060ed68ba sparc_vme_probe(): handle callback argument. 1998-02-04 01:01:14 +00:00
thorpej
a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
mycroft
b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
thorpej
2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
pk
d8dc32e559 It's no longer necessary to deal with the timers early. 1998-01-28 00:15:09 +00:00
pk
72f0ab269f These drivers are now in dev/vme.
The `ie' driver has been split in a VME and OBIO front-end. The latter
lives on in this directory as `if_ie_obio.c'
1998-01-25 20:33:54 +00:00
pk
3d46658e38 disk_establish(): add xd & xy cases (XXX - need more thought). 1998-01-25 19:59:14 +00:00
pk
f937c21c08 VME device declaration changes:
- `vmes,vmel' => `vme'
	- interrupt locator is the VME interrupt priority (`pri')
1998-01-25 19:56:30 +00:00
pk
531a4b2d77 sparc/obio bus front-end to the i82586 driver. 1998-01-25 19:50:50 +00:00
pk
8bc346d14a All VME stuff is gone from here. 1998-01-25 19:44:43 +00:00
pk
7a39d28b24 bus_map() & bus_untmp() are only used for sun4/obio devices. 1998-01-25 16:51:16 +00:00
pk
d44f401c95 bus_tmp() => obio_bus_tmp() 1998-01-25 16:49:33 +00:00
pk
bcb062819f The VME bus is now called `vme'. 1998-01-25 16:47:21 +00:00
pk
333b6319fc Convert to new VME interface. 1998-01-25 16:38:01 +00:00
pk
4efb52487a Split si & sw attach routines, and make the si part use the new VME interface. 1998-01-25 16:37:08 +00:00
pk
f8ba1e0bd9 sparc/VME bus implementation. 1998-01-25 16:06:25 +00:00
mycroft
63162f08ec Add a svr4_setregs() (that just calls setregs() right now). 1998-01-24 18:26:09 +00:00
mycroft
15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
pk
8a5023e38c After writing to the IOMMU flush registers, read something back from
IOMMU control space to a flush register to drain internal write buffers (?).
This avoids utter lossage on some machines (SS4s & SS5s) where our caller
would see some of its local (`%lx') registers trashed. This is probably
caused by a silicon bug allowing interference on internal data paths..
1998-01-24 16:22:47 +00:00
pk
49d2bfe020 Add a couple of options I forgot in last commit. 1998-01-23 22:47:20 +00:00
mrg
c71457ab4a KNF, and use splzs over splhigh in one place. 1998-01-21 05:54:39 +00:00
pk
ab37013309 Put back `le0 at lebuffer0' for backwards compatibility. 1998-01-20 22:12:51 +00:00
pk
23d53501bd A small optimization. 1998-01-17 15:02:17 +00:00
pk
866632416e Fix a border case when committing physical pages to the VM system;
rename some variables in the process for clarity.
1998-01-14 14:49:29 +00:00
pk
1842a317c3 Fix parenthesis inbalance. 1998-01-13 20:53:38 +00:00
pk
1195f3d8a9 Add fkbyte(), which is like fubyte() but for kernel addresses.
Only used at this moment to work around unexplained transient bus
errors when reading the VME interrupt vector in bus control space.
1998-01-13 20:51:01 +00:00
pk
a8dda8092d Commit to MACHINE_NEW_NONCONFIG. 1998-01-13 00:58:56 +00:00
pk
418fd96bd5 Turn NEW_NONCONTIG page upload code into a routine shared by sun4/4c
and sun4m pmap_bootstrap()s, simplify it, and make it not loose the
couple of slack pages we painstakingly remembered in pmap_bootstrap.
1998-01-13 00:55:15 +00:00
thorpej
1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
pk
54719a53a3 More comments and general re-organization (group by device class) provided
by Todd Vierling.
1998-01-11 23:32:55 +00:00
perry
6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej
85d56961e5 Update a comment relative to the vm_bootstrap_steal_memory() change, and
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
mrg
c599e7d439 add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.


this is the sparc portion.
1998-01-08 11:39:30 +00:00
mrg
0876a69653 some KNF. 1998-01-08 11:03:13 +00:00
mrg
7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
mrg
002fbe8721 do not use fb_unblank unless NFB > 0 1998-01-08 01:13:58 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
thorpej
9ca174a51d Implement pmap_activate(). 1998-01-02 22:57:56 +00:00
tv
89e7595756 Exclude /dev/fb code if no framebuffer is compiled into the system.
Adds a fb.h flag file with '#define NFB 1' if any such card is configured
in to the kernel.
1997-12-23 23:57:20 +00:00
pk
bf8e38df4f Establish the interrupt handlers on sun4 `oclocks'; pointed out
by Chuck Cranor.
1997-12-19 22:53:10 +00:00
pk
964a147839 Clean vers.c & vers.o. 1997-12-18 21:03:58 +00:00
pk
9e087acb89 Code for software-assisted DDB single-stepping from Chuck Silvers. 1997-12-10 23:12:13 +00:00
chuck
d76941843e fix mixer code that was clearly untested:
- allow get/set of enums SUNAUDIO_SOURCE and SUNAUDIO_OUTPUT rather
	than returning EINVAL
 - add missing SUNAUDIO_MONITOR_CLASS case in query_devinfo
 - convert SUNAUDIO_MONITOR case from a MIXER_CLASS to a MIXER_VALUE
	like it is supposed to be
 - the labels for outputs/record class were swapped: fix it

this patch allows "mixerctl" to work properly on a sparc
1997-12-06 03:20:56 +00:00
tv
0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
mjacob
40ef7dd007 handle case of no keyboard configured 1997-12-03 22:32:05 +00:00
mjacob
b52361ff54 add missing COMPAT_13 that kleink putzed 1997-11-30 23:18:59 +00:00
mjacob
e908c01f7e If not defining SUN4M, you still have to do something with has_iocache. 1997-11-26 22:11:53 +00:00
kleink
66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
pk
4759b4c5ff Re-do the `busdma' interface. 1997-11-23 16:31:28 +00:00
tv
426330f919 eliminate declarations of global data in <sparc/cpu.h> and declare in
source files, reducing global symblol replication in .o kernel files
1997-11-22 03:13:56 +00:00
fair
315f8de9c2 add pseudo-device rnd, commented out 1997-11-20 08:11:14 +00:00
pk
cbf2f164ad The pgtalloc() stuff is still not doing the right thing on non-MXCC
vikings... i don't know why.  Install a work-around in setpgt4m(),
that is still lying about here.
1997-11-19 23:19:13 +00:00
pk
b9746b3d00 splpmap() is again equivalent to splimp(). 1997-11-19 23:05:49 +00:00
pk
62f73256ff Use intr_establish() to install the timer interrupt handlers. 1997-11-19 23:03:47 +00:00
pk
de106f6489 1. Implement a trick from Chris Torek: if an unhandled interrupt occurs
during auto-configuration (`cold'), raise interrupt level to splhigh
   and return, instead of reporting a stray interrupt.

2. In cpu_switch(), start running a newly selected proces at splclock()
   instead of the saved IPL, allowing high-priority interrupts in
   ctx_alloc() which can take many cycles to install a new context
   (especially on the two-level sun4c MMU).
1997-11-19 22:59:05 +00:00
lukem
6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
pk
639260ce32 Use DESTDIR consistently when constructing `boot.net'. 1997-11-15 14:29:36 +00:00
veego
8b485c5962 Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +00:00
thorpej
ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej
a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
pk
ff4f5f4528 If necessary, defer console output until TX interrupt handler runs. 1997-11-12 22:18:54 +00:00
pk
a309481f34 Change load address to avoid cache-aliasing on machines with Harvard-style
cache implementations (notably the Hypersparcs).
1997-11-12 00:37:07 +00:00
pk
85524f37b3 Set `dvma_cachealign' on Hypersparc. 1997-11-10 21:20:07 +00:00
thorpej
0b04d28454 Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej
4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
pk
9eb2a49d4b Include copyright statement for the bus_dma implementation added in
the previous revision.
1997-11-04 10:37:37 +00:00
mycroft
9e82e84056 Handle CDTRCTS, for silly Mac-like connector on some models (e.g. IPX). 1997-11-03 11:33:17 +00:00
pk
8dbb87fe86 Add bus_dma*() functions. Some functionality implemented in terms of
existing machinery (for now).
1997-11-02 21:31:34 +00:00
pk
b74bcd140c The sparc's bus.h. 1997-11-02 21:28:33 +00:00
mycroft
ec5fd4954e Set rr0_dcd.
Don't set DCD_IE and CTS_IE here; let the MI code do it.
Handle MDMBUF.
1997-11-02 08:05:06 +00:00
lukem
3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
pk
97128ca91e Header magic is now done in stand/boot/Makefile. 1997-10-31 22:12:21 +00:00
pk
b5d7e8f444 Install a version of the secondary boot block in /usr/mdec that is
suitable for use on a server for diskless booting.  Done mostly to
simplify the installation notes and avoid questions ...
1997-10-31 22:05:17 +00:00
gwr
aa67eda78f Correct zs_unit in zs_kgdb_init().
Similar problem as zs.c:consinit().
1997-10-22 17:03:35 +00:00