Commit Graph

1624 Commits

Author SHA1 Message Date
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
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
lukem 7d508b124f define SIZE?=size, and use ${SIZE} instead of size. makes cross
compilation easier
1997-10-03 07:17:00 +00:00
christos 0c2a9deb8f Oops, missed a space in previous formatting change. 1997-10-02 04:23:09 +00:00
pk feaaceb801 Missing `#ifdef SUN4M' in pmap_release(); rearrange slightly to look
more natural.
1997-10-01 19:21:17 +00:00
christos 7f41ec0345 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:50:53 +00:00
pk da4ac7ec5a GC setpte*() declarations. 1997-09-27 18:04:47 +00:00
pk 450cdbdaab Move the "unimplemented software trap" message within `#ifdef DIAGNOSTIC'
and use uprintf() for the notification.
1997-09-27 18:03:39 +00:00
pk 70ca0fdc80 Move the per-processor counter register into cpuinfo. 1997-09-27 18:01:30 +00:00
pk d0b1ee0833 * Optimize pmap_{zero,copy}_page4m() a bit by pre-computing the PTE addresses
of the reserved KVAs (vpage[]) used by these routines. This avoids the
  context switching in there.

* In pmap_redzone(), remove the first kernel address (at KERNBASE) from
  the kernel maps instead of just turning off the PTE `valid' bits.
  The latter doesn't create a "red zone" at all, but causes the VM to
  allocate a new page if the red zone is touched.
1997-09-27 17:58:03 +00:00
pk 7482ebb584 Insert a hack to allocate IOMMU addresses congruent to the kernel virtual
address that being DVMAed to.
1997-09-27 17:49:33 +00:00
mrg fa6b4a3a7b add (commented) options BLINK, per PR#4075. 1997-09-27 09:56:25 +00:00
pk f338821834 Do not set CPUFLG_CACHEPAGETABLES inappropriately on microsparcs 1997-09-26 22:17:23 +00:00
pk 665c7aa080 * Implement a private page table storage allocator for SRMMUs. It provides
uncached (if needed) chunks of memory of the two sizes (256 and 1024
  bytes) that the SRMMU ever needs.

* Change pmap_changeprot4m() so that is does not rely setpte4m() because
  setpte4m() cannot be used for anything other than VAs that are in the
  pmap associated with the current context.
  In the same vain, make sure that kvm_uncache() switches to context 0.
1997-09-26 22:15:37 +00:00
fair 40f6f7e831 Make the #ifdef expression prior to the declaration and use of
"nptesg" match each other, per PR#4024.
1997-09-25 07:31:28 +00:00
pk 40c87730b3 Move KERNBASE to 0xf0000000. 1997-09-23 19:59:27 +00:00
pk f5bb941f5b MSGBUFSIZE needs no obscure adjustment; initmsgbuf() takes care of that. 1997-09-23 08:23:29 +00:00
pk c209086562 The symbol `_msgbufaddr' is no longer exported. 1997-09-23 08:19:56 +00:00
pk 9632cb41c6 Fix some lossage resulting from changed message buffer initialization:
don't buck the trend and move the call to initmsgbuf() to cpu_startup()
in machdep.c (like most other ports do) where we can setup things right
in one go. (This means that the CSRG copyright will no longer be in
the kernel logs).
1997-09-23 08:16:26 +00:00
christos b562e93fc1 Remove duplicate declaration 1997-09-22 20:35:51 +00:00
christos 676d60fa45 Fix printf formatting; remove extra spaces, add : at the end. 1997-09-22 20:34:45 +00:00
leo fb0bc9eeae Fix (hopefully) the compile errors introduced by the msgbuf changes. 1997-09-22 15:03:58 +00:00
pk fca3465b96 Do not skip over a break trap instruction, now that the DDB code can
do it properly.
1997-09-20 19:00:40 +00:00
pk 9b3d64edb9 Remove the `segmap' array from the header. Insert an offset and count
field to get to it instead.

Add field `kernbase' so libkvm can be independent of the kernel's link address.
1997-09-20 18:23:51 +00:00
pk 59ed02a11b pmap_dumpsize() returns a number of disk blocks. 1997-09-20 18:18:33 +00:00
pk 1cd19dc013 Change crash dump layout a bit so the size of the `cpu_kcore' structure
does not depend on the value of KERNBASE.

Change pmap_dumpsize() to return disk block units, in stead of pages.
1997-09-20 18:14:01 +00:00
leo 2b138578d7 Correct for the extra member in 'struct kern_msgbuf' when calculating
the number of bytes we want to allocate.
1997-09-20 12:10:09 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
pk bb3e7cdb98 Fix viking/MXCC botch similar to pmap.c. 1997-09-18 20:44:43 +00:00
pk ef73834bdc Check for the `VIKING_PCR_TC' being set, just in case. If it isn't set,
delay the use of the `CPUFLG_CACHEPAGETABLES' flag.
1997-09-18 20:29:15 +00:00
pk eac8e745a7 Add a function to stop sun4m counters and call it early during
auto-configuration.
1997-09-18 20:25:34 +00:00
pk 9d1afc6f01 Fix a botch in reservemon4m() causing the `Alternate cacheability' not being
set on viking MXCC machines while using transparent memory access mode. This
becomes apparent when booting on multi-processor viking machines.

While I'm here, arrange to tempt fate a little less by using `AC' mode
for the shortest possible periods of time.

Special thanks to Matt Ragan for running my test kernels.
1997-09-18 20:16:45 +00:00
pk aa998af35c Hard-code a couple of sun4 cpu-clock speeds.
Fix a printf formatting glitch.
1997-09-15 20:52:36 +00:00
pk b5004e4ce1 Call the device close routine when we're done reading. 1997-09-14 19:28:17 +00:00
pk 5ba6b94ba6 Do not use KERNBASE to calculate the `end of symbols' location. Instead
use the `a_entry' field from the kernel's header as a base.

Pass on a new DDB magic number to the kernel, so kernels linked for a
different KERNBASE value can apply a correction when booted from old
bootblocks.
1997-09-14 19:27:21 +00:00
pk 4969489cb6 Define a new DDB magic number to pass to the kernel. 1997-09-14 19:22:55 +00:00
pk 383448522d Refer to KERNBASE instead of its current numerical value in comments
and some early debugging code.
1997-09-14 19:20:48 +00:00
pk dc4f93c2a1 Collect sbus status and configuration registers in `struct sbusreg'. 1997-09-14 19:17:25 +00:00
pk e4a198d193 Move sbus fields to sbusreg.h where they belong. 1997-09-14 19:16:04 +00:00
pk a3140bf9f2 NetBSD 1.2 and earlier sparc bootblocks have KERNBASE compiled in. This
prevents booting DDB kernels that are built with a different value of KERNBASE.

Apply a correction based on the magic number passed in by the bootblocks.

New bootblocks without the hard-coded KERNBASE reference will be assigned
a new magic number.
1997-09-13 20:36:48 +00:00
pk c635b25325 In kbdattach() (the pseudo-device attach routine) wait for the keyboard
reset sequence to complete.  Just sending the reset command and rushing
off -- like it used to do -- might cause the keyboard's response to get
lost in case the remaining kernel initialization decides to interact
with the console (RB_ASK!) by calling cngetc(), which goes off polling
within the PROM.
1997-09-13 19:12:18 +00:00
pk 27f2065c2c Update syscall() and setregs() in the wake of the recent execve() changes. 1997-09-12 08:55:01 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
pk aeec7a4ecc Turn off "branch folding" in microsparc II processors. This seems to
avoid strange panics happening. Patch suggested by Chris Torek.
1997-09-10 19:11:23 +00:00
pk 0bd088474a Turn on D_DSBL_WRINVAL on `ledma'. 1997-09-09 20:54:48 +00:00
pk 240f9f0804 Bring db_{read,write}_bytes() prototypes in scope.
Move Debugger() within `#ifdef DDB'
1997-09-01 00:16:31 +00:00
pk 7d7a8e5773 Switch to MI kgdb code. 1997-08-31 21:29:16 +00:00
pk 84877e89f6 Allow a BREAK to cause a kgdb_connect(). 1997-08-31 21:26:37 +00:00
pk 7950e785f9 Switch to MI kgdb code. 1997-08-31 21:22:44 +00:00
pk 2b1e7bab51 pmap_writetext(): use context 0. 1997-08-31 21:08:03 +00:00
augustss a79408b6c7 Change match routine to use "audio" as the ROM name. 1997-08-27 22:42:23 +00:00
augustss c58d387b0f Fix prototype for amd7930_set_params. 1997-08-27 22:33:59 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
augustss 6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
mjacob 6ac7f6248f add a before tab to SCSIVERBOSE 1997-08-23 19:16:06 +00:00
augustss 556cf1abc0 Make it possible for audio to attach to audioamd. 1997-08-22 11:45:06 +00:00