Commit Graph

27776 Commits

Author SHA1 Message Date
christos
0b836e1a7b move the machine independent portion out of the context functions. 1999-01-21 22:58:57 +00:00
christos
4e3e5d021d Avoid void * arithm in a debugging printf, and remove extraneous void *
casts.
1999-01-21 22:58:11 +00:00
mycroft
808496666c Do remove sockets on so_q0, since select(2) and accept(2) do not (currently?)
return them.
1999-01-21 22:09:10 +00:00
christos
198f0a3f56 Fix initialization of resource limits for number of files and number
of processes:
- Don't initialize rlim_max to RLIM_INFINITY. The limits for those should
  be maxfiles and maxproc respectively. Programs expect getrlimit to
  return reasonable values, so that they can allocate structures (for
  example jdk does this).
- Don't initialize rlim_cur to NOFILE and MAXUPRC respectively, but to
  min(NOFILE, maxfiles) and min(MAXUPRC, maxproc) respectively.
1999-01-21 14:50:41 +00:00
simonb
76764712c1 Round one of the Makefile clean up:
+ dependency on libsa works
 + set and use BINDIR/BINMODE
 + don't pull in sys/lib/lib{sa,kern}/Makefile.inc (``make clean''
   doesn't make empty lib/{sa,kern} directories in each
   directory/obj dir).
 + remove unnecessary targets, variables and other cruft
 + wrap lines at 80 chars

Re-ordering SRCS line in libsa/Makefile to a more logical sequence
(alphabetical by source dir) results in a libsa.a with archive members
in a different order, and a resultant bootrz that differs from the 1.3.3
bootrz.  Untested as yet, so left in but commented out.

Also, _don't_ install the bootblocks (as per intent of previous commit)
or our own small libsa(!).
1999-01-21 14:16:52 +00:00
simonb
ab18b23eba Add dkcksum.c (pulled in from libsa) and remove local copy of
disklabel.c (with it's own copy of the same dkcksum routine).  Output
code still identical.
1999-01-21 12:43:11 +00:00
simonb
6c2628b5d0 Almost working bootblocks for the pmax. This compiles fine with gcc
2.7.2.2-myc2 (and produces _identical_ bootblocks with the 1.3.3
bootblocks which weren't in the tree), but egcs 1.1.1 builds a ufs.o
that's about a 100 bytes too big, and it busts the 7.5k we've got for
bootrz.

Still needs cleanup - the Makefiles could be better/cleaner, and doesn't
install yet (because of above problem).  At least there's something to
work with now.

Note that we have our own versions of a lot of the sys/lib/libsa
routines which are less functional/smaller.
1999-01-21 12:33:39 +00:00
sakamoto
02bb7a4233 Add VIA Rhine/Rhine II Fast Ethernet files. 1999-01-21 12:02:00 +00:00
sakamoto
4f99746d57 Add NetBSD autoconfiguration support.
KNF.
1999-01-21 12:00:25 +00:00
sakamoto
bea8f807a7 Import FreeBSD's VIA Rhine fast ethernet PCI NIC driver
written by Bill Paul <wpaul@ctr.columbia.edu>.
1999-01-21 11:55:22 +00:00
bouyer
d86a570eac Add a mitsumi CD that can't handle REQUEST SENSE command. From
Johan Danielsson <joda@pdc.kth.se>.
1999-01-21 10:31:39 +00:00
mycroft
399318b456 Vanity config files. 1999-01-21 09:58:26 +00:00
mycroft
1c607f81a8 Fix editing error. 1999-01-21 08:20:25 +00:00
msaitoh
88176e7d20 Fix about insertion/removal event problem. 1999-01-21 07:43:32 +00:00
mycroft
74a54bbbc8 wscons. 1999-01-21 02:54:08 +00:00
mycroft
1e9146db5d sync 1999-01-21 02:50:21 +00:00
thorpej
c6aa25bfa1 Fix a st00p1d bug I introduced in rev 1.57, which would cause any activity
on non-0 CCD units to crash the system.
1999-01-21 00:35:15 +00:00
mycroft
516af72df3 -ccd +vnd 1999-01-20 22:48:42 +00:00
kleink
5eb233ddd5 Return the machine's ISA for SI_ARCHITECTURE. 1999-01-20 22:09:17 +00:00
mycroft
0fb75f560a Oops; previous was slightly broken. 1999-01-20 20:24:12 +00:00
mrg
1ead59c1eb enable a few more network and compat options, few more devices, both pseudo and real, that hvae appeared in the tree. 1999-01-20 17:24:36 +00:00
pk
5ce78d9342 Fix think-o in srmmu_cache_flush(). 1999-01-20 15:25:29 +00:00
mycroft
cefdcd4840 More DDB cleanup. 1999-01-20 13:56:35 +00:00
simonb
64b6a85f9c Remove obsolete README and dec_label program 1999-01-20 13:37:56 +00:00
simonb
47c28b03d8 Move via repository copy to sys/arch/pmax/stand/scsiboot 1999-01-20 12:03:56 +00:00
mycroft
7ef318056c sync 1999-01-20 11:15:56 +00:00
mycroft
430ecf369d Do not remove sockets from the accept(2) queue on close. 1999-01-20 09:15:41 +00:00
ragge
08e32be08c Forgot copyright notice. Thanx, Jason! 1999-01-20 07:32:52 +00:00
thorpej
a43786143f Fix a problem pointed out by Charles Hannum; DF wasn't being set in
SYN,ACK packets during Path MTU Discovery.  Fix tcp_respond() to do the
appropriate route lookup and set DF as appropriate.

Also, fixup similar code in tcp_output() to relookup the route if it
is down.
1999-01-20 03:39:54 +00:00
pk
565d3768e5 Catch `Unimplemented Flush' traps. 1999-01-20 00:15:07 +00:00
mycroft
231a906c71 There's just no plausible reason to byte-swap ip_id internally. It's opaque. 1999-01-19 23:39:56 +00:00
pk
521611091a Set the Hypersparc ICCR bits. 1999-01-19 23:07:29 +00:00
pk
88993b57d9 Define macros to read & write Ancillary State registers. 1999-01-19 23:05:52 +00:00
pk
66cd211961 Define Hypersparc ICCR bits. 1999-01-19 23:04:02 +00:00
mycroft
7eeb5a04da Don't screw with ip_len; just subtract from it where we actually use the
value.
1999-01-19 23:03:20 +00:00
ragge
cb2675ff12 Fix some void pointers. 1999-01-19 22:57:47 +00:00
ragge
482b6ca70d #include <machine/asm.h> instead of (nonexistent) "DEFS.h". 1999-01-19 22:54:53 +00:00
mycroft
d3ea3de1af Fix byte-swapping of ip_len in returned IP header. 1999-01-19 22:10:42 +00:00
mycroft
fc1211a6ab Don't overwrite the checksum fields when checking them. There's no reason to
do this, and it screws up ICMP replies.
XXX The returned IP checksum and length are still wrong.
1999-01-19 21:58:40 +00:00
ragge
bef0af5311 Allocate (almost) all interrupt vectors dynamically. Simplifies much
work when adding support for new machines and devices.
1999-01-19 21:04:47 +00:00
thorpej
2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
scottr
d51a8c71b9 Need bswap.h for the bswap32() prototype. From Steve Allen
in PR 6846.
1999-01-19 15:41:03 +00:00
bouyer
d8f58a3506 Move test for SDEV_NOSTARTUNIT quirk from sd.c to scsipi_start().
Add a SDEV_NOSTARTUNIT quirk entry for BCD-16X 1997-04-25", "", "VER 2.2"
CD-rom (from Michael Santos).
1999-01-19 10:57:11 +00:00
pk
a711033aa2 Deal with SIR_SERIAL (for `com' devices).
XXX - consider using __GENERIC_SOFT_INTERRUPTS instead
1999-01-19 10:04:42 +00:00
pk
dd91d8a2b4 Add SIR_SERIAL soft interrupt source. 1999-01-19 10:02:40 +00:00
bouyer
f10115b632 "Memorex CRW-2642" CD-R can't properly handle REQUEST SENSE command.
Add it to the quick table, per PR kern/6844.
1999-01-19 09:31:58 +00:00
abs
593d6c65b9 Add '-f disktab' option to disklabel, via lib/6623 from
Greg A. Woods <woods@most.weird.com>. (Very) slightly tweaked disklabel.8
1999-01-19 06:24:08 +00:00
ross
c79856181a NetBSD RCS id. 1999-01-18 20:36:22 +00:00
ross
7346c0043b FreeBSD's fpu.h. 1999-01-18 20:33:23 +00:00
bouyer
a1471db64a move wd.c:print_wderror() to ata.c:ata_perror().
In wdc_probe_caps() add code to guess the ATA revision supported (if
ATA4 if Ultra-DMA, ATA2 if PIO mode > 2). We can't rely on param.atap_ata_major
here, at last one Ultra-DMA drive claims to support only ATA-3.
Use the ATA version in ata_perror(), and to try a flush cache command
in a shutdown hook for IDE drives.
1999-01-18 20:06:24 +00:00
drochner
a1038a18af remove wsdisplay_has_emulator(), this is not meaningful with virtual screens,
and it did not work with external (serial) consoles what can cause that
a display has no screen and thus no "focus"
1999-01-18 20:03:59 +00:00
mjacob
83270f242f If you're BIG_ENDIAN and use bswapXX, pull in the header file that prototypes
these functions.
1999-01-18 19:17:00 +00:00
pk
2fa7bdbccd Fix AF_NS code. 1999-01-18 13:29:01 +00:00
tsubai
321f772d99 Invert Y axis (like ums, pms, ...). 1999-01-18 12:36:36 +00:00
pk
ed55ba4db9 Need <machine/bswap.h> 1999-01-18 11:51:43 +00:00
drochner
67589898ca Be more cautious about writing to the CMOS century byte. Update it only
if it contained a "19" before. There are machines (in particular PS/2
descendants) which have a checksum at this place.
Introduce a patchable kernel variable "rtc_update_century" to modify
the behaviour: 1="always update" (for testing and if one wants to set
the clock back) or -1="never touch".
1999-01-18 10:50:23 +00:00
itohy
fe5278bffc MACHINE_NEW_NONCONTIG is no longer optional
remove non-MNN code
1999-01-18 07:39:51 +00:00
msaitoh
3af083d212 fix "CMSA CD" to "CSMA/CD" 1999-01-18 06:31:13 +00:00
castor
de42f91db3 Forgot to also ship out regnum.h 1999-01-18 04:59:54 +00:00
nisimura
3478ed1de4 - Nuke 90 lines of dead code inherited from 4.4BSD. They were mostly for
VAX BSD VM.
1999-01-18 03:48:34 +00:00
castor
4e216f5744 Remove vestiges of cpuarch.h. Revert to using cpuregs.h instead. 1999-01-18 02:11:07 +00:00
castor
2e0007e017 Make bswap32 be the "real" entrypoint and htonl, ntohl aliases. 1999-01-18 01:24:55 +00:00
pk
fb846bde24 Share ring buffer code and data structure for be' and qe' in
the QEC module. Adapt the QEC interrupt establish code to suit the
needs of the `qe' device.
1999-01-17 20:47:50 +00:00
pk
58fa0024a5 Add `qe'. 1999-01-17 20:45:26 +00:00
pk
ad3176f350 Add `qe' network interface device. 1999-01-17 20:44:58 +00:00
pk
5e8fcd9428 Import Jason Wright's Sbus Quad ethernet (`qe') driver as found in OpenBSD.
Heavily pounded on by me to make it fit our driver model.
Also added: auto media selection; shared ring buffer code with `be'.
1999-01-17 20:44:18 +00:00
eeh
2dd29df04b Let's try to add network support. 1999-01-17 20:07:52 +00:00
matt
8e06ef5a52 If using egcs, use -mno-pic to generate better code. 1999-01-17 19:09:00 +00:00
he
30cc2d95cb Actually handle small boot blocks (<=15 blocks) correctly in the ffs case. 1999-01-17 18:16:16 +00:00
drochner
6424072ccd extend the interface for reset-like commands from the keyboard 1999-01-17 16:01:38 +00:00
drochner
3bc0bad0af adapt to "reset" interface change, pass "close all" to wsdisplay 1999-01-17 15:59:17 +00:00
drochner
b892856647 -extend the interface for reset-like commands from the keyboard,
add handling of a "close all" command
-split out code common with wsdisplay_delscreen() into
 wsdisplay_closescreen()
-add ttymodem call to signal a HUP to the application if the screen
 is closed
-add flag to force a "clear screen" on close (XXX should actually be
 controlled from userland)
-remove checks for existence of "reset" entries in the emulations - this
 is required now
1999-01-17 15:56:33 +00:00
drochner
b465a52a35 define a "close everything" keyboard command 1999-01-17 15:47:20 +00:00
drochner
b69b2fd8f4 define a "clear screen" command to the emulator and complete the
emulation's "reset" implementations as far as useful
1999-01-17 15:44:57 +00:00
tsubai
3e7448240b Add missing backslash. 1999-01-17 12:51:03 +00:00
tsubai
ffffbb419c Fix a intrcnt bug. 1999-01-17 11:53:52 +00:00
tsubai
07d83c4919 Add bmac ethernet. 1999-01-17 11:49:56 +00:00
mark
8ee86da26a Clean up the last remains of non-MNN the code. 1999-01-17 06:58:16 +00:00
mrg
24fb50ca7d update from libc; RCSID, register. 1999-01-17 01:30:06 +00:00
scottr
2159f8a301 Add support for the Contour 3-button mouse, inadvertantly missed
in the ADB split a few months back.  Noticed by Takashi NAKAMURA.
1999-01-16 22:49:37 +00:00
chuck
4ef779d5e5 MNN is no longer optional 1999-01-16 21:06:44 +00:00
chuck
4e484e0e02 remove dead non-MNN code (one block left) 1999-01-16 21:03:48 +00:00
chuck
bef8ae1103 MNN is no longer optional 1999-01-16 20:49:12 +00:00
chuck
90ddaed9b5 MNN is no longer optional, remove dead code 1999-01-16 20:43:21 +00:00
chuck
9cb41178b7 MNN is no longer optional, remove old code 1999-01-16 20:39:03 +00:00
chuck
417e5339f0 MNN is no longer optional 1999-01-16 20:31:50 +00:00
chuck
e6f055e44b MNN is no longer an option 1999-01-16 20:31:20 +00:00
chuck
8bd992a5f6 remove non MNN code 1999-01-16 20:30:34 +00:00
chuck
32244a5a1a MNN is now the default 1999-01-16 20:13:17 +00:00
chuck
9588304ded MNN no longer an option 1999-01-16 20:11:51 +00:00
chuck
66226eb6ff remove non-MNN code 1999-01-16 20:11:03 +00:00
chuck
b0289cbb75 MNN is no longer an option 1999-01-16 20:07:37 +00:00
chuck
4dcbe95100 remove old MACHINE_NONCONTIG code 1999-01-16 20:06:47 +00:00
chuck
3a1fcc746e MNN is now the only option possible 1999-01-16 20:04:22 +00:00
chuck
d22647b17e remove old (dead) non-MNN code 1999-01-16 20:00:28 +00:00
he
4155434b1c Fix uninitialized `inode' variable in save_ffs(), fixing port-i386/6682. 1999-01-16 18:26:47 +00:00
is
5854b4eafe Yet another performance optimization for exceptional length ARCnet packets.
This time in the receive path.
1999-01-16 14:08:05 +00:00
pk
c884428427 Add `be' + MII devices.
Add PCMCIA devices that are known to compile at the moment.
1999-01-16 13:43:50 +00:00
pk
6d1f55bc7a Initial revision 1999-01-16 13:19:11 +00:00
is
f77decf65c Make the code path for exceptional length packets a bit faster (2 mbuf
operations less) and better readable.
1999-01-16 13:04:13 +00:00
is
0a3d4d8915 - define protocol type for diagnostics (0x80 as per ANSI 878.1)
- define protocol type for IP version 6
- define length of exceptional length packets for both RFC 1201-style and
  ATA 878.2-style fragmentation.
1999-01-16 13:01:20 +00:00
pk
c830c88dd2 Convert to bus_space(9).
Add buffer allocations needed by the be driver.
1999-01-16 12:46:08 +00:00
pk
e0e761e420 Import Jason Wright's Bigmac driver, written for OpenBSD.
Heavily pounded on by me to make it fit our driver model.
1999-01-16 12:43:09 +00:00
drochner
76db984c6d regen 1999-01-16 11:28:19 +00:00
drochner
1587097426 add another NCR chip, from Dave Sainty <dave@dtsp.co.nz> per PR kern/6819 1999-01-16 11:27:40 +00:00
nisimura
f3b48dd536 - Restore 'cpuregs.h'. 1999-01-16 09:25:18 +00:00
nisimura
d9b9f639e6 - Update 'cpuregs.h' and decline 'cpuarch.h'. 1999-01-16 09:07:37 +00:00
nisimura
6119939f5a - Restore 'cpuregs.h'. 1999-01-16 08:51:04 +00:00
nisimura
b6cc76ac91 - Never use an uninitialized variable. 1999-01-16 08:48:06 +00:00
nisimura
25806f2bf5 - Make cpu_switch() a normal call; formally it was splitted into halves.
- Fix an error in mips3_cpu_switch_resume(); ASID was not set correctly.
- Remove global variable 'curpcb' reference in mips1_proc_trampoline().
- Restore 'cpuregs.h'.
1999-01-16 08:45:53 +00:00
nisimura
358a8c3092 - Add two macros to deal with a recent change in mips/trap.c. 1999-01-16 08:26:24 +00:00
nisimura
34410d5d0c - Fixup imcomplete vm_offset_t purge work... 1999-01-16 07:05:05 +00:00
nisimura
e02862b167 - Don't use void pointer for arithmetic. 1999-01-16 06:36:42 +00:00
tron
3601b98911 Add missing backslashes between continued lines. 1999-01-16 06:24:07 +00:00
nisimura
f163b5653f - Replace the stub value of 'eret' instruction with correct one. 1999-01-16 03:44:42 +00:00
nisimura
f4b56d8060 - Clarify how inimplemented FP instruction traps are handled. 1999-01-16 03:31:49 +00:00
nisimura
d077749e8f - Fix errors involving proc0's kernel stack usage. Fortunately it made
no error so far...
1999-01-16 03:17:06 +00:00
nisimura
7dce3ef311 - User mode context held with pcb_regs[38] in 'struct pcb' was relocated
at the very bottom of process kernel stack.   The address is pointed with
'curproc->p_md.md_regs'.
- Define 'struct md_coredump'.
1999-01-16 03:12:18 +00:00
nisimura
f714e02733 - Fixup for recent change in arch/mips. 1999-01-16 02:36:01 +00:00
bouyer
f20d50fae4 Add byte_swap.h here too. 1999-01-16 02:31:54 +00:00
bouyer
62a77e9dfe Oups, need byte_swap.h too. Pointed out by Robert V. Baron 1999-01-16 02:20:26 +00:00
thorpej
8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
thorpej
f52ee598ae __pmax__ -> pmax, __arc__ -> arc, like other ports. 1999-01-15 23:35:54 +00:00
thorpej
8ce7166aa3 __pmax__ -> pmax, like other ports. 1999-01-15 23:29:55 +00:00
thorpej
c84a74b16b Don't define "mc68020". Nothing uses it. 1999-01-15 23:21:25 +00:00
thorpej
cd3a2c5a2a Eliminate use of CPP symbol "mc68020". 1999-01-15 23:15:50 +00:00
castor
48cbfb842a * Add prototype for mips1_clean_tlb
* Add the correct version of locore_mips1.S [ See previous revision for
	description of changes ]
* Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c
	to avoid generating extraneous code.
* GC pmap_set_referenced in pmap.c
1999-01-15 22:26:42 +00:00
wrstuden
c7fc6c74ca Oops. That extra "*" doesn't need to be there. 1999-01-15 22:04:44 +00:00
sommerfe
324ea43975 Fix format mismatch which only turns up when building with DEBUG 1999-01-15 22:02:59 +00:00
thorpej
e2a60769a0 Fix an unterminated macro call. 1999-01-15 20:34:31 +00:00
explorer
edd259d12e Make it so raidframe will only perform synchronous writes, and async
reads.  This avoids a problem where many writes will cause the driver
to allocate way too much memory.

This needs to change to a queueing system later, which will provide a
way to limit the memory consumed by the driver.

Without these changes, raidframe would use 24M or more on my machine when
the buffer cache dumped all its dirty blocks.  Now it uses around 200k
or so.
1999-01-15 17:55:52 +00:00
drochner
21a687eb01 add japanese keyboard map, from AW9K-NNK@asahi-net.or.jp (Nonaka Kimihiro)
per PR kern/6814
1999-01-15 16:12:25 +00:00
drochner
6efb3afd18 add definition for japanese keyboard 1999-01-15 16:00:33 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
castor
45a22daf10 allow generated kernel includes and support mips pubassym.cf mechanism 1999-01-15 10:57:36 +00:00
castor
c729b2ffeb add support for locore_mips[13].S 1999-01-15 10:33:11 +00:00
castor
534c67a373 Protect defopt against -D_LKM 1999-01-15 10:07:12 +00:00
castor
84915f67d7 Fix typo in mips3_ConfigCache() -- mips3_L2CachePresent 1999-01-15 09:58:43 +00:00
castor
cfdc52bfa9 Break out utility functions from locore.S 1999-01-15 08:44:27 +00:00
matthias
2dff258464 Support BUFCACHE option (stolen from i386). 1999-01-15 07:43:48 +00:00
matthias
88b2c1662d Protect all defines in this file with #ifdef _KERNEL. At least the
definition of T_SLAVE will cause the bind build to fail. Thank's
to Phil Budne for noting this.
1999-01-15 07:42:48 +00:00
castor
4720afb463 Avoid introducing new prefix '__JB' -- '_JB' is fine. 1999-01-15 03:43:56 +00:00
castor
e20f6d6203 * Elimination of UADDR/KERNELSTACK
Affected files:
	include/mips_param.h, include/pcb.h,
	mips/locore_mips1.S, mips/locore_mips3.S,
	mips/mips_machdep.c, mips/vm_machdep.c

   Issue:

So far, NetBSD/mips has not successfully got rid of fixed-address
kernel stack.  USPACE (two 4KB pages) of each process has two distinct
KSEG2 addresses, both refer to a single physical storage; one address
for fixed range [ UADDR .. KERNELSTACK ), and another for "normal" KSEG2
address which was allocated by kernel memory manager and unique to each
others of processes.

"Doubly mapped" USPACE complicates context switch.  Both address ranges
have to be managed with a special care of "wired" TLB entries which
are never replaced until next context switch to ensure no TLB miss for
USPACE access.  It's equally crumbersome that MIPS processor's cache
machinary gets be confused about USPACE contents because there are two
distinct KSEG2 addresses to manipulate one physical storage.

   Solution:

Purge KERNELSTACK constant for kernel stack pointer and replace
it with process unique values.  Kernel stack bottom is located at
'curproc->p_addr + USPACE'.  Context switch is simplified as it unloads
half of TLB hardwiring burden.  It just manages the unique KSEG2 address
of each USPACE to be wired.  As the side effect, switch_exit() has no
MIPS processor ISA dependent code anymore.  It switchs kernel stack to
proc0's USPACE which has KSEG0 address and no need of TLB entry.

* Extensive use of 'genassym.cf'

To hide target port dependent and/or processor register size dependent
constants from assembler routines, 'genassym.cf' now has an extentive
set of definitions for various constants and offset values of
structural objects.  This change will contribute possible NetBSD/mips64
portability too.

* Separation and rename of locore_r2000/_r4000.S

Those files are now indepedent standalones from locore.S to ease
maintainance works, and renamed to match MIPS processor ISA version.

* Changes in kernel mode exception handlers

Kernel mode exception handlers hold exception contexts by pushing a
certain set of register values on stack for resuming kernel mode
processing.  This context is now represented with 'struct trapframe',
which is smaller than full scale (user mode) exception context 'struct
frame'.  Stack consumption of kernel mode exception services is now
similar to 4.4BSD/mips.

* Relocation of exception frame

User mode context 'struct frame' is moved to the very bottom of kernel
stack at 'curproc->p_addr + USPACE - sizeof(struct frame)'  This change
saves a bit of instructions on every return to user processes as it
eliminates reference to global variable 'curpcb' each time.

* Refurblished DDB backtrace routine

It's a growing concern to maintain stacktrace() code correctly.  It
could be simplified by enforcing special arrangements for some of
obscure locore routines which violate usual coding conventions.

New backtrace code searchs for certain instructions peculiar to any of
function tails.  Specifically, "jr ra" for normal function returns, "jr
k0" for MIPS1 exception handlers and "eret" for MIPS3 handlers.

* Support for 64-bit safe user code
    Affected Files:
	${ARCH}/include/pubassym.cf lib/libc/arch/mips/gen/*setjmp*
	include/setjmp.h mips/include/[lots] mips/mips/[lots]

    Solution:

	We define macros REG_L/REG_S and SZREG for loading and storing
	registers and for the size of registers.  The exact meaning
	of these is controlled by a macro (currently _MIPS64) which
	allows one to treat the registers as either 32-bit or 64-bit.
	There are data types mips_reg_t and mips_fpreg_t which represent
	the true register sizes, and avoid confusing register_t.

	We needed a way to dynamically gen the structure sizes of things
	like sigcontext for setjmp.h, so we defined a pubassym.cf for
	libc routines like setjmp and longjmp.

	NetBSD/mips allows ${ARCH}'s to be defined which preserve
	all 64-bits of registers across user context switches.  There
	are still a few niceties to clean up for kernel mode context
	switches.

* Support for QED 52xx processors
    Affected Files:
	mips/locore_mips3.S mips/pmap.c include/locore.h

    Issue:
	The QED 52xx family of processors are targeted at low cost
	embedded systems, (i.e. CPUs ~$30) for systems like routers, printers,
	etc.  We have added preliminary support for some of the idiosyncrasies
	of this processor, e.g. no L2 cache, etc.  More work needs to be
	done here because with a modest 2-way  L1 cache, some of the rampant
	flushing has significant performance implications.  However,
	it doesn't crash, which is a start.

    Solution:
	A routine for flushing the cache based on virtual addresses was added;
	a routine which deals with the two-way set associativity of the
	5230 L1 cache was added, accomodations to 5230's instruction hazards
	were added.


* TLB Miss code for mips3/mips4 processors cleaned up significantly.
    Affected Files:
	mips/locore_mips3.S mips/vm_machdep.c include/locore.h mips_machdep.c
    Issue:
	The TLB Miss handler exceeded the allowed size, which wasn't
	a problem because there was no handler for when the processor
	was in 64-bit mode.  The handler for invalid TLB exceptions
	also appears to have much vestigial code, which made it
	difficult to understand.

    Solution:
	Use the XCONTEXT register to store a pointer to the segment
	map table, this coupled with removing some dead code allows
	the handlers to fit.
1999-01-15 01:23:12 +00:00
mrg
bb4584ec40 look for /^Version:/ to find the boot block version, rather than using
the "version" file's RCS id (which is useless for branches).
1999-01-15 00:48:03 +00:00
pk
6a8119ff1d Sanity check from Matthias Drochner. 1999-01-15 00:26:24 +00:00
thorpej
d8f3aefec7 Use M_RAIDFRAME. 1999-01-14 22:49:05 +00:00
thorpej
71242ada70 Add M_RAIDFRAME. 1999-01-14 22:38:41 +00:00
oster
4128f9df1e Duh... check that malloc() hasn't returned a NULL *before* we zero the buffer,
not after. Pointed out by Michael Graff.
1999-01-14 20:29:38 +00:00
castor
a6f7b8ff0e Add defopt opt_mips_cache.h and allow 'clock' device to not require the mc6xx files 1999-01-14 18:51:31 +00:00
castor
a84ec5a3c1 * Create mips_reg_t data type to allow register size to be
decoupled from long or int or long long.  Define macros in asm.h to facilitate
  choosing these on a port by port basis.

* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size
  to be calculated at system build time.

* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae
  for the architecture.  For 64-bit oriented systems set the Status Register
  to allow 64-bit instructions.

* Remove UADDR related macros because kernel U structure is now mapped
  normally.
* Separate cpu.h into cpu.h and cpuarch.h to keep things neat.
* Add support for QED 52xx processors
1999-01-14 18:45:45 +00:00
jtk
77b1ebc172 fix gcc complaint about assignment in truth value 1999-01-14 15:00:38 +00:00
pk
0372e36e3f device_register: recognize lebuffer' and isp' as controllers. 1999-01-14 13:08:24 +00:00
drochner
5c38fcea53 map the new "reset emulator" function to CTL-ALT-Backspace
(what somehow matches the effect on X11)
1999-01-14 11:57:48 +00:00
drochner
d90442b612 add a "reset terminal emulator" command pseudo-keysym and call the
corresponding callback if one is hit
1999-01-14 11:44:54 +00:00
drochner
624d9f505f -actually reset the terminal emulator on close()
-add a callback to reset the terminal emulator by keyboard command
1999-01-14 11:40:58 +00:00
ross
5709f532d1 Random compile nits in BHADEBUG code. 1999-01-14 04:47:18 +00:00
cgd
ba831d2c43 update for present reality 1999-01-14 04:44:23 +00:00
cgd
f3c3f37dc8 update for ed split 1999-01-14 04:26:46 +00:00
thorpej
b29e386709 Domains are associated with protocol families, not address families. 1999-01-14 01:28:23 +00:00
thorpej
4b0e6bb4dc Domains are associated with protocol families, not address families. 1999-01-14 01:16:55 +00:00
thorpej
54cabada51 Garbage-collect some straggling netimp stuff. 1999-01-14 01:14:01 +00:00
sommerfe
465d57ee26 Commit fix from PR1623 1999-01-13 23:41:29 +00:00
sommerfe
114c430bbb Allow lkm's to include symbols for use by DDB. 1999-01-13 23:06:28 +00:00
thorpej
8f2d1414aa Pull in ip_ipip.c if ipip | mrouting, and use needs-flags instead of
needs-count.

XXX This generates an NMROUTING in ipip.h, too, but that's harmless.
1999-01-13 23:02:48 +00:00
thorpej
98d3903da8 Use the count supplied to the pseudo-device attach routine to dynamically
allocate (once) the ipip_softc array; don't assume NIPIP contains the count.
1999-01-13 23:01:20 +00:00
pk
de7b3f5492 Add `bus_space_subregion()' which was curiously missing. 1999-01-13 20:48:40 +00:00
pk
53c6ccd94d Add `eccmemctl' entry. 1999-01-13 20:35:30 +00:00
augustss
14dff70fa3 Fix transpostion in translation table for XT scan codes. 1999-01-13 18:38:26 +00:00
drochner
23cfea8327 -implement new wscons font handling with separate download and selection
calls
-support use of 2 fonts simultanously; this costs the ability to
"highlight", ie to use the upper 8 colours
-define screen types "80x25bf" and "80x50bf" which use this ability
-add conditional code to deal with the weird mapping of pcvt's
supplemental fonts
1999-01-13 16:48:58 +00:00
drochner
58095dfd3b change the way fonts are handled: now we have a display-global ioctl
to download fonts and a per-screen call to select a font
allows easier sharing of ressources in the display driver
change the parameters to the load_font driver vector to pass all
available font information
1999-01-13 16:21:02 +00:00
drochner
b50830062b export functions to reset the emulator and the character mappings 1999-01-13 15:38:30 +00:00
drochner
2bfadc6a8d add a hook for resetting the terminal emulator completely or partially 1999-01-13 15:30:59 +00:00
leo
7b74d44255 As Ignatios suggested:
Use CCB when dealing with a 68040 type MMU (for cache consistency).
1999-01-13 12:17:15 +00:00
christos
e79b8222a6 Put back modem control ioctl's 1999-01-13 11:55:20 +00:00
augustss
79f94410b1 Back out previous fix and apply the patch from Nick Hibma the right way. 1999-01-13 10:33:53 +00:00
itohy
cd16d23d21 Make it compile again.
Use err(3) functions.
KNF
1999-01-13 10:23:40 +00:00
augustss
8d6f121902 Fixes from Nick Hibma. 1999-01-13 10:08:59 +00:00
abs
1e21e1233b Change 'from from' to 'from' in some comments 1999-01-13 09:25:59 +00:00
tsubai
12d2afa11a Use KS_KEYCODE macro. 1999-01-13 08:13:41 +00:00
abs
4b0a936711 fix void arithmetic 1999-01-13 04:19:08 +00:00
wrstuden
872d72e705 In nullfs_mount, we need to check if error before VOP_UNLOCK(vp,0) as
vp is initialized iff error==0 in null_node_create.
1999-01-13 01:51:37 +00:00
augustss
d0a7575025 More things to do. 1999-01-12 22:07:45 +00:00
augustss
b8f2118f7c Fix Z axis buglet. 1999-01-12 22:06:48 +00:00
tsubai
3bc029b332 Add ``#include "akbd.h"''. 1999-01-12 15:12:44 +00:00
christos
b62b5bc092 Make this compile again with -DDEBUG 1999-01-12 12:49:53 +00:00
tsubai
5998caa414 Support irq > 31.
XXX dirty hack...
1999-01-12 12:06:46 +00:00
tsubai
c2bb308ef9 Use (fast!) dcbz asm instruction in pmap_zero_page(). 1999-01-12 11:03:04 +00:00
tsubai
bb426487a5 Move MSGBUFSIZE from machdep.c to param.h
Use the last page for msgbuf instead of fixed MSGBUFADDR.
1999-01-12 10:51:40 +00:00
tsubai
90a73bba2c Always use polling when poweroff/restart. 1999-01-12 10:38:00 +00:00
tsubai
4293e4ff3c Use the last available page(s) for msgbuf. 1999-01-12 10:26:18 +00:00
kleink
22fc60a59a Separate the userland and libsa errno declarations from <sys/errno.h> into
their canonical places.
1999-01-12 03:08:14 +00:00
kleink
a9b05361c1 Avoid arithmetic on void *. 1999-01-12 02:28:55 +00:00
kleink
4ff7b1f346 Add symbolic names for the sys_context() subcodes. 1999-01-12 02:09:18 +00:00
thorpej
0272b2ab8e Whole lotta cleanup wrt. how configuration data is stored internally, and
just lockmgr(), not our home-grown locking functions.
1999-01-12 00:21:47 +00:00
kleink
bb6c814341 If a null pointer argument is passed to setcontext(), exit the process; it
would appear that overloading the argument this way is used by SVR4 to `fall
off' the main context (uc_link being NULL) after a function set up using
makecontext() returns.
1999-01-12 00:16:40 +00:00
augustss
76b8bd8961 Add a (partial) list of what's left to do. 1999-01-11 22:46:51 +00:00
tron
edd69ba694 Because memory mapped access doesn't fail only with the docking station
for the TI TravelMate 5000 but also with at least one Compaq NIC we
prefer I/O mapped access again. Fixes PR kern/6690.
1999-01-11 22:45:41 +00:00
thorpej
555784ccd5 Fix byte order and ip_len inconsistencies in ICMP reply code. Also, fix
some formatting and HTONS(foo) vs. foo = htons(foo) inconsistencies.

PR #6602, Darren Reed.
1999-01-11 22:35:06 +00:00
kleink
657d577aeb Pull in <errno.h> instead of <sys/errno.h> for declaration of errno. 1999-01-11 22:21:30 +00:00
thorpej
67e9d2a3bf Fix a few glitches in the nwscons tga driver, PR #6655, Brett Slager. 1999-01-11 22:11:36 +00:00
thorpej
ae8a556ce5 Add missing XS_SELTIMEOUT case in user command completion path, returning
SCCMD_TIMEOUT.  Based on PR #6720, Andreas Wrede.
1999-01-11 22:07:08 +00:00
drochner
35eeb3f1cd remove dummy "load_font" entries 1999-01-11 21:54:22 +00:00
drochner
1eba733d91 remove dummy "load_font" entries 1999-01-11 21:35:54 +00:00
thorpej
e6d404b372 Add declarations for the `ipip' network pesudo-device, which implements
IP-in-IP tunnels.
1999-01-11 21:33:02 +00:00
thorpej
6ae68b4feb Pull the IP-in-IP tunneling support out of the GRE code. It's not handled
by a separate IP-IP input path.

XXX Should eventually do the same thing for IPPROTO_MOBILE.
1999-01-11 21:32:13 +00:00
thorpej
9508f259bf Adjust for the new IP-IP input path. mrt_ipip_input() is called from
ipip_input(), and returns non-zero if mrt_ipip_input() handled the
packet.

XXX Eventually, the multicast code should probably use regular IP-IP
XXX `interfaces', but mrouted knows about the VIF table, etc.
1999-01-11 21:31:03 +00:00
thorpej
9d996b9e4e Adjust for the new IP-IP input path. 1999-01-11 21:28:28 +00:00
thorpej
9f9be750f6 Separate out the IP-in-IP implementation from the GRE code. This cleans
up the interface to ip_mroute.c somewhat, and properly separates IP-IP
from GRE.  (They are similar, but they are different protocols, and should
not be implemented in the same place.)
1999-01-11 21:26:53 +00:00
thorpej
8406f65cbf Use a pool for pmap structures. 1999-01-11 20:58:46 +00:00
drochner
33b1cd5328 Oops, "square root" is Unicode 221a, not 211a! 1999-01-11 20:48:10 +00:00
drochner
2379551296 add 2bpp support, for sake of NeXT monochrome displays, from
matt debergalis <deberg@mit.edu> KB1CTH per PR kern/6741 and kern/6786,
minimally corrected
1999-01-11 11:08:14 +00:00
christos
e0c19ac888 We cannot relocate our interpreter (yet). 1999-01-11 11:02:50 +00:00
christos
e293d1bc34 Add ELF crap. 1999-01-11 11:02:16 +00:00
tsubai
c91ac313c1 Count clock interrupts. 1999-01-11 09:44:51 +00:00
tsubai
477add6bea Add irq32 - irq63 to intrnames. 1999-01-11 08:49:58 +00:00
eeh
39553be254 Finally fixed 64-bit signal trampoline. 1999-01-11 06:43:51 +00:00
eeh
1609884456 Handle the symbol table properly in a 32-bit kernel that was booted from a
64-bit bootloader.
1999-01-10 23:35:08 +00:00
eeh
9c06e4a454 Need to put IGN in SBUS slot interrupt vectors as well. (From Kapil Chowksey) 1999-01-10 23:32:57 +00:00
scottr
c6be16c55a Parenthesize a few expressions uncovered by -Wpointer-arith. 1999-01-10 22:52:55 +00:00
nathanw
d2f4d39a08 wskbd, not wskbs. 1999-01-10 22:51:46 +00:00
augustss
5c5590465e Avoid `void *' arithmetic. Fixes PR 6783. 1999-01-10 21:57:19 +00:00
tron
3fbb44a7bb Make MTIOCRDSPOS, MTIOCSLOCATE, etc. work with write protected tapes.
Patch supplied by Dave Huang in PR kern/5305.
1999-01-10 21:46:39 +00:00
eeh
b5932bbc0a Support little-endian bus mappings. 1999-01-10 19:37:47 +00:00
is
4d5a26ba82 Make this compile again. 1.5 was committed from the wrong directory.
We apologize for any inconvenience caused.
1999-01-10 19:19:57 +00:00
augustss
f963dc8ddb Some minor updates from FreeBSD. 1999-01-10 19:13:15 +00:00
augustss
af7f630631 Some patches from FreeBSD. 1999-01-10 18:42:10 +00:00
augustss
ebd59cb48c Make sure to check the modifier map for the windows keys. 1999-01-10 18:36:57 +00:00
augustss
c437dc4229 Remove redundant test if the unit numbers is in range. 1999-01-10 18:22:14 +00:00
augustss
d47a7fb7e0 Rename the "windows" keys and add the new keys to the keyboard maps. 1999-01-10 16:56:35 +00:00
augustss
17570494a7 Add back a line that was lost somehow. 1999-01-10 16:38:54 +00:00
tron
f7f56f986f Revert last changes:
Because "linux_ipccall.h" cannot be included before "sys/shm.h" and
"sys/shm.h" needs to be included after "opt_sysv.h" include "opt_sysv.h"
in "linux_ipccall.c" again.
1999-01-10 15:05:36 +00:00
mrg
7054d69a2a KNF nits i have sat on for too long. 1999-01-10 15:01:32 +00:00
mrg
17823d385b KNF nits i have sat on for too long. 1999-01-10 14:41:45 +00:00
drochner
9b1eddc4f1 - Set up the interface watchdog timer on sends. This fixes the hangups
reported by Matthias Scheler <tron@lyssa.owl.de> in PR kern/6772.
- After receiving, check whether the receive DMA pointer became 0
  what obviously happens if the list runs out of entries. Simply reinit
  in this case. This fixes receive lockups after DDB use observed
  by myself.
  Unstall the receive engine if the ELINK_UPPKTSTATUS indicates that it
  was stalled. (Don't know when this might happen. FreeBSD does so.)
1999-01-10 14:19:46 +00:00
mrg
d1f3239be8 bump size of miniroot 1999-01-10 13:40:30 +00:00
tron
560ed63047 Don't use void pointer for arithmetic. 1999-01-10 13:35:39 +00:00
tron
738cd778b3 Don't use void pointer for arithmetic. 1999-01-10 13:24:11 +00:00
tron
72a366c304 Don't use void pointer for arithmetic. 1999-01-10 13:22:05 +00:00
augustss
851c51418d Add definitions for Pause and Print_Screen keys.
(Why were these keys missing?  Or am I missing something obvious here?)
1999-01-10 13:20:41 +00:00
drochner
a15a03eff2 Since ukbd has an own map, this file is not needed anymore. 1999-01-10 13:20:21 +00:00
tron
a2885c9c15 Don't use void pointer for arithmetic. 1999-01-10 13:17:01 +00:00
augustss
fe099e481b Add definitions for left and right "Windows" keys and menu key. 1999-01-10 13:14:42 +00:00
augustss
3fb390a04f Fix buglets in translation to raw scancodes. 1999-01-10 13:11:25 +00:00
tron
386665b0cb Don't use void pointer for arithmetic. 1999-01-10 12:56:25 +00:00
tron
4920c92937 Don't use void pointer for arithmetic. 1999-01-10 12:37:17 +00:00
augustss
07e0165b97 Update/add URLs to relevant USB specs. 1999-01-10 11:13:36 +00:00
augustss
9e121cf158 Add ukbdmap.c. 1999-01-10 11:09:02 +00:00
tsubai
8190b5f43f Add sanity checks in akbd_cnattach(). 1999-01-10 10:39:13 +00:00
tsubai
ae67dbc85d Fix void * arithmetic. 1999-01-10 10:24:16 +00:00
augustss
ddb8209b40 XXX Add a disgusting hack to make the CS sound chips work in PnP mode.
XXX Read about it in isapnp.c.
1999-01-10 10:23:24 +00:00