oster
cf5710c839
Added a (commented out) configuration line for the RAIDframe device driver.
1998-11-16 16:44:55 +00:00
oster
c74d32c5fc
Updating of bdev's and cdev's to support RAIDframe.
1998-11-13 04:47:03 +00:00
ws
99d394c267
Typo
1998-11-12 14:00:06 +00:00
thorpej
cabecee13c
Changes to support fork_kthread():
...
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
chs
61458d7dfa
LOCKDEBUG enhancements for non-MP:
...
keep a list of locked locks.
use this to print where the lock was locked
when we either go to sleep with a lock held
or try to free a locked lock.
1998-11-04 06:19:55 +00:00
pk
9eb94a0c03
Must protect user-land from cpuvar.h; noticed by Juergen Hannken-Illjes.
1998-10-26 08:16:08 +00:00
pk
f3c1682c65
No need for `#ifdef SUN4M' protection.
1998-10-26 08:12:15 +00:00
pk
de51cf3531
Define and use CPU pause/resume IPI messages (until such times that I know
...
what the prom supplied versions actually do).
1998-10-24 08:12:55 +00:00
pk
c85c920d03
Duh.. condition codes are not preserved when writing directly into %psr.
...
Also, we need to deal with bus latency when turning off bits in the
interrupt status register.
1998-10-24 08:04:07 +00:00
pk
890e54bee0
Pull in cpuvar.h to get definition of `curproc'.
1998-10-21 07:11:47 +00:00
tron
b296275bb4
Defopt SYSVMSG, SYSVSEM and SYSVSHM.
1998-10-19 22:09:13 +00:00
pk
f0529fccf5
Maintain a current process (`curproc') a per CPU.
1998-10-19 11:56:43 +00:00
christos
09285b1171
PR/6311: By me... There was a bug unloading the dmamap:
...
addr = map->dm_segs[0].ds_addr & ~PGOFSET;
len = map->dm_segs[0].ds_len;
len = ((addr & PGOFSET) + len + PGOFSET) & ~PGOFSET;
addr &= ~PGOFSET;
Notice that the & ~PGOFSET in the first line should be gone. This fixes
the newfs large disk panic.
1998-10-18 16:02:34 +00:00
pk
0bf09a4ae7
Drop cpuinfo's `L1_ptps'; instead keep a per CPU segment (level 2) page
...
table descriptor that is used to patch up a region (level 1) page table
associated with a user pmap at context switch time.
1998-10-16 22:39:17 +00:00
drochner
2468738337
change handling of libkern:
...
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
pk
fd966585a1
Turn on the counter at each CPU (we fear nothing..)
1998-10-14 14:53:36 +00:00
pk
afcfa7d7fa
Let all CPUs spin at spl0.
1998-10-14 14:47:20 +00:00
pk
631a48776f
Don't allocate two stacks per CPU.
...
Minor attach-time message change.
1998-10-14 14:22:18 +00:00
pk
e6c0a03f90
`ncpu != 0' doesn't make much sense when deciding what CP info to print.
1998-10-13 21:08:48 +00:00
pk
bf7ace9074
CLKF_INTR() needs to have a MULTIPROCESSOR version.
1998-10-13 20:53:02 +00:00
pk
802248ee1c
We use MULTIPROCESSOR explicitly here, so pull in "opt_multiprocessor.h".
1998-10-13 13:37:14 +00:00
pk
14a3acbd47
srmmu_cache_flush(): handle small (< NBPG) ranges more efficiently.
1998-10-13 13:34:06 +00:00
pk
1e0064d5d6
EINTSTACK => EINTSTACKP
1998-10-13 12:05:44 +00:00
pk
d5e94d4fb2
Add missing `return'.
1998-10-13 11:33:36 +00:00
pk
8511a94f26
Oops, USPACE does not in 13 bits.. repair and save one instruction
...
in a non-SMP kernel.
1998-10-12 22:05:17 +00:00
pk
c27a8760b7
In switchexit(), switch to the current CPU's idle u.area.
1998-10-12 21:51:54 +00:00
pk
dff4866141
Add offset of `cpuinfo.idle_u'.
1998-10-12 21:50:22 +00:00
pk
5d124ce774
Move around a few PTE-manipulating macros.
1998-10-12 21:17:28 +00:00
pk
83b671e23d
Make `cpcb' (current u.area) a per-CPU variable.
...
Brace some MP-only code with `#ifdef MULTIPROCESSOR'.
1998-10-12 20:56:48 +00:00
pk
6791d7f713
Make `_cpcb' (pointer to current user area) a per-CPU variable.
...
This cpuinfo field is initialized here in locore before calling bootstrap(),
since it must be valid before entering the window overflow/underflow handlers.
Fix miscalculation in the MULTIPROCESSOR version of INTR_SETUP().
1998-10-12 14:39:10 +00:00
pk
523892012a
`cpcb' (pointer to current u.area) is now a per-CPU variable.
1998-10-12 14:32:14 +00:00
pk
fbbc2eeedd
`cpuinfo' is now cleared in locore.
1998-10-12 14:15:13 +00:00
pk
6fc7a5b45a
Define `sizeof(struct cpu_info)'.
1998-10-12 14:03:22 +00:00
pk
1fb4827a72
Take care of a MID not present when matching timer register sets.
1998-10-12 12:28:26 +00:00
chuck
8bef431273
remove unused share map code from UVM:
...
- update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
has been removed)
1998-10-11 23:20:59 +00:00
pk
b9d844a520
Allocate a private PCB, kernel stack and interrupt stack for each processor.
...
As a result, the stack setup code in locore.s changes slightly in
the MULTIPROCESSOR case. Also, make the stack redzone barrier (for
debugging only) a per-CPU entity.
1998-10-11 14:46:45 +00:00
thorpej
908cdfe4e3
Add scsibus entry points to the cdevsw[].
1998-10-10 02:00:49 +00:00
thorpej
29d472f53d
Garbage-collect the open_target_lu and close_target_lu entry points from
...
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090 , from Matt Jacob.
1998-10-10 00:28:28 +00:00
pk
5422d07da0
Construct a `flush_cache_all()' for Cypress CPUs.
1998-10-09 10:48:14 +00:00
pk
024e5f4c9a
More `#if defined(MULTIPROCESSOR)'s.
1998-10-09 10:08:52 +00:00
pk
57a688f81e
Init a variable.
1998-10-09 08:01:33 +00:00
pk
312385da0a
Define SMP versions of some cache flush methods.
1998-10-08 22:27:32 +00:00
pk
41d031837e
Define a message structure of inter-processor communication.
1998-10-08 22:25:42 +00:00
pk
f3c4a67a7f
Adapt to changes to the cpus[] array.
1998-10-08 22:23:44 +00:00
pk
34ad8e5fb7
Find out about the number of CPUs in the system before starting device
...
configuration, so we can build a cpus[] array without "holes".
1998-10-08 22:14:44 +00:00
pk
a61ee50b27
Move [gs]etcontext and [gs]etpte() to pte.h
1998-10-08 21:49:12 +00:00
pk
e6bbfcc58a
Move [gs]etcontext() and [gs]etpte() to pte.h
1998-10-08 21:47:34 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
pk
2727683a09
more DIAGNOSTIC sanity checks
1998-10-06 19:24:03 +00:00
thorpej
0729240c88
Move the "XXX re-zero proc0 user area" to the end of configure(), before
...
interrupts are enabled.
1998-10-06 18:58:09 +00:00
thorpej
5006dbf868
cpu_set_kpc() prototype is already in <sys/systm.h>.
1998-10-05 22:11:15 +00:00
pk
40beab6ad6
If a lock is held do not spin in a read/write loop but just read the lock
...
until it is released. This is easier on the bus cache coherency logic.
1998-10-05 19:58:19 +00:00
christos
550ee6b308
rename getprop routine to avoid conflict with the one in bsd_openprom.h
1998-10-05 07:13:07 +00:00
christos
0bf5ff6ade
make this compile with DIAGNOSTIC again.
1998-10-01 21:26:55 +00:00
thorpej
c5b8d42e66
Need 14 longs for jmp_buf now (sigcontext has 128-bit signal mask at the
...
end).
1998-10-01 03:28:11 +00:00
pk
f382e91b5e
Add a field to identify the processor that has a process' FPU context.
1998-09-30 18:40:58 +00:00
pk
4826aac9cf
Make the current FPU owner (`fpproc') a per-CPU entity. Unresolved issue
...
as yet: lazy FPU context switching may require co-operation from other
CPUs.
1998-09-30 18:38:57 +00:00
pk
8c29324cc7
Kernel configuration with multi-processor support.
1998-09-27 15:10:25 +00:00
pk
0a090af2c7
Add `ldstub()'.
1998-09-27 14:32:14 +00:00
pk
e6ce8bcfc7
sparc spin lock functions.
1998-09-27 14:31:18 +00:00
pk
0a1a6fb7e0
This file is no longer used
1998-09-26 20:51:45 +00:00
pk
166c2a5fa5
fix typo
1998-09-26 20:15:59 +00:00
pk
9f352b7e15
Stop all other CPUs upon entering a debugger.
1998-09-26 20:14:48 +00:00
pk
01e64c640c
Implement mp_pause_cpus() and mp_resume_cpus(): pause and resume all
...
CPUs except the one running this code.
1998-09-26 20:13:56 +00:00
pk
6ad3a051e8
mp_{pause,resume,halt}_cpu() prototypes.
1998-09-26 20:12:06 +00:00
pk
8ddcd514a6
Use CPU start function in obp.c
1998-09-26 19:09:56 +00:00
pk
fe1cf94b9f
Add wrappers for PROM's CPU start/stop functions.
1998-09-26 19:08:09 +00:00
pk
a89a10c394
Add file obp.c
1998-09-26 19:06:47 +00:00
pk
43c1cb852c
Move PROM interface prototypes into openprom.h
...
Use the `openprom_addr' structure for passing around physical addresses.
1998-09-26 18:20:19 +00:00
pk
09a4cf6caa
Move PROM interface routines into their own file.
1998-09-26 18:15:34 +00:00
pk
eb8de83739
`eccmemctl' inadvertently got into the `mandatory' list.
1998-09-25 11:40:16 +00:00
pk
27569e4050
Initialize pointer to the boot CPU's interrupt register.
1998-09-24 20:38:43 +00:00
pk
831354d6de
Add `intreg' cpuinfo offset.
1998-09-24 20:37:17 +00:00
pk
58ab38cb69
Use per-CPU interrupt status register.
1998-09-23 11:07:28 +00:00
pk
9eca565a37
Make cgsix_sbus & cgsix_obio dependent on their respective attribute.s
1998-09-23 08:49:46 +00:00
pk
d6746389a4
The nmi_* routines are sun4m-only.
1998-09-23 08:44:51 +00:00
pk
aa1cf01930
Express per-processor interrupt registers in a C structure as well.
1998-09-22 13:42:26 +00:00
pk
bd37118769
Dup header.
1998-09-22 13:41:03 +00:00
pk
eca50c1c33
Flush cache after diddling with trap vectors.
1998-09-22 13:40:08 +00:00
pk
1186ba5102
Introduce a `flush entire cache' method.
1998-09-22 13:39:19 +00:00
pk
5afb0e8bcb
Keep the per-processor interrupt status in the cpuinfo structure.
...
For now, map them to the fixed virtual addresses set up early in autoconf.c
1998-09-22 13:08:44 +00:00
chs
c945760779
sign-extend some operand types which need it.
1998-09-22 05:40:14 +00:00
pk
709360e3ce
Fill the `bpp' slot.
1998-09-21 21:13:51 +00:00
pk
20f2898a0c
Merge sun4 and sun4c version of memerr() again.
1998-09-21 10:32:00 +00:00
pk
af19654e85
We no longer need to access memerr() through a function pointer.
...
GC `cpumod' and `mmumod'.
1998-09-21 10:30:41 +00:00
pk
c3b26811ac
We no longer need to access memerr() through a function pointer.
1998-09-21 10:29:20 +00:00
pk
ec34e18063
Don't map sbus `registers' on sun4c (i.e. sbus @ mainbus); it's almost
...
certainly not the control space we want..
1998-09-20 20:08:52 +00:00
pk
7a147080b8
Async arguments are no longer passed to the memory fault handler.
1998-09-20 20:01:15 +00:00
pk
4bf750b7df
Add sun4m NMI handlers.
1998-09-20 20:00:09 +00:00
pk
d0d9bb7669
Dedicate a pair of entry points to handling sun4m level 15 (NMI) interrupts.
...
Hardware NMIs are generated on various fault conditions that take place
asynchronously to the instruction stream. Software NMIs are going to be used
for inter-processor communications.
Get synchronous fault information separately from asynchronous fault
information. Do the former right after taking a memory fault trap and
store the values in temporary locations within the cpuinfo structure (XXX),
so we can unconditionally clear the sync fault status register after
MMU probe operations. This all is to work around a Hypersparc feature
which could lead to loss of fault information because of the fault
status register getting locked.
1998-09-20 19:54:48 +00:00
pk
cd8dfa6798
Account for changes in struct cpuinfo & locore
1998-09-20 19:39:18 +00:00
pk
4128057c52
Split memory fault status function into `synchronous' and `asynchronous'
...
versions.
1998-09-20 19:37:50 +00:00
pk
2734182a74
Re-arrange the sun4m cases a bit.
...
Entry points no longer have async arguments.
1998-09-20 19:34:16 +00:00
pk
c3e742adfb
Format string for SI register.
1998-09-20 19:31:37 +00:00
pk
b6da06d637
Name fault registers more like they're referred to in various docs.
1998-09-20 19:29:10 +00:00
pk
a1a94bc5fc
Use the expected name for the config attach structure.
1998-09-19 16:50:31 +00:00
pk
0a6347a24d
Provide an error entry point like sbus and memory.
1998-09-19 16:45:43 +00:00
pk
812eb8c1da
Add %b format strings.
1998-09-19 16:44:59 +00:00
pk
25d48215a2
Map Sbus control registers.
1998-09-19 15:49:50 +00:00
pk
8381b55bd7
Add a bunch of SBus control register definitions.
1998-09-19 15:48:55 +00:00
pk
1bcd9d3bbb
Pass the children register space in the attach arguments.
1998-09-19 15:47:18 +00:00
pk
ced4225429
Add `eccmemctl' device.
1998-09-18 20:19:12 +00:00
pk
b3c7ebb7cd
Handle ECC memory control found on a number of machines.
...
Also defines an entry point for memory errors reported by module interrupts.
1998-09-18 20:18:10 +00:00
pk
81d435b491
sigh.. put back non-garbage collectible `que' functions.
1998-09-18 08:07:08 +00:00
thorpej
dcb541531a
Minor cosmetic change.
1998-09-17 02:33:06 +00:00
thorpej
c006c7c0da
Sync w/ sendsig().
1998-09-17 02:30:02 +00:00
thorpej
e5ea525b9f
Slight brain'o in last.
1998-09-17 02:26:26 +00:00
thorpej
5bc9dafaee
Minor cosmetic change to sendsig().
1998-09-17 02:24:56 +00:00
pk
59e5588098
Map the per-CPU counter registers into each cpu info area.
1998-09-16 13:39:48 +00:00
pk
49b5114713
Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'.
1998-09-16 13:36:23 +00:00
pk
543070847c
Can't afford a 1K buffer in the data segment.
1998-09-15 20:03:50 +00:00
pk
0ad1257add
sub-arch protection.
1998-09-15 13:12:25 +00:00
pk
fb38024157
Use `swap' to install page-table entries which is recommended practice
...
for MP configurarions.
1998-09-14 22:45:36 +00:00
pk
1736bda754
Define `swap'.
1998-09-14 22:43:29 +00:00
pk
0a46abfd42
Collect redundant code into cpu_setup().
1998-09-14 10:37:12 +00:00
pk
b1b69e4195
Fix cache bit confusion in pmap_alloc_cpu().
1998-09-14 09:46:11 +00:00
pk
ff383dc20d
Add compat_13_machdep.c
1998-09-13 20:34:34 +00:00
pk
190e4c429d
Move compat_13 sigreturn() into its own file.
1998-09-13 20:33:33 +00:00
pk
82d2ea3a70
Remove left-over SUNOS_COMPAT line.
1998-09-13 20:24:15 +00:00
pk
9658554e18
Replace previous by something more complete.
1998-09-13 20:17:54 +00:00
pk
9d9f22fa79
Signal handling changes: sunos compat gets its own sendsig(); sunos
...
sigreturn() == compat_13_sigreturn().
1998-09-13 20:07:54 +00:00
mycroft
4e4f120db9
Update these for signal handling changes.
...
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
pk
90054fd502
New sigcontext.
1998-09-13 11:41:02 +00:00
pk
ba67f63901
Sync function prototypes; remove unsed variables.
1998-09-13 11:34:04 +00:00
pk
b8de221a1e
Pull in <sys/syscall.h> directly into locore.s
1998-09-13 11:12:36 +00:00
pk
875bff538c
A few slight optimizations.
1998-09-12 19:50:59 +00:00
pk
ad0f4a6fbb
Nuke `insqeu' and `remque'
1998-09-12 19:46:00 +00:00
pk
8b7ee2cd89
Add hatching code for other CPUs.
1998-09-12 19:44:17 +00:00
pk
e120fa4e14
Machinery to configure multiple CPUs. All CPUs found are spun up from the
...
auto-configuration cpu_attach() function using the firmware.
Currently, all CPUs except the one used to boot end up in an idle loop
in locore.
1998-09-12 15:33:40 +00:00
pk
1b077ae1cd
Set cache control bits according to configured preference (if any).
1998-09-12 15:08:04 +00:00
pk
097a922a9c
Add field holding the physical address of the MMU context table.
1998-09-12 14:12:49 +00:00
pk
f390eccd7d
Add missing bits to per-CPU MMU table allocator routine.
1998-09-12 14:11:53 +00:00
pk
cd0a5fe245
Define some bit-format strings.
1998-09-12 13:59:19 +00:00
pk
18fbdfc2f8
Expose `v3' routines to everyone.
1998-09-12 13:34:38 +00:00
mycroft
62ea009b0e
Update for signal handling changes.
1998-09-11 13:31:39 +00:00
pk
f6b7ca884e
Use our brand new extent_alloc1() function to allocate cache-aligned
...
DVMA addresses.
1998-09-10 21:08:39 +00:00
thorpej
70e641047c
In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
...
to).
1998-09-09 11:17:24 +00:00
thorpej
8abe0d6b1c
Adjust for the new "reaper" kernel thread: do not free the vmspace and
...
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
pk
07b0821d4d
Adapt to cpuvar.h changes.
1998-09-07 23:04:28 +00:00
pk
b09b9f7339
De-couple the CPU info structure from auto-configuration structures.
1998-09-07 23:02:40 +00:00
pk
729d765620
Clear up some type confusion.
1998-09-07 22:56:46 +00:00
pk
e21c0b3450
Need to cast sbus attach `prom_vaddrs' field.
1998-09-07 07:15:51 +00:00
pk
c4c4e35608
Undo last change (we're passing the address of a pointer here).
1998-09-07 07:11:11 +00:00
pk
457395fe53
Use the new "%b" format.
1998-09-06 21:38:36 +00:00
pk
c529fe0888
memerr() is now an indirect call.
1998-09-06 21:18:59 +00:00
pk
cda6fb7430
Sanitize memerr*() a bit.
1998-09-06 21:14:56 +00:00
eeh
484ce04810
The `address' field from the prom is really an unsigned 32-bit value.
...
Make it so.
1998-09-05 22:29:49 +00:00
eeh
5dc93bd9fe
Remove function naming conflict.
1998-09-05 22:15:51 +00:00
pk
b39d7e33be
Assign my copyrights to TNF.
1998-09-05 15:42:41 +00:00
christos
50909bd6d9
Assign copyright to TNF.
1998-09-05 15:28:08 +00:00
lukem
c9db84ecc9
distclean is a synonym for cleandir
1998-09-05 15:15:14 +00:00
pk
acf16f7096
Assign my copyrights to TNF.
1998-09-05 15:11:22 +00:00
pk
2c9a80baf4
Assign my copyrights to TNF.
1998-09-05 14:01:08 +00:00
pk
5ebcb31dd0
Assign my copyrights to TNF.
1998-09-05 13:45:46 +00:00
pk
30b5826331
Hang on to `old VM' a little while longer..
1998-09-01 18:05:27 +00:00
pk
779f357ede
Implement cache alignment in bus_dmamem_load().
1998-08-31 20:00:22 +00:00
pk
4dbdab4423
Erase sparc_nam2blk[].
1998-08-30 21:54:25 +00:00
pk
88ab783b42
Define floppy device major number.
1998-08-30 21:53:35 +00:00
pk
fc313d9031
Nuke old getprop() function and put its successor in place.
1998-08-30 21:30:41 +00:00
pk
400208c8b7
getpropA() => getprop()
1998-08-30 21:27:32 +00:00
pk
6f2539f8a6
getpropA() => getprop().
1998-08-30 21:26:46 +00:00
pk
fe6b9295a8
Adjust for some small changes in lsi64854 back-end driver.
1998-08-29 21:43:00 +00:00
pk
0a30d383a0
Sbus `esp' and `le' front-ends now attach in `sys/dev/sbus/files.sbus'.
1998-08-29 20:53:11 +00:00
pk
e4091cb757
Split `esp' driver and DMA engine into separate front-end files.
...
The Sbus front-ends have all been moved to `sys/dev/sbus', while
the `obio' front-ends remain here.
1998-08-29 20:49:35 +00:00
pk
1f0567dd53
Nuke unnecessary header files.
1998-08-29 20:38:38 +00:00
mrg
ed88a6f103
add support for finding kernels other than `netbsd'. the list is:
...
netbsd, netbsd.gz, netbsd.old, netbsd.old.gz, onetbsd, onetbsd.gz
and vmunix, in that order. this is used by the bootable `bootfs'
image (suitable for floppies and cdroms), which contains a netbsd.gz
by default.
while i'm here, fix up `boot [device] -s' which got broke when
booting kernels with a - in their name was fixed..
1998-08-29 06:40:43 +00:00
pk
8e0c62893c
Remove cache flush from dma_espintr(); the bus dma routines take care
...
of that now. Hence we no longer need <sparc/cpuvar.h>.
1998-08-28 20:14:36 +00:00
pk
ca868d7da6
Specify our boundary restriction when allocating DMAble memory.
1998-08-28 20:07:52 +00:00
pk
221a000391
Pass on bus_dma*() aligment and boundary arguments.
1998-08-28 20:02:19 +00:00
pk
f6a208ce6b
Nuke Dprintf; fix formats.
1998-08-28 08:57:38 +00:00
pk
7e95972ed1
Add `audiocs' ("SUNW,CS4231") and `en' ("ENI-155s").
1998-08-27 20:56:44 +00:00
mrg
82571f5403
move isp sbus attachment to dev/sbus
1998-08-27 11:41:24 +00:00
pk
af5a3e52a5
yanko
1998-08-25 08:28:53 +00:00
pk
c6905522d2
These files are no longer used.
1998-08-24 07:23:10 +00:00
pk
66795e62e7
Move sparc_vme_dmamem_map() outside `#ifdef SUN4M'
1998-08-23 10:40:38 +00:00
pk
4539119e83
Nuke phys_map & old dvmamap.
1998-08-23 10:08:25 +00:00
pk
4fe6cdf6ca
Nuke obsolete prototype.
1998-08-23 10:07:09 +00:00
pk
2a6be00de5
Rename DVMA constants.
1998-08-23 10:05:53 +00:00
pk
666587112f
Use bus_dmamem_{alloc,free} instead of the old VM hack.
1998-08-23 10:04:56 +00:00
pk
e68fd96987
Remove DVMA address special cases in pv_changebit().
1998-08-23 10:01:24 +00:00
pk
434a2cc972
Nuke phys_map & old dvmamap.
1998-08-23 09:59:24 +00:00
pk
9a2b941ecb
Rename DVMA constants.
1998-08-23 09:53:03 +00:00
mrg
c54c62ad31
bsd_audioio.h is not used.
1998-08-22 15:56:46 +00:00
pk
79dd1e8563
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:13:53 +00:00
pk
b8a1caac4a
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:12:18 +00:00
pk
24255abca0
iommu_{enter,remove} moved to iommuvar.h
1998-08-21 14:10:42 +00:00
pk
ca5b5652b4
Remove vm_offset_t & vm_size_t.
1998-08-21 14:09:59 +00:00
pk
f318f15bc3
Convert to [pv]addr_t.
1998-08-21 14:07:37 +00:00
pk
7575f8fac5
Move iommu_enter/iommu_remove here from <include/cpu.h>.
1998-08-21 13:29:57 +00:00
pk
02d030ca52
Pass on `NOWAIT' and `boundary' args to extent_alloc().
1998-08-20 20:49:33 +00:00
pk
363b678b9e
Flesh out more of the sun4 busdma functions.
1998-08-20 20:46:59 +00:00
pk
02c059eefa
Pay attention to BUS_DMA_NOWAIT & boundary args where appropriate.
1998-08-20 20:45:40 +00:00
pk
aee27828f9
Some machines (Voyagers) apparently have zs devices with multi-valued
...
register properties in the PROM.
1998-08-20 11:47:39 +00:00
augustss
cd09067eb4
* Redo the way the way the MIDI driver attaches to audio devices.
...
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
The opl driver is not finished yet; it sounds pretty awful.
For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft
62b1bf3e2e
Assign my copyrights to TNF.
1998-08-15 10:51:16 +00:00
mycroft
129cbf95ee
Minor edit.
1998-08-15 05:16:41 +00:00
mycroft
b2827b9d36
Assign copyright to TNF.
1998-08-15 04:16:55 +00:00
mycroft
6d3d8a1350
Make copyright notices with my name consistent.
1998-08-15 03:02:31 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
mjacob
5ad5bb35af
minor change to make the message less linux like
1998-08-12 00:03:23 +00:00
mrg
ca7ad3aff1
make this compile in a not SUN4M world.
1998-08-09 23:37:12 +00:00
kleink
546365a27e
_POSIX_SOURCE -> _POSIX_C_SOURCE
1998-08-06 11:25:04 +00:00
pk
6c727e1651
dvma_malloc(), dvma_mapin() and dvma_mapout() are gone; all drivers
...
the use bus_dma(9) interface now.
1998-07-31 22:35:07 +00:00
pk
359cf8c23d
Move `dvma_cachealign' here from vm_machdep.c
1998-07-31 22:23:30 +00:00
pk
a0818b4b8b
Use bus_dmamem_alloc/bus_dmamem_map.
1998-07-31 22:21:35 +00:00
pk
519f1f7f0e
Convert to bus dma.
1998-07-31 15:53:11 +00:00
mycroft
a24dbc8065
(Always) (practice) (safe) (macro expansion).
1998-07-31 15:07:41 +00:00
pk
c206cad36e
Convert to bus_dma.
1998-07-31 12:45:48 +00:00
thorpej
ecf815f930
Back out previous; it is perfectly reasonable, and desirable, to print out
...
debugging info ifdef DEBUG.
1998-07-31 02:10:12 +00:00
mjacob
36f9ab27ce
>We're not Linux. If we still want driver version strings to be displayed
...
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.
1998-07-31 01:56:49 +00:00
pk
af89712b25
Use bus_dma_*() instead of dvma_mapin/dvma_mapout.
1998-07-30 22:42:04 +00:00
pk
32a5557426
Adapt to changes in the base bus_dma* functions.
1998-07-30 22:29:34 +00:00
pk
8a39d7a7fb
The IOMMU now has its own dma bus tag and associated functions.
...
machdep.c retains the `mainbus' (i.e. sun4/sun4c) bus_dma* versions for now.
Create a DVMA map specifically for 24-bit devices (le,ie), which has a
more room than previous DVMA map which should be reserved for sun4 VME.
1998-07-30 22:28:44 +00:00
pk
862c0bafcc
Define a BUS_DMA flag for devices that have a 24-bit address space.
...
Update _bus_dma* prototypes.
1998-07-30 22:20:31 +00:00
pk
741c837f77
Get to DMA map functions through parent tag, instead of calling some base
...
functions directly.
1998-07-30 18:54:06 +00:00
pk
ab0e92568b
<sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h>
1998-07-29 18:48:54 +00:00
pk
9104b183fa
Lots of things have moved to <dev/sbus/sbusvar.h>
1998-07-29 18:45:57 +00:00
pk
402a052405
Deal with sbus attach args changes.
1998-07-29 18:44:22 +00:00
pk
9e4d2f9b53
Switch to new sbus attach arguments layout.
1998-07-29 18:42:32 +00:00
pk
58d952ce7d
Deal with sbus attch args changes.
...
Use sbus_destroy_attach_args().
1998-07-29 18:37:23 +00:00
pk
426330f642
We no longer need to get the register sets by ourselves.
1998-07-29 18:36:08 +00:00
pk
718ff722b7
In the reset() function, preserve the current cable selection bit.
...
If in auto media select mode, this avoids losing carrier every time
the lance code decides to re-initialize.
1998-07-29 16:10:57 +00:00
pk
9111209fdf
In _bus_dmamem_map(), use uvm_km_valloc() to get kernel addresses.
...
uvm_map() -- which used to be here (why was that?) -- was called with
an uninitialized value in its `start' argument.
1998-07-28 20:46:28 +00:00
thorpej
3ff8e6493a
Don't cast the null residual pointer passed to vn_rdwr().
1998-07-28 18:34:52 +00:00
pk
cc0d537633
GC.
1998-07-28 14:04:08 +00:00
pk
fb7bb1a359
Remove mbppio.h from the list.
...
Also stop installing db_machdep.h, fbvar.h, z8530.h.
1998-07-28 00:34:56 +00:00
pk
aaadc9459d
This file is now in <dev/sbus>
1998-07-28 00:33:35 +00:00
pk
14f4493376
Magma driver has been moved to <dev/sbus>.
1998-07-28 00:19:22 +00:00
pk
fd9017990f
Magma driver has been moved to <dev/sbus>
1998-07-28 00:17:47 +00:00
pk
b0f82d5c73
`le' and `en' now attach to sbus (and lebuffer) in <dev/sbus>
...
Other `le' front-ends split into separate files.
1998-07-28 00:10:23 +00:00
pk
4ca3b5c079
We no longer use these.
1998-07-28 00:06:23 +00:00
pk
3d9b1710a7
This file is now in dev/sbus.
1998-07-28 00:05:41 +00:00
pk
c7a2e942b0
Split the `le' driver front-ends into separate files.
...
The sbus and lebuffer front-end have moved to dev/sbus.
1998-07-27 23:59:11 +00:00
pk
eec66e52bd
Get headers from <dev/sbus>
1998-07-27 22:34:48 +00:00
pk
d1f03e068a
<sparc/dev/sbusvar.h> => <dev/sbus/sbusvar.h>
1998-07-27 19:32:42 +00:00
pk
6cd4c4ea99
Use <dev/sbus/files.sbus>.
1998-07-27 19:20:03 +00:00
pk
db822a6c0a
These files are now in <dev/sbus>.
1998-07-27 19:17:50 +00:00
pk
e92f09b2b7
SBU_BURST_* are now in <dev/sbus/sbusvar.h>
1998-07-27 19:16:49 +00:00
mycroft
da2e61d160
Delint.
1998-07-27 13:55:32 +00:00
mrg
36ee8a045b
use lebuffer.c from dev/sbus.
1998-07-27 05:49:02 +00:00
mrg
c5e180526b
these have moved to sys/dev/sbus.
1998-07-27 05:48:42 +00:00
mrg
06d5ffd2a8
enable kernfs and mfs.
1998-07-27 05:45:17 +00:00
pk
9e8d90ed5c
Add a cpu-specific function to flush a pure virtually-indexed/virtually-tagged
...
cache, which needs to be flushed at context switch.
1998-07-26 23:35:32 +00:00
pk
4998ae50c0
Define hypersparc instruction-cache flush ASI.
1998-07-26 23:29:58 +00:00
pk
c6124a986a
This file is no longer used.
1998-07-25 22:19:25 +00:00
pk
6ad50a6691
Allocate physical memory for the pv_table array in bootstrap(), so we
...
don't have to call VM functions from pmap_init().
Use a memory pool for additional pvlist entries (used for double mappings).
Take care of the cacheable bit on pagetables while we're initializing them,
instead of calling kvm_uncache() afterwards.
1998-07-25 22:01:19 +00:00
pk
91f18e727f
Remove conditionals on SUN4C+SUN4M.
...
A few cosmetic changes.
1998-07-24 21:08:16 +00:00
pk
f836b9e8d3
Drop private page table list maintenance; use memory pools instead.
1998-07-23 21:42:40 +00:00
pk
217addc8de
Option DDB_ONPANIC needs a value.
1998-07-23 13:03:23 +00:00
drochner
49bb9d8214
adapt to LANCE driver split
1998-07-21 17:36:01 +00:00
thorpej
9df67db949
We're not Linux. If we still want driver version strings to be displayed
...
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:18:38 +00:00
mjacob
99ff11f6b7
locking now out of main framework for isp_reset/isp_init
1998-07-18 21:02:06 +00:00
pk
116c3be1e5
In dvma_mapout(), make sure to not overrun the buffer when flushing the cache.
1998-07-17 23:05:35 +00:00
mjacob
bc355c6b3f
new framework
1998-07-15 19:59:45 +00:00
thorpej
d681d158c7
Remove the raw HYPERchannel kludge.
1998-07-15 17:45:52 +00:00
thorpej
d47ea67c1f
Define one page free list, and put all pages on it.
1998-07-08 04:43:18 +00:00
jonathan
b37021c1a1
defopt NATM.
1998-07-05 22:48:05 +00:00
jonathan
011f2bda08
defopt NS, NSIP.
1998-07-05 06:49:00 +00:00
jonathan
5c0c5dd0b4
defopt ISO TPIP.
1998-07-05 04:37:35 +00:00
jonathan
3751946b97
defopt INET, NETATALK.
1998-07-05 00:51:04 +00:00
jonathan
466e784ee1
defopt DDB.
1998-07-04 22:18:13 +00:00
tv
e89e603343
_GLOBAL_OFFSET_TABLE_ needs a _C_LABEL() wrapper, too.
1998-07-01 21:42:51 +00:00
tv
725b3015b6
Strip extra underscore on _mcount on ELF.
1998-07-01 20:55:45 +00:00
tv
28260456a9
Add relocation definitions used by ld.elf_so.
1998-07-01 20:43:56 +00:00
tv
fb267f06f0
On ELF, make __indr_reference undefined and __warn_references do nothing,
...
as on Alpha. This should be fixed to do something in both cases.
1998-07-01 17:14:51 +00:00
tv
da26383918
Change _C_LABEL() to use proper underscoring depending on __ELF__ or not.
1998-07-01 02:35:24 +00:00
lukem
bd8d501f7e
remove options FIFO; it's now the default
1998-06-26 01:53:43 +00:00
thorpej
816e12eac2
defopt COMPAT_SVR4
1998-06-26 00:07:06 +00:00
thorpej
8aee7782f5
defopt COMPAT_SUNOS
1998-06-25 23:40:33 +00:00
thorpej
971b8956ef
defopt KTRACE
1998-06-25 21:18:11 +00:00
jonathan
dbe5213b11
Split arch/sparc/dev/amd7930.c into:
...
* MI sys/dev/ic/{am7930.c,am7930var.h} chipset driver
* sparc frontend.
Presere revision history (this time).
TODO: bus.h'ify, and padded register mappings.
1998-06-24 11:09:23 +00:00
jonathan
b40ead2c73
Split sparc am7930 driver into sparc attach and "MI" sys/dev/ic/am7930
...
chipset driver. Needs bus'ifying and register-access.
1998-06-24 10:52:53 +00:00
mrg
077ba12357
rename FLOPPY INSTALL, as it is used for cdroms also
1998-06-20 13:02:28 +00:00
mrg
1caf02a0cf
moved <machine/sun_disklabel.h> to <dev/sun/disklabel.h>
1998-06-20 03:50:51 +00:00
mrg
096ec47ff9
moved to <dev/sun/disklabel.h>
1998-06-20 03:46:24 +00:00
mrg
abeeaf00ec
do what the comment says: move this [sun_dkioctl] to compat/sunos. use <dev/sun/disklabel.h>
1998-06-20 03:45:27 +00:00
kleink
1fbd0b3749
GC the unused `physadr' type, which was not able to hold a complete physical
...
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211
Rework the way kernel include files are installed. In the new method,
...
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
fair
a23c899718
apply patch from PR#4626 to allow DDB to deal with kernel traps.
1998-06-12 10:02:44 +00:00
tv
00ede2160e
Change ddb_init() for a.out to provision for kernels which are not booted by
...
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
pk
3f6155e843
Update from Iain for the parallel port stuff.
1998-06-07 21:14:17 +00:00
thorpej
30f9be231f
Restructure cpu_reboot() a bit, and add support for powering down
...
on the Sun4m if RB_POWERDOWN is specified.
1998-06-06 21:46:51 +00:00
thorpej
1c6a275e9c
Only attempt the powerdown if the power register was mapped.
1998-06-06 21:40:20 +00:00
thorpej
402c48737f
needs-flag'ize the power device.
1998-06-06 21:30:34 +00:00
mrg
e666cd4b3b
install floppy kernel
1998-06-06 05:36:53 +00:00
mrg
ff6c535817
sync with other md_root.c files.
1998-06-06 05:12:54 +00:00
mrg
4bc09321a9
add md to the "sparc_nam2nlk" and "chr2blk" arrays. the former fixes
...
panics seen on a floppy boot in setroot() as it could not properly
determine the root device.
1998-06-06 05:03:23 +00:00
mrg
428a0d387a
remove old (now broken) memory disks hooks code.
1998-06-05 15:00:10 +00:00
mrg
135e6dc7e0
make this work with new md root stuff.
1998-06-05 14:57:55 +00:00
pk
062294cc8c
Magma parallel port ioctls per Iain Hibbert.
1998-06-03 22:40:00 +00:00
pk
87fe4d9ea1
Update from Iain on the parallel port stuff.
1998-06-03 22:38:31 +00:00
thorpej
8ed096c794
Panic if we can't fulfill a bus_dmamap_load() with a boundary constraint.
1998-06-03 04:35:42 +00:00
thorpej
a7f360c6c9
Specify a non-profiling C rule.
1998-05-31 23:25:41 +00:00
pk
70262fb287
Properly split boot spec into file name and arguments.
1998-05-27 10:29:10 +00:00
kleink
a97fc2f180
If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
...
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
pk
229ff62ff7
Do not assume that a parallel component is always configured.
...
Squash compiler warnings if MAGMA_DEBUG is on.
1998-05-20 22:08:10 +00:00
pk
53ce970e7f
Enable NTP.
1998-05-20 11:50:54 +00:00
pk
0f93e72a5d
Add `mtty' and `mbpp' entries for the magma driver by Iain Hibbert.
1998-05-20 00:04:33 +00:00
pk
5fd81fa9ec
Add entries for the magma SBus serial/parallel port driver.
1998-05-20 00:00:12 +00:00
pk
4e62cce89a
Magma SBus serial & parallel port driver from Iain Hibbert.
1998-05-19 23:58:54 +00:00
thorpej
6626878e7b
It is no longer necessary for pmap_pinit() and pmap_release() to be
...
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
pk
564ca8fafd
Don't bzero() the IO page table; it is fully initialized in iommu_attach().
1998-05-19 09:17:32 +00:00
pk
9dae8945ef
In kvm_uncache(), turn off the PTE cache bit even after calling
...
pv_changepte(). Reason: the managed() macro does not take into
account the gap in the managed pages range that may have been introduced
by the page table allocation in bootstrap().
1998-05-19 09:14:34 +00:00
kleink
d2db996158
Fix some arithmetics lossage on typeless pointers.
1998-05-07 21:13:23 +00:00
pk
263413efd9
Do not request more privileges from vm_fault() than required, i.e. don't
...
request read access in addition to write access on a write fault.
1998-05-06 14:28:29 +00:00
pk
e615541de9
Maintain far more complete state in the PV lists on the cacheability of pages,
...
using separate flag bits for mappings that were requested to be not
cacheable and uncacheable pages due to incongruent aliases.
This avoids inadvertently turning on the cache-enable bits when removing
one of multiple virtual address mappings to the same page. Reading
from /dev/mem could do this to arbitrary pages.
1998-05-06 14:17:53 +00:00
mrg
445283dc37
make UVM the default on the sparc
1998-05-05 01:15:05 +00:00
pk
b6933ca39d
Reading back the IOMMU registers apparently has the ability to wedge
...
microSPARC I cpus. Instead insert a couple of no-ops that seems to
avoid the microSPARC II lossage just as well.
1998-05-04 23:16:59 +00:00
thorpej
1686aca01d
Pull in opt_gateway.h as appropriate.
1998-04-29 23:11:00 +00:00
kleink
a53c1863fe
Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
...
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
chs
8cacea4ea0
fix a timing problem with polled output on sun4c's.
1998-04-23 04:06:17 +00:00
pk
c1a4f8c8ed
Define `xbox'.
1998-04-18 19:03:00 +00:00
pk
90b5c246c6
Skeleton code for the SBus expander box.
1998-04-18 19:00:17 +00:00
tv
b21bfbde11
Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
...
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
pk
98e9f557c2
No need to export bus_intr_establish().
1998-04-07 20:43:58 +00:00
pk
beb02e6b82
Use bus space methods to implement the vme bus space functions.
1998-04-07 20:21:55 +00:00
pk
b333d0bb62
The bus space functions now take care of "pass-through" methods.
1998-04-07 20:20:03 +00:00
pk
fbc1fe8213
bus_space_mmap() has changed to take a `bus_space_handle_t *' argument,
...
like other bus space methods.
1998-04-07 20:18:17 +00:00
pk
3f455e21d9
The bus space functions now take care of "pass-through" methods.
1998-04-07 20:11:54 +00:00
pk
5ecf4dce67
Remove old mapdev() function prototype.
1998-04-07 20:08:29 +00:00
pk
286472fe4d
* Pass the bus tag instead of just the cookie to all bus space methods.
...
* In the bus tag structure, keep a reference to the parent bus.
* Express all bus space methods as inline functions in stead of macros
and use the parent bus tag reference to find the nearest "upstream"
bus that implements the method.
1998-04-07 20:07:23 +00:00
pk
dd3352e3e3
bus_space_*() functions now have the bus tag as first argument.
...
Remove old mapdev() function that is no longer used.
1998-04-07 19:57:37 +00:00
pk
676939e234
Make the single-step support routines available to KGDB-only kernels as well.
1998-04-03 19:53:36 +00:00
pk
437796f42a
Move initialization of `proc0.p_addr' from cpu_startup() to bootstrap().
1998-04-01 14:03:26 +00:00
pk
763a681898
Accommodate cgsix bus-attach split.
1998-03-31 21:12:15 +00:00
pk
e3e74bd0d5
Factor out bus code into separate files.
1998-03-31 21:05:04 +00:00
pk
be4108fec1
Replace direct `sparc_bus_map()' calls with bus space map method.
1998-03-30 14:21:38 +00:00
pk
c2d9565240
mainbus `pa_addr' is now a `bus_addr_t'.
1998-03-30 14:15:57 +00:00
pk
fed9d8e6d6
Make mainbus attach phys addr field a bus_addr_t.
1998-03-30 14:15:12 +00:00
mycroft
d4da63c6c3
Eliminate cs_heldchar. It is not necessary in my version of the driver.
1998-03-30 02:41:21 +00:00
pk
a55cefe6b4
Initialize `par_err_reg' in the mainbus attach function.
1998-03-29 22:13:30 +00:00
pk
b782c3448c
obio_bus_probe() => bus_space_probe()
1998-03-29 22:10:32 +00:00
pk
2ad26b801c
Fill in the bus tag's `bus_space_unmap' method.
1998-03-29 22:06:58 +00:00
pk
82663a0330
Implement `_obio_bus_map()' and insert it into the obio bus' bus tag.
...
Remove obio_bus_probe().
1998-03-29 22:05:05 +00:00
pk
57a8159633
Enter `obio_find_rom_map()' prototype.
...
Make `oba_paddr' field a `bus_addr_t'.
Define temporary compat `obio_bus_map()'.
1998-03-29 22:02:46 +00:00
pk
11928be0ff
`sparc_bus_mmap()' declaration moved to machdep.c
1998-03-29 22:00:33 +00:00
pk
759c8965a3
Use `obio_find_rom_map()' explicitly instead of using `obio_bus_map()'
...
without a proper bus tag.
1998-03-29 21:59:44 +00:00
pk
2f1dd95a2d
Declare `sparc_bus_unmap()' static.
1998-03-29 21:56:32 +00:00
mrg
47a62a0eed
use bitmask_snprintf.
1998-03-29 05:10:45 +00:00
mrg
b61e2629f2
remove register from decl.
1998-03-29 05:08:46 +00:00
pk
2a65520c69
bus_space_probe() prototype.
1998-03-28 19:45:29 +00:00
pk
89444e9309
Implement generic bus probe function.
1998-03-28 19:44:08 +00:00
pk
f3d6050987
Typo in initial interrupt register mapping code.
1998-03-26 16:11:40 +00:00
pk
f658122053
Check for a valid PROM virtual address.
1998-03-25 23:15:07 +00:00
pk
ce14ebd2b7
Include not-cacheable bit in base bus space mmap function.
1998-03-24 10:00:14 +00:00
pk
23521d1c5f
Fix yank-and-put error in sbus attach code.
...
Misc. cleanup.
1998-03-23 17:37:04 +00:00
pk
4730d097ad
Only print interesting interrupt levels.
1998-03-23 17:21:52 +00:00
pk
3702424d0f
Restore initialization of `par_err_reg' (sun4).
1998-03-23 17:16:03 +00:00
pk
279df61dbe
Fill in the pointers the MI back-end expects correctly.
...
Add comment and diagram explaining the memory layout (to be revisited..).
1998-03-22 22:12:52 +00:00
pk
405ec57e9f
Lift the tilde a bit.
1998-03-22 20:24:05 +00:00
pk
e6a2630760
Direct the Sbus bus map function through the bus tag.
1998-03-21 22:03:33 +00:00
pk
f4410cf7a3
Account for changed bus attachment scheme.
1998-03-21 20:34:58 +00:00
pk
090d9364af
Implement bus mapping and interrupt-establish functions.
1998-03-21 20:33:31 +00:00
pk
681b358c19
Account for bus_space(9)-style bus attachment scheme.
1998-03-21 20:30:49 +00:00
pk
232fa45996
Add bus tags to softc.
1998-03-21 20:29:57 +00:00
pk
a21d934940
Add bus tags.
...
Add interrupt chaining facility (currently used for `le'; the `esp'
device should follow).
1998-03-21 20:28:44 +00:00
pk
087da728f2
Add bus tags to softc.
1998-03-21 20:25:12 +00:00
pk
c99d62cc8a
Account for changed bus attachment scheme.
1998-03-21 20:23:38 +00:00
pk
be7f5a7031
Switch to a bus_space(9)-based device attachment scheme.
...
The dma & lebuffer devices behave like busses to accommodate the
OBP layout. For practical purposes, they are implemented as
Sbus "extensions".
1998-03-21 20:23:09 +00:00
pk
69fe6f242f
Account for changed bus attachment scheme.
1998-03-21 20:11:30 +00:00
pk
165120cfaf
Sbus attach arguments and map function prototypes go here.
1998-03-21 20:10:07 +00:00
pk
77f499595c
Switch to a bus_space(9)-based device attachment scheme.
...
- device attachment arguments contain bus-specific
address and interrupt levels.
- devices must call back on bus map functions to get their
addresses and interrupt levels translated properly.
- sun4m's obio bus is treated like an Sbus slot.
- the sun4-style obio bus has its own attach arguments
and map functions.
1998-03-21 19:55:31 +00:00
pk
73f387899e
#define several register bank offsets, so we don't need to refer to
...
structure fields.
1998-03-21 19:45:45 +00:00
pk
61365a8b8e
Add bus tags to softc.
1998-03-21 19:43:17 +00:00
pk
83cec33afc
Split the fb_setsize() utility in two separate functions: one to be
...
used by OBP machines and another one for sun4/eeprom machines.
1998-03-21 19:42:00 +00:00
pk
66190b4b99
Remove old `confargs' structure which is no longer used; extract the
...
structures representing the ROM properties.
Also, define the `mainbus' and `obio' attach arguments here.
1998-03-21 19:36:27 +00:00
pk
9e69994eaa
Add `interrupt establish' and ` device mmap' methods and macros to
...
match to the bus tag structure.
1998-03-21 19:31:27 +00:00
pk
9c3abc26a4
Add RCS-Id & copyright.
1998-03-21 12:29:29 +00:00
pk
71fc7f093d
The iommu "bus" now presents its own attach arguments to its children.
1998-03-21 12:21:18 +00:00
pk
d19772ea9e
Transform `mainbus' attach code to use its own attach arguments.
...
Add a couple rom-property helper functions; some overlapping functionality
with existing function, but hold on to the latter for just a while.
1998-03-21 12:18:25 +00:00
pk
8d63cb6db8
Remove incorrect address validity check in two `#if DEBUG' sections.
1998-03-21 11:32:43 +00:00
pk
1ccb578b36
We can't currently attach `audioamd' at `obio'.
1998-03-21 11:15:25 +00:00
pk
04730ad038
Declare separate bus attachments for devices that can occur on multiple busses.
1998-03-21 11:12:56 +00:00
bouyer
9f50fca1fd
Add commented out "options FFS_EI"
1998-03-18 16:34:41 +00:00
cgd
9da165424c
allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf
1998-03-02 19:57:00 +00:00
fvdl
ede1a3fc5b
Make this compile again.
1998-03-02 17:58:34 +00:00
pk
d22f956657
Remove `_NEW_I82586'.
1998-02-28 01:15:51 +00:00
perry
1ed8ea9966
note second parm of sysarch() is now void *, + trivial KNF, etc.
1998-02-25 21:41:55 +00:00
mycroft
c1444078b5
Finish making this compile after libkern changes.
1998-02-22 15:25:28 +00:00
mycroft
b20ba808f2
Clean up after ffs() change.
...
Do *not* set runtime here; the way it was done was highly bogus, and the value
just gets blasted right away by mi_switch().
1998-02-22 15:13:36 +00:00
mycroft
1638d144ca
Always go to splhigh() inside DDB.
1998-02-22 14:07:21 +00:00
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
gwr
9053a6f401
Correct the values of zs_unit in consinit(),
...
so ddb will work on the keyboard/display.
1997-10-22 14:39:38 +00:00
thorpej
665f7d1a6e
Implement __RENAME() in <machine/cdefs.h>
1997-10-22 05:20:32 +00:00
pk
332129fdf1
Enable `reselect' and `synch negotiation' by default.
1997-10-20 18:05:21 +00:00
pk
004f196dcf
Nuke 5.25 inch formats.
1997-10-19 23:29:47 +00:00
pk
a0d6bae726
Add an odd-ball japanese floppy format (PR#2903).
...
A good time to get rid of the hard-coded floppy sector size.
1997-10-19 22:29:21 +00:00
christos
7507e6a5e9
Make this compile again.
1997-10-19 20:34:54 +00:00
augustss
e7029fc0da
Make the audio API (almost) SunOS compatible.
...
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
gwr
c5b23be7bf
Make sure vunmapbuf will kmem_free_wakeup() the same VA range
...
that came from kmem_alloc_wait(). (Same problem as PR#4120).
1997-10-18 00:17:21 +00:00
gwr
0308bf1ac6
Use common zs code.
1997-10-17 23:59:44 +00:00
christos
801520ffac
fix chrtoblk declaration
1997-10-16 23:43:16 +00:00
mycroft
b328298e4c
Fix up includes.
1997-10-16 10:49:00 +00:00
mycroft
482e74d998
Fix up includes.
1997-10-16 10:35:49 +00:00
explorer
80513cb5ae
o Make usage of /dev/random dependant on
...
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft
3081c6f8cf
AudioC[A-Z] -> AudioC[a-z]
...
AudioElinear -> AudioEslinear
1997-10-11 12:43:51 +00:00
mycroft
20b05a6bc4
Make these closer to working.
1997-10-11 09:10:25 +00:00
mrg
74f573d85d
remove advertising clause from all my licenses.
1997-10-10 05:39:47 +00:00
bouyer
6ab3092b11
Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
...
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
jtc
4229acf79d
Fix tipo inherited from old version of TNF copyright template.
1997-10-09 08:37:20 +00:00
jtc
da7890c526
Fix tipo inherited from old version of TNF copyright template.
1997-10-09 08:31:58 +00:00