Commit Graph

22432 Commits

Author SHA1 Message Date
mark 27af7137f4 Overhaulled cpu_reboot(). Junked all the boot action garbage and just use
howto to dictate what operations to perform.
Removed support for calling the deprecated kshell stuff.
1998-04-02 02:01:13 +00:00
mark ac4c80ec10 Include machine/asm.h and use the ENTRY() macro for all function entry
points.
1998-04-01 23:14:21 +00:00
mark 90a05fec98 Tidied up various comments. Use the function entry macros from asm.h for
all entry points and don't bother profiling cpu_reset().
Flush the I and D TLB's after turning the MMU and cache off in cpu_reset().
1998-04-01 23:12:32 +00:00
mark b2286e384a Include machine/asm.h and use the macros from there for declaring
the function entry points.
Removed some redundant .req statements.
1998-04-01 23:09:06 +00:00
mark a877b68db5 Don't include sys/device.h here. 1998-04-01 23:05:28 +00:00
mark f0393b3819 Remove a chunk of dead comments as they appears in disassem.c where
they make a lot more sense.
1998-04-01 23:04:16 +00:00
mark 4a96466f61 Remove redundant .req assembler statements. 1998-04-01 23:02:32 +00:00
mark eb81ac0bbc Remove a load of redundant .req statements. 1998-04-01 23:00:13 +00:00
mark ae5c857ba4 Remove redundant .req statements.
Make various entry points non-profiling.
1998-04-01 22:59:25 +00:00
mark fd18f1a45b Remove some redundant .req statements. 1998-04-01 22:55:45 +00:00
mark 077c15ab4d Remove some redundant .req statements.
Make various entry points non-profiling.
1998-04-01 22:55:05 +00:00
mark 268d889d0d Make the floppy_read_fiq and floppy_write_fiq entry points non-profiling. 1998-04-01 22:53:32 +00:00
mark 7f98e08105 Remove some redundant .req statements. 1998-04-01 22:52:24 +00:00
mark f4c5b8f91a Define profiling and non-profiling versions of the ENTRY and ASENTRY
macros. No extra profiling code is generated if profiling is turned
on yet, but get the structure ready. (from cgd).
1998-04-01 22:50:22 +00:00
thorpej f9463514bf Implement Congestion Window Monitoring as described in the TCPIMPL
meeting of IETF #41 by Amy Hughes <ahughes@isi.edu>, and in an upcoming
internet draft from Hughes, Touch, and Heidemann.

CWM eliminates line-rate bursts after idle periods by counting pending
(unacknowledged) packets and limiting the congestion window to the
initial congestion window plus the pending packet count.  This has the
effect of allowing us to use the window as long as we continue to transmit,
but as soon as we stop transmitting, we go back to a slow-start (also known
as `use it or lose it').

This is not enabled by default.  You can enable this behavior by patching
the "tcp_cwm" global (set it to non-zero) or by building a kernel with the
TCP_CWM option.
1998-04-01 22:15:52 +00:00
tv 39b4c2fece mmap() default MAP_SHARED/MAP_PRIVATE is ``DEBUG'', not ``DIAGNOSTIC'' 1998-04-01 21:43:52 +00:00
pk 437796f42a Move initialization of `proc0.p_addr' from cpu_startup() to bootstrap(). 1998-04-01 14:03:26 +00:00
thorpej 1b176d9395 Back out a change made some time ago, that would cause the NetBSD TCP
to ACK immediately any packet that arrived with PSH set.  This breaks
delayed ACKs in a few specific common cases that delayed ACKs were
supposed to help, and ends up not making much (if any) difference in
the case where where this ACK-on-PSH change was supposed to help.

Per discussion with several members of the TCPIMPL and TCPSAT IETF
working groups.
1998-03-31 23:44:09 +00:00
thorpej 2da6c91259 Fix a potential-congestion case in the larger initial congestion window
code, as clarified in the TCPIMPL WG meeting at IETF #41: If the SYN
(active open) or SYN,ACK (passive open) was retransmitted, the initial
congestion window for the first slow start of that connection must be
one segment.
1998-03-31 22:49:09 +00:00
ender 84ada512a7 Add the newly created bus_space.c so it gets compiled. 1998-03-31 22:09:28 +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
jonathan d850158a7e Garbage-collect pmax_boardtype. Remoe pmaxtype.h includes from TC
framebuffer code. Elsewhere, use systype.
1998-03-31 11:32:52 +00:00
jonathan e485e43d44 Add writebuffer-flush for Decstation 5400, 5100 which use
coprocessor 3 for writebuffer control.
1998-03-31 11:04:10 +00:00
jonathan 88d943c976 Add emtpy entries for unused systypes between 5400 (0x6) and 5500 (0xb) 1998-03-31 11:00:01 +00:00
kleink b80d5a851b Rearrange the conditions checked regarding the inclusions for <sys/types.h>
and <sys/ttydefaults.h>.  Actually, one might argue about the inclusion of the
former, since the X/Open synopsis of tcgetsid() states that <termios.h> is
the only header file required, but the <termios.h> definition neither mandates
the definition of pid_t nor permits the inclusion of <sys/types.h>.
1998-03-31 10:05:59 +00:00
drochner e9ca6a9081 Remove conditionals on PCVT_{NET,FREE}BSD to make the source easier to
read.
1998-03-31 08:22:13 +00:00
thorpej 7e74fb627d Allow this to work w/ UVM (API issue). 1998-03-31 08:18:33 +00:00
thorpej 8c33969680 Fix PR # kern/68 by ensuring that a PC has a valid mapping before attempting
to disassemble it.
1998-03-31 08:16:28 +00:00
thorpej 5c85ae8778 Don't establish the interrupt handler just to read the MAC address. 1998-03-31 08:13:34 +00:00
mycroft 4fe1e7a83d Make main() return int to shut up egcs. (Yuck.) 1998-03-31 05:29:21 +00:00
chuck 9eb2927bec free correct page in incomplete section of MNN, as pointed
out by Soren S. Jorvang.
1998-03-31 03:04:59 +00:00
matthias 28b0f7408b Make this compile again after the changes to the tty subsystem. 1998-03-30 20:10:26 +00:00
mhitch 57f61ecbbd Modify TK50 check to also check for a TZ30 tape, and adjust the modesense
data length accordingly.
1998-03-30 19:50:47 +00:00
cgd 05bb5a1d2f revert back to 1.28 1998-03-30 17:52:03 +00:00
chuck fe4846acdc have ddb show map print resident page count 1998-03-30 17:34:58 +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
jonathan ba4e7c74a9 Remove ancient non-MI pmax/tc/tc.c code. 1998-03-30 10:41:34 +00:00
hannken b70a7e1752 Didn't compile: add variable `bit' removed by mycroft. 1998-03-30 10:35:03 +00:00
jonathan 2f23758d46 garbage-collect "extern int systype" 1998-03-30 09:52:11 +00:00
jonathan 9d3e5cca36 garbage-collect old integrated frontend from sii backend. 1998-03-30 09:47:51 +00:00
jonathan 05bfc158d1 Undo previous rev; systype is declared extern in pmaxtype.h (while it lasts). 1998-03-30 09:44:03 +00:00
jonathan fff42c01c8 Define IPL_ constants for pmax. 1998-03-30 09:07:08 +00:00
jonathan 920f9e8dc9 Declarations for shared 3max(kn02)/3maxplus(kn03/kn05) memory
subsystem and NVRAM code.
1998-03-30 09:02:03 +00:00
jonathan e7e94824b9 Move sprintf() of model string after call to model-specific *_os_init()
routine, so that cpu_mhz is set.
1998-03-30 06:45:37 +00:00
mycroft 0652b9af01 Mark scheduler() and uvm_scheduler() as never returning. 1998-03-30 06:24:42 +00:00
mycroft ca63148e3d Oops; forgot to update prototype. 1998-03-30 06:18:05 +00:00
mycroft f1ed6cae04 Argument to main() is no longer used. 1998-03-30 06:15:44 +00:00
mycroft 1a36e9e970 Add explicit int types for egcs. 1998-03-30 06:07:40 +00:00
mycroft 1fc84bbd8d Add explicit int types for egcs, and nuke register. 1998-03-30 06:05:39 +00:00
mycroft 450748892d Make the previous slightly less nasty. 1998-03-30 06:04:29 +00:00
mycroft 38008a99e3 Add explicit int types for egcs, and nuke register. 1998-03-30 06:02:13 +00:00
mrg ca86fc945e <pmax/pmax/trap.h> has been obsoleted... 1998-03-30 04:45:50 +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
jonathan b800227f95 Garbage-collect old code for direct attachment. 1998-03-30 02:34:25 +00:00
mrg af54a244f4 add missing int to typedef 1998-03-30 02:32:38 +00:00
jonathan e7312dce1d * Mouse reset blocks waiting for response for mouse.
Only initialize the mouse if we are using rcons as the console device.
1998-03-30 02:15:37 +00:00
mycroft 692fe3cc96 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 23:14:14 +00:00
mycroft 5d8b98c7b1 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 23:02:27 +00:00
scottr 81a5bfdf33 Change from IP-Filter 3.2.3: avoid infinite loop in nat_new() when
NAT'ing to a single IP address.
1998-03-29 22:56:00 +00:00
mycroft 8f597a8744 Oops; make the table const. 1998-03-29 22:36:42 +00:00
mycroft a6b8b01d96 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 22:34:27 +00:00
mycroft a3b1c4c87a Optimize the address CRC routines a bit. 1998-03-29 22:21:12 +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
mycroft fe7f32954b Optimize the address CRC routines a bit. 1998-03-29 22:08:03 +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
tron 8295d8475b writedisklabel() always used the offset of the first partition in the MBR
to address the disklabel even if NetBSD resides on another partition.
1998-03-29 21:30:20 +00:00
enami 5c8a9ac444 Attach aic at isapnp. 1998-03-29 08:13:43 +00:00
enami 5124116592 ISAPnP attachment for aic6360 (tested with AHA-1520B). 1998-03-29 08:11:50 +00:00
mrg f0fc5e8ca7 remove register from decl. 1998-03-29 05:19:43 +00:00
mrg 02c05e3fd8 add forward decl for union nethostaddr. 1998-03-29 05:13:00 +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
scottr 8e25cfb973 Better integration of Power Manager IC ADB driver into the direct ADB driver framework,
from Takashi Hamada.  Also includes a handler for unsolicited ADB
packets.
1998-03-29 03:50:30 +00:00
jonathan 0e0d7a04aa Split 3max (kn02) and 3maxplus (kn03, kn05) memory-error handling out
dec_3max.c into a shared file. These models have compatible memory
subsystems, the same memory slots, and (apparently) the same error reporting.

Add markers for where MNN probes for configurations with a mixture of
RAM sizes and for Prestoserve NVRAM (in normal RAM slots) should go.
1998-03-29 01:12:14 +00:00
thorpej 3ef999a19b Make sure all LKMs get built with -DUVM and -DPMAP_NEW if so configured
in mk.conf.
1998-03-28 23:58:44 +00:00
thorpej f1821c7811 Adjust for recent ttyopen() and dialout device changes. 1998-03-28 23:49:06 +00:00
christos e0436952f0 Split out the verbose printing of scsi messages, so that user programs
can use the printing routines.
1998-03-28 21:57:08 +00:00
thorpej 0ce9e8b825 We don't have software-only maps, so a NULL pmap_t will never be passed
to pmap functions.
1998-03-28 19:53:42 +00:00
pk 2a65520c69 bus_space_probe() prototype. 1998-03-28 19:45:29 +00:00
thorpej cbc72091e5 Remove a comment that is not applicable in NetBSD - we don't have
software-only maps.
1998-03-28 19:44:49 +00:00
pk 89444e9309 Implement generic bus probe function. 1998-03-28 19:44:08 +00:00
thorpej d725b1a332 Remove a comment in tcp_mss_to_advertise() that no longer applies. 1998-03-28 19:39:57 +00:00
kleink 6618749e5a Per XPG, if the file descriptor argument to mmap() refers to a file whose
type is not supported (neither VREG nor VCHR, or not a vnode at all), fail
with ENODEV instead of EINVAL.
1998-03-28 16:58:04 +00:00
thorpej ce4810822b Add autoconfiguration support for the Cypress 82C693 PCI-ISA bridge,
found on AlphaPC164SX boards.

Partially from Anders Magnusson <ragge@ludd.luth.se>.
1998-03-28 06:58:43 +00:00
thorpej 686a1a1177 Regen. 1998-03-28 06:39:13 +00:00
thorpej 515d7f04bf Add the Contaq/Cypress 82C693 PCI-ISA bridge. 1998-03-28 06:38:46 +00:00
cgd 2f8f14b311 check vendor against PCI_VENDOR_INVALID instead of 0xffff.
Suggested by Soren S. Jorvang.
1998-03-28 02:24:04 +00:00
cgd 7fa109343c cope with name fixup in pcidevs 1998-03-28 02:12:02 +00:00
cgd 6108f60999 regen 1998-03-28 02:10:40 +00:00
cgd 3371d8f00f fix bogus produce name tags for 82371FB_ISA and 82371FB_IDE (were 82471FB_*).
Pointed out by Soren S. Jorvang.  Rename "BAD" vendor id to "INVALID".
1998-03-28 02:09:29 +00:00
thorpej dd03631f2f User land might need `enum uio_seg' and `struct uio', too. 1998-03-28 01:15:23 +00:00
cgd c0ac8bae67 GC alpha's ECOFF_TOOLCHAIN make variable, and related bits. Nobody
should be using an ECOFF toolchain on NetBSD/alpha any more.
1998-03-28 00:50:41 +00:00
thorpej 4893f22399 Much more sane boot block builds, from Chris Demetriou. 1998-03-28 00:21:35 +00:00
mark 66477b8680 Only call dosoftints() from splx if there is a soft interrupt actually
pending. This save us doing a function call and a bunch of instructions
for every splx() call. (Patch from cgd).
1998-03-28 00:14:51 +00:00
mark b6fa862ee6 Remove un-necessary prototype of set_boot_devs() (from cgd). 1998-03-28 00:06:03 +00:00
mark fcade25040 Make physlock global rather than a static local to mmrw() (from cgd). 1998-03-28 00:04:46 +00:00
cgd 56eaa22285 kill some unused variables that i missed in my last checkin 1998-03-27 23:39:57 +00:00
cgd 9264961c87 add a short delay (5ms) after ATAPI software reset is done, suggested by
Soren S. Jorvang <soren@t.dk>.  Apparently some devices Really Want this.
1998-03-27 19:32:15 +00:00
cgd db74b327b9 fix a few bogus pointer checks (was checking pointers which would
never be against NULL, instead of checking the correct pointer against
NULL).  Pointed out (with diff) to Mark Brinicombe on March 17, no reply.
1998-03-27 19:28:52 +00:00
thorpej a95651eaea Add a PMAP_KERNEL_PTE() macro that returns the PTE for a given KVA. If
DEBUG, this performs a table walk.  Othwise, the Virtual Page Table is
used.  Use this macro in a few places where this was done by-hand.

Make vtophys() use PMAP_KERNEL_PTE().  In non-DEBUG cases, this is
a fair bit faster.
1998-03-27 19:18:04 +00:00
drochner 46f85eeab2 let all 8 bits go through 1998-03-27 18:26:22 +00:00
drochner cbff98f7ff fix max() vs min() confusion at 2 places 1998-03-27 18:22:36 +00:00
scottr e3e82a2bd2 Move bus_space implementation to bus_space.c. 1998-03-27 18:11:31 +00:00
kleink 3a88962e8e Name space cleanup: protect UIO_READ and UIO_WRITE against _XOPEN_SOURCE,
and extend _KERNEL protection to cover UIO_USERSPACE and UIO_SYSSPACE.
1998-03-27 15:14:37 +00:00
kleink 5d9a1f3207 Regen: syscalls.master changed. 1998-03-27 13:09:52 +00:00
kleink 3a1500efe9 Per X/Open CAE Spec Issue 5 Version 2, change the buffer size argument of
readlink() from type `int' to type `size_t'.  This isn't an ABI change, since
the calling convention of our only LP64 platform (the Alpha) already promotes
this argument to a `long'.

This may not be the final action on this matter; readlink() still returns
an `int', which may change in a future revision of the standard.
1998-03-27 13:02:20 +00:00
scottr a1c2154bd6 Add (commented out) ALTXBUTTONS option. 1998-03-27 06:12:32 +00:00
scottr 57191652f3 Don't map Opt-{1,2,3} to mouse buttons unless the ALTXBUTTONS option is
specified.  (Doing so breaks German keyboards!)  Fixes PR 4929.
1998-03-27 06:10:54 +00:00
cgd 066f971d37 copy from libc:
limits.h if user-land, machine/limits.h if kernel or standalone
1998-03-27 05:35:47 +00:00
thorpej b436157e65 Make proc0 use the statically-allocate vmspace0 again, and make it use
the kernel's pmap, since proc0 (and other that share its address space)
are kernel-only processes, and should never contain userspace mappings.

This makes it easier to detect errors, like entering user mappings
for kernel processes, in pmap modules, and makes some sense, considering
that kernel processes are really just "thread contexts" for the kernel.
1998-03-27 01:52:01 +00:00
thorpej b65c510879 Split uvmspace_alloc() into uvmspace_alloc() and uvmspace_init(). The latter
can be used for initializing a pre-allocated vmspace.
1998-03-27 01:47:06 +00:00
thorpej 6e89972d82 Split vmspace_alloc() into vmspace_alloc() and vmspace_init(). The latter
can be used for initializing a pre-allocated vmspace.
1998-03-27 01:46:20 +00:00
cgd b3d285e625 add -nostdinc to CPPFLAGS, so that /usr/include won't be used 1998-03-27 01:32:53 +00:00
cgd 33b3e7101b sync with libc 1998-03-27 01:29:58 +00:00
ross 2ce8cda3e5 Get rid of a /* in a comment. 1998-03-27 01:17:18 +00:00
cgd da6ee39cde copy from src/lib/libz:
if _STANDALONE or _KERNEL, don't include standard headers and pull
in libkern.h instead.  (That doesn't even appear to be necessary,
but it's the 'standard' thing to do.)
1998-03-27 01:11:07 +00:00
thorpej b1e15c2005 Add some robustness to pmap_alloc_physpage(): Instead of panic'ing if
we can't get a page, find an inactive pmap and pmap_collect() it,
freeing up a few pages.  Go ahead and die if we can't allocate a page
after 5 tries.
1998-03-27 00:52:43 +00:00
sakamoto 2467110095 Change commented out default baudrate(38400 to 9600) of serial console. 1998-03-27 00:11:07 +00:00
sakamoto 94a783a350 allow use of new wscons code. 1998-03-27 00:07:53 +00:00
sakamoto f9133e686e Change default console. pc -> wscons 1998-03-26 23:51:08 +00:00
sakamoto 6143f6a20e Allow to use the new VGA and keyboard controller drivers as console 1998-03-26 23:45:59 +00:00
sakamoto a46fb646ee add entries for the new wscons stuff 1998-03-26 23:43:43 +00:00
sakamoto a81efa33bc tell drivers that this port knows about the new wscons code
(and generates the NWSCONS etc include files)
1998-03-26 23:42:53 +00:00
sakamoto 3334a0d040 Add bus_space_copy_region_N(). 1998-03-26 23:41:51 +00:00
thorpej b86884a71a Give pmap_collect() some substance: when called, a process is being
swapped out, so remove all of the physical mappings the process has
in order to free up the page table pages.

Since the pmap module is allowed to "forget" mappings, pmap_collect()
may be called in other situations where the memory situation is desperate,
although it's more likely that the pages will simply be needed again the
next time a process runs.
1998-03-26 22:18:36 +00:00
chuck db81cc9c76 update per-process rusage fault counters (ru_majflt/ru_minflt) under UVM 1998-03-26 21:50:14 +00:00
chuck 3d3a01805a correctly count ru_majflt. the fix pulled in from pr#1397 is incorrect.
calling vm_pager_get() doesn't count as a "majflt" unless the pager
returns VM_PAGER_OK.  when walking an object chain we can get VM_PAGER_FAIL
(indicating that the requested data does not reside in this object
and we must continue to walk the chain) -- we don't want to count this
as a majflt.

i also added code to count ru_minflt.
1998-03-26 21:41:16 +00:00
mark 653457f11b Remove the variable oldtm from diagnostic printf() statement as this
variable no longer exists.
1998-03-26 21:27:12 +00:00
mark 35dc347724 Bring this more up to date. 1998-03-26 20:43:02 +00:00
mark 8003976152 The ehbug option is dead now the etherH driver has been replaced with
an NE2000 attachment.
1998-03-26 20:42:34 +00:00
mark cd0f9898b5 Fix problems with microsecond timestamping in microtime().
Remove some old dead code.
1998-03-26 20:07:18 +00:00
mark 26634e5f83 Cleaned up the IOMD access macros. 1998-03-26 20:05:49 +00:00
mark 6fa49296d7 Include machine/asm.h. Removed un-necessary .req directives. Use the
ENTRY() macro for declaring function entry points.
1998-03-26 20:05:13 +00:00
mark c6b5400405 Add a couple of missing brackets in the arm_byte_to_page and
arm_page_to_byte macros.
1998-03-26 19:57:13 +00:00
mark 47ec7dab23 This file is no longer included by anything and is out of date. All
podule definitions can be found in the podulebus subdirectory.
1998-03-26 19:55:53 +00:00
chuck 5f8c3edfed add pmap_dump as a DEBUG function 1998-03-26 19:49:51 +00:00
thorpej 531db9e0d3 Sanity check the virtual addresses in the kernel and non-kernel cases
of pmap_enter() (and pmap_kenter_*()).  Remove diagnostic check for
kernel pmap in pmap_alloc_asn().
1998-03-26 19:06:28 +00:00
thorpej 040f7cbc70 Remove references to pmap.old.h - It should have just been pmap.h, but
that isn't necessary, either, since <vm/vm.h> is already included.
1998-03-26 18:17:13 +00:00
pk f3d6050987 Typo in initial interrupt register mapping code. 1998-03-26 16:11:40 +00:00
tsubai 3ff4af3e9e Add MIPS_INT_MASK_FPU definition and remove unnecessary code. 1998-03-26 13:15:01 +00:00
jonathan 6b2d0fa8a0 * Create /sys/arch/mips/include/intr.h, with extern declaration of
interrupt-callout vector from mips locore dispatch code to port code.
* Move branch-emulation declaration to mips/include/trap.h.
* Garbage-collect pmax/pmax/trap.h.
  Not needed now pmax/pmax_trap.c is gone, and after above tidy-up.
1998-03-26 12:46:33 +00:00
jonathan 01be9f533f Add extern declaration of old "systype" global variable holding model type,
until all pmax code uses platform support.
1998-03-26 11:44:28 +00:00
jonathan 4d3f17a9f7 Garbage-collect oldstyle model-select options from GENERIC. 1998-03-26 11:35:42 +00:00
jonathan 9376fa1a1b Commit MIPS_INT_MASK_FPU change: use MD symbol to check for pending FPU
interrupts.
1998-03-26 09:21:05 +00:00
thorpej dd3d062237 Delete a couple of gratuitous printfs. 1998-03-26 06:36:36 +00:00
thorpej 8a86fd47be It's Just Wrong to configure a KN02 system slot as an IOCTL ASIC, but
since it's currently done that way, nuke the gratuitous printf that
reports the behavior.
1998-03-26 06:35:27 +00:00
thorpej 38d5126caf Set cpu_model in the dec_foo_init() functions, make them consistent and
descriptive, and print the model before reporting physical memory size.
1998-03-26 06:32:37 +00:00
thorpej b6fca1a9c8 The line between "family" and "model" are ... very fuzzy on the DECstation.
So, don't bother.
1998-03-26 06:27:57 +00:00
scottr 5fa1b5f440 Add Performa 580/588 to the list of machines which have a Cuda chip.
XXX - we should really be using machine ID symbolic constants here, not
numbers.
1998-03-26 06:25:49 +00:00
thorpej d654444e88 Right now all platforms use the tc_slot_info[] stuff, so put it in a place
where everyone can get at it.
1998-03-26 03:12:05 +00:00
thorpej c4ba627afc Kernel config file for bishop.nas.nasa.gov and ripley.nas.nasa.gov,
AlphaStation 500 and AlphaStation 600, respectively.
1998-03-26 03:00:36 +00:00
thorpej 9234f2450b Enable DDB history, netbsd.gdb. 1998-03-26 02:58:48 +00:00
thorpej 6111783e61 if NEW_SCC_DRIVER, 3000/300 and 3000/500 aren't PROM console candidates. 1998-03-26 02:53:21 +00:00
thorpej a9e071bef5 defopt NEW_SCC_DRIVER 1998-03-26 02:52:43 +00:00
thorpej 1282aca230 Add options UVM, PMAP_NEW, and NEW_SCC_DRIVER. 1998-03-26 02:51:46 +00:00
thorpej 73f1a02583 If NEW_SCC_DRIVER is defined, the 3000/300 and 3000/500 are not
PROM console candidates.
1998-03-26 02:45:34 +00:00
jonathan 35205d76c6 Define TIOCDCDTIMESTAMP for NTP pulse-per-second (PPS) sampling on
carrier-detect transitions, as described in the xntp documentation.
Use the same value as FreeBSD (88) for binary compatibility.
Should be implemented in lowest-level interrupt handler of serial drivers.
1998-03-26 02:45:01 +00:00
thorpej 7b4da708cc Add support for attaching a zstty as the console, conditional on
NEW_SCC_DRIVER.
1998-03-26 02:43:22 +00:00
thorpej 4a4bccc923 Remove references to NEW_PMAP. 1998-03-26 02:21:46 +00:00
thorpej 76ba34c797 Remove references to "new_pmap". 1998-03-26 02:19:02 +00:00
thorpej 456b3df281 Remove the Mach 3 pmap from the tree, replacing it with the contents of
pmap.old.<whatever>.  To see the history, look at the corresponding
pmap.old.<whatever> file.
1998-03-26 02:18:03 +00:00
thorpej 17513c206c make this compile 1998-03-26 01:09:04 +00:00
thorpej 60e832dc24 Make this compile. 1998-03-26 01:01:13 +00:00
thorpej b9db388b0f don't use variables declared _inside_ DEBUG in code _outside_ DEBUG 1998-03-26 00:49:03 +00:00
pk f658122053 Check for a valid PROM virtual address. 1998-03-25 23:15:07 +00:00
thorpej 3ac5a77c70 Make pmap_kremove() deal with mappings entered with pmap_enter() as well.
Prevents stale PV entries from lingering around.  Fixes a nagging
"kernel stack not valid halt" I was seeing with PMAP_NEW.

Idea from Chuck Cranor.
1998-03-25 22:52:28 +00:00
chuck 1c1186a3f2 the kernel remove function can encounter mappings that are on the
pvlists if they were entered by the fault routine.   in this case
we had better call pmap_remove to clear out the pventry structures.

appears to fix some pvlist releated panics people have seen with pmap.new.
1998-03-25 22:49:11 +00:00
is 6c7f702633 - remove one level of soft interupt in the software autorepeat code
- WOPEN -> wopen
1998-03-25 22:14:13 +00:00
mjacob db6aafad0b With new pmap stuff, the need for MSS3 goes away. 1998-03-25 18:33:41 +00:00
chuck a30817ebaa if installing page 2 as a PT page for first 4M (for BIOSCALL),
make sure we zero it first so that the PT is not filled
with random garbage
1998-03-25 16:30:43 +00:00
leo 0e4dce88d4 Conditionalize badblock handling on 'HAS_BAD144_HANDLING'. Some ports
(like atari) do not support it.
1998-03-25 09:58:24 +00:00
leo 64a1b54b39 Add a define 'HAS_BAD144_HANDLING' that can be used to conditionalize
the use of abdblock support functions. Also, while here, use a define
for NBT_BAD instead of the hardcoded 126....
1998-03-25 09:55:49 +00:00
leo e32073cbb1 Sync with latest tty changes. 1998-03-25 09:46:09 +00:00
jonathan b40a3c98f5 Use an MD name for the FPU-interrupt mask, as in PR # 4399.
mips-based Sony news wire the FPU to hard-interrupt 3, rather than 5
as recommended in Kane.
1998-03-25 08:35:39 +00:00
jonathan 5456233e69 Garbage-collect old warnings.
Cvs: ----------------------------------------------------------------------
1998-03-25 07:43:12 +00:00
jonathan 5aa93520b5 Pause after failing to find the same driver as the PROM. 1998-03-25 07:35:05 +00:00
jonathan a47a813037 Reinstate workaround for old PROM (3100) return values. 1998-03-25 07:30:28 +00:00
jonathan 5dbbcd7d4d Garbage-collect BRAINDAMAGEd code (see pr 4438).
Attachment of keyboards and mice needs more work.
1998-03-25 06:27:32 +00:00
jonathan 383ff0cb59 * Use new defopt model-specific options and opt files.
Replace all DS5000_* and DS3100 ifdefs with ifdefs on DEC_ options.
* Use MI declarations, not pmax-specific, in model-specific init
  that uses baseboard (ioasic) registers.
* Further cleanup of machdep.c.  Clock-tick still needs more thought.
* Use 'ibus' names for 3100 baseboard devices in MI code.
1998-03-25 06:22:19 +00:00
jonathan ee65226ab6 Declarations for shared 3min/maxine memory handler. 1998-03-25 06:04:31 +00:00
jonathan dace384659 Update config files after splitting model support. 1998-03-25 04:17:08 +00:00
mhitch 0fb478e609 Define ELF dynamic types for MIPS (some will be used by ld.elf_so). 1998-03-25 04:06:50 +00:00
jonathan 7c6a97f474 Update GENERIC and R4000 configs after splitting model-speciifc support. 1998-03-25 04:05:35 +00:00
jonathan 6975dc93a9 Split sys/arch/pmaxpmax/{machdep.c,trap.c} as suggested by Jason Thorpe:
* add "Platform" support inpmax/pmax/sysconf.c and pmax/include/sysconf.h
   (based on Alpha cpuconf.[ch], with a namechange to avoid clashes with
   support for  models of MIPS cpus. They  differ more than Alphas).

 * For each supported model of DECstation, create a separate file
   with the support for that model.  Use model codenames, since
   support is really baseboard-specific and CPU daugherboards can change.
   Move code from machdep.c and pmax_trap.c,
   Add sysconf (nee "cpuconf") support.

 * Rename model-specific functions to match sysconf names.

 * Clean up autoconf.c.  Use platform callbacks.

 * Retire pmax_trap.c.

Leaves  I/O bus configuration and console configuration untouched.
1998-03-25 03:57:53 +00:00
ross 3786a63843 1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.
1998-03-25 02:16:41 +00:00
thorpej 8fc4366b1d PAGE_SHIFT, PAGE_MASK, and PAGE_SIZE are all short-hand for kernel variables.
Protect them with _KERNEL.
1998-03-25 00:45:51 +00:00
thorpej e6cf334f5c Keep a few things that reference kernel variables out of the namespace.
Add a check to see if libkvm is using this file.
1998-03-25 00:44:34 +00:00
mjacob 57ca254137 some minor debug printout changes 1998-03-24 23:37:53 +00:00
cgd 4bbda026af The arm32 'char' is unsigned. Fix CHAR_MIN and CHAR_MAX to reflect that.
(they were incorrect, defined to be the values that they should have were
'char' signed.)
1998-03-24 23:13:28 +00:00
thorpej 49408401a3 In pmap_destroy_lev1map(), fix a problem where the pmap's ASN wouldn't
be invalidated if the pmap is not active.  A rare thing (in fact, I'm
having trouble thinking of a scenario where it would happen), but it was
incorrect, nonetheless.
1998-03-24 22:02:44 +00:00
mhitch 8adf8abfea Enable another error message before the driver reboots the machine. It was
not being printed if not compiled with DEBUG.  Now all situtiations where
the driver gives up should display a message before the reboot.
1998-03-24 20:49:22 +00:00
bouyer 3d92d64171 Add a missing ntohs. With this change I got ip over atm (vpi/vci) working
between 2 PCs.
1998-03-24 18:48:59 +00:00
fvdl 092f0654fe Re-instate call to "safe" disconnect function that got lost during the
Lite2 merge.
1998-03-24 13:49:21 +00:00
kleink 56ddd74138 register -> register int 1998-03-24 12:57:15 +00:00
frueauf 65b1639385 Make this compile again: PCKBDCF_PORT->PCKBCPORTCF_PORT. 1998-03-24 11:37:06 +00:00
pk ce14ebd2b7 Include not-cacheable bit in base bus space mmap function. 1998-03-24 10:00:14 +00:00
jonathan 6a3abc10f7 Create in rconsvar.h, with exported variables and RCONSDEV. 1998-03-24 09:51:23 +00:00
mycroft 487d1fa05e Fix typo in utime(). 1998-03-24 09:47:30 +00:00
jonathan 1c0730217a Rewrite pmax console-probing code from scratch
as pmax/dev/findcons.c:
 *  Follow the same logic: look for the device the PROM is using.
 *  If it's a framebuffer and we don't have a driver for it, try other
 *  framebuffers in PROM search order.
 *  If no match found, warn user and fall over to serial console.
 *  if no serial console found, go back to PROM.

Rework tc/scc.c attach routine to give cleaner initialization semantics.
Prune out old 'braindamage' code.
1998-03-24 08:39:02 +00:00
jonathan 3172e096d3 Move pmax PROM-console I/O callbacks out of pmax/pmax/cpu_cons.c
into pmax/dev/promio.c, with decls in promiovar.h.

Remove obsolete cpu_cons.c and old pmax console-probe code.
1998-03-24 08:31:34 +00:00
thorpej ea074f229a cdev_decl the "zs" device (which is really zstty). 1998-03-24 05:17:14 +00:00
thorpej 0105ff6f53 Update my DEC 3000/400 kernel config to reflect usage of the MI SCC driver.
Do not try this at home.  Caution: hot coffee is hot.
1998-03-24 05:16:30 +00:00
thorpej db00f6f709 Define attachments for the MI SCC driver - only hooks up to ioasic
for now.
1998-03-24 05:15:07 +00:00
thorpej a26a53fbbc Slight hack to allow the MI SCC driver to be used at cdev major 15
for testing purposes.  Normal kernels still get the Alpha-specific
SCC driver.
1998-03-24 05:13:59 +00:00
thorpej ee83014c4d Initial mostly-working ioasic attachment for the MI 8530 SCC driver. It is
enough to use as a console on my DEC 3000/400 (connected to a VT-520
terminal).

XXX The MI SCC driver needs serious changes to handle platforms which
have muliple SCC attachments (e.g. the Alpha port, which has an ioasic
attachment for TurboChannel systems and a gbus attachment for TurboLaser
systems).

XXX The MI SCC driver also needs changes to deal with the wacky (to put
it mildly) way the chips are wired up on the ioasic (on both TC Alphas
and DECstations).  These are going to come along later.
1998-03-24 05:12:00 +00:00
jonathan fd312c64ee Fix off-by-one botch in cdevsw entries which broke ipf, tun.
Rearrange to match existing MAKEDEV entries. Add lkm back in.
1998-03-24 04:17:58 +00:00
kml 96954c2a53 Ensure that we take the IP option length into account when we calculate
the effective maximum send size for TCP.  ip_optlen() and tcp_optlen()
should probably be inlined for efficiency.
1998-03-24 03:10:02 +00:00
jonathan 6d836436ac Commit snapshot of pmax console rework as basepoint for 1.3.2 pullup:
* Do rcons output properly, using cn_tab->cn_dev which points
   at rcons cdevsw entrypoints.

 * The pmadx console code was using keyboard (serial) device
   (major,minor) for raster consoles with special code in the keyboard
   drivers to catch output intended for consoles, pull it off the device
   queue, and print them via cnputc().
   Ifdef out  RCONS_BRAINDAMAGE.

* Other minor cleanup to pmax scc driver.
1998-03-24 00:23:55 +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
mark d968d727db Implement bus_space_read_multi_1() fucntion for podulebus. 1998-03-23 17:07:38 +00:00
msaitoh 47d94e4676 fix typo 1998-03-23 16:57:21 +00:00
enami 7972ef1160 Add missing comma. 1998-03-23 13:08:56 +00:00
mjacob 4ccb969d0b Okay, handle the ALLOCNOW case by doing the appropriate adjustments
up front. Do the spacing arithmetic slightly differently.
1998-03-23 07:51:25 +00:00
mjacob 8e5970917e Redo it slightly so that S/G now appears to work a bit better. This
version has 2GB direct map starting at 2GB, and either 256MB or 1GB
S/G starting at 1MB. I've done *some* testing on this, but I'm not
quite happy with it yet.
1998-03-23 07:42:40 +00:00
mjacob 88c34f6f5f Spaicing for 32 bit ptes (dwlpx only, really) is 0x20, not 1 1998-03-23 07:09:12 +00:00
mjacob 66194d05bc Do a more complete job of figuring out what kind of DWLP? we have- figure
out how much s/g ram is available. Can't really use the 128K entry S/G
ram yet- but I'll fix that later. More importantly, add in a dwlpx_iointr
handler that will try and figure out what the DWLPX error is and at
least print out what is happening- I actually found it useful in S/G
entry debugging as it could tell me that I had some bad S/G entries.
1998-03-23 06:38:10 +00:00
mjacob 51ba315ba2 Slightly restructure interrupt handling to accomodate the addition
of a dwlpx_iointr vector.
1998-03-23 06:32:39 +00:00
mjacob 7c83bc0da6 Prepare for handling multisized S/G maps. Specify dwlpx_iointr function. 1998-03-23 06:31:54 +00:00
fair 782eb42847 add the ability to run SLIP with CLOCAL set, per PR#3586 1998-03-23 04:41:16 +00:00
augustss dbef68a11b Update for __BROKEN_INDIRECT_CONFIG. Still untested since it is so hard
to find testers for these old cards.
1998-03-23 01:00:21 +00:00
thorpej afe0f98a85 Fix some obvious problems in my MIPS kcopy() implementation (a significant
typo, plus get delay slots right on the R3000).
1998-03-23 00:57:13 +00:00
scottr 82bda6ec9d The monitor sense code we have is not reliable on DAFB-based machines with
certain 17" monitors.  Change from Michael R. Zucca, PR 4988.

XXX - This can cause problems on system with the DAFB chip which currently
use only a NuBus-based video adapter.  In particular, grf devices may not be
attached properly in this case.  This unfortunate situation is less annoying
than not having a reasonable console, however.  A reasonable, reliable
monitor sense algorithm for the DAFB would resolve the problem.
1998-03-22 23:40:52 +00:00
scottr 15c668e600 Disable Valkyrie interrupts on the Quadra 630. Part of a change
from Michael R. Zucca, PR 4988.
1998-03-22 23:13:52 +00:00
is a798a71d08 MACHINE_NEW_NONCONTIG for NetBSD/Amiga. The older contiguous and
MACHINE_NONCONTIG stuff isn't supported anymore.
1998-03-22 23:12:49 +00:00
thorpej 7819cad7ec Implement pmap_deactivate() (a noop in this pmap) and clean up
pmap_activate() a little.
1998-03-22 23:12:15 +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
mjacob fc27ffd92c update some debugging stuff- also turn off possible ULTRA mode for 1020s 1998-03-22 22:02:29 +00:00
chuck e6da5a01e4 remove tmpwire arg from uvm_pagewire() -- it isn't needed anymore.
noted by chuck s.
1998-03-22 21:29:30 +00:00
pk 405ec57e9f Lift the tilde a bit. 1998-03-22 20:24:05 +00:00
mycroft ff0635ab25 Fix error in previous change. 1998-03-22 19:36:52 +00:00
mark 0c7f9767f4 Replace eh0 and em0 devices with ne* device. 1998-03-22 18:33:28 +00:00
mark f8fabd927a Use netslot_ea() function to obtain the machine ethernet address of the
netslot interface.
1998-03-22 18:30:04 +00:00
thorpej 272d8a4a38 Process 2 (the pagedaemon) always runs in kernel space, so share VM
space with proc0.
1998-03-22 18:22:07 +00:00
drochner db80fc3242 The "pckbd" attribute of pc/vt is now "pckbcport".
Use the real console driver name here to make more obvious where
pms and spkr attach to.
1998-03-22 18:18:45 +00:00
is 456d2a7c07 Add bus_space_subregion(). 1998-03-22 17:58:01 +00:00
drochner 4682d49cf1 tell drivers that this port knows about the new wscons code
(and generates the NWSCONS etc include files)
1998-03-22 17:53:23 +00:00
drochner f321f0c731 add entries for the new wscons stuff 1998-03-22 17:50:12 +00:00
drochner d4d8012d51 Export pcconskbd_cnattach() - it is used if pccons attaches to the MI
keyboard controller driver.
1998-03-22 17:49:00 +00:00
drochner c4a9c8a96e Allow to use pccons with the new MI keyboard controller driver.
This is more or less for testing (it doesn't contribute to the beauty
of the code).
1998-03-22 17:40:08 +00:00
is 6e806b8115 This is no longer DraCo-specific (and hasn't been for a long time). 1998-03-22 17:16:33 +00:00
drochner a773a26ab1 Allow to attach the mouse driver to the new MI keyboard controller driver.
This should allow to use old X servers which depend on the old mouse
interface to work in the future.
XXX There can be only one attachment - either to an old console driver
or to the new pckbc driver - be configured.
1998-03-22 16:48:51 +00:00
drochner e6244ecd3a allow use of new wscons code:
-rename the "pckbd" internal attribute to pckbcport, it conflicts with the
 real pckbd device in dev/pckbc
-add attachments of pccons and pms to the new mi keyboard controller
 driver (more or less for testing)
-include the new "files.wscons" and "files.pckbc"
-add declarations for VGA - must be done here for now to avoid conflicts
 with alpha's private VGA driver
1998-03-22 16:14:39 +00:00
chuck 617118bccc fix released pg bugs detected by Chuck S.:
- release the correct page (ppsp[lcv], not pg)
 - don't access the page's fields after we have released it
 - in the uvm_objct case: move on to the next page if we've released
[should have been merged in on 1998/02/12, but we somehow missed it]
1998-03-22 16:10:29 +00:00
drochner 528890f3ab Allow to use the new VGA and keyboard controller drivers as console:
-allow to bus_space_map() for the memory hole in early startup
-add calls to the new XXX_cnattach() functions to consinit()
-add a "pckbc_machdep_cnattach()" dispatch function to allow the
 combination of old console driver - new keyboard controller driver
1998-03-22 16:04:31 +00:00
drochner 3c346a45ca The keyboard controller's address range is 5 bytes long - reflect this
here.
1998-03-22 15:44:02 +00:00
drochner 2390332103 Devices attached to the PC keyboard controller (or its aux port),
for use with the new wscons code.
(keyboard map management will change)
1998-03-22 15:41:27 +00:00
drochner b5ec34f082 MI driver for the infamous PC keyboard controller, primarily for use with
the new wscons code (but may be interfaced with other drivers as well).
needs testing
1998-03-22 15:25:15 +00:00
drochner 013507e321 PCI frontend for sys/dev/ic/vga.c 1998-03-22 15:16:18 +00:00
drochner 065733619a ISA frontend for sys/dev/ic/vga.c 1998-03-22 15:14:35 +00:00
drochner 3a43fe7109 initial import of VGA driver backend for use with the new wscons code 1998-03-22 15:11:49 +00:00
drochner b31e63865f Initial import of cgd's new wscons code. 1998-03-22 14:24:02 +00:00
drochner 06471a2eed switch to non-BROKEN_INDIRECT_CONFIG 1998-03-22 12:52:03 +00:00
drochner 52c701add6 Make this file compile without BROKRN_INDIRECT_CONFIG.
(Brute force - device probe always returns 0. Should be fixed soon.)
1998-03-22 12:50:20 +00:00
drochner 5aaf839bc3 Make this file compile without BROKRN_INDIRECT_CONFIG.
(Brute force - device probe always returns 0. The driver is replaced
by if_ate, if_fmc and if_mbe and is here for reference only.)
1998-03-22 12:48:41 +00:00
jonathan 70f1f1a099 use dev/dec/lk201.h, fold back DELAY() changes from pmax lk201.c rev 1.7. 1998-03-22 09:37:47 +00:00
jonathan 9a8dbd75df Clone lk20.h (keycode definitions) to /sys/dev/dec.
Update source pmax files accordingly.
cvs remove old pmax/dev/lk201.h.
1998-03-22 09:27:07 +00:00
jonathan d3d99a28c9 Update #ifdef'ed-out changes from pmax :
* Add more #ifdef pmax/#endif, #ifdef alpha/#endif where appropriate.
    Config and heade files need more work (or replacement)
  change TK_NOTYET to HAVE_RCONS
  change commented-out /* && cn_tab.cn_screen */ to && raster_console()
  * Add DDB hooks.
  * Note where Alpha console ignores carrier on consoles.
  * Add pmax-derived console tty-size code inside HAVE_RCONS
  * Fold in gross pmax rcons-input hooks, inside HAVE_RCONS

Untested, but whitespace/ifdef only,  cross-compiles OK,
preprocessing shows no significat differences (famous last words)
1998-03-22 08:24:52 +00:00
jonathan e1cc91fde3 Elimiate whitespace KNF botches due to emacs/X cut-and-paste. 1998-03-22 07:56:28 +00:00
thorpej a5260cbda0 Use atomic set/clear bits in pmap_activate()/pmap_deactivate(). 1998-03-22 07:27:54 +00:00
thorpej fcfe2f1539 Implement a set of `atomic' (using load-locked and store-conditional)
operations.  Initial set includes:

alpha_atomic_setbits_q()	set bits in a quad
alpha_atomic_clearbits_q()	clear bits in a quad
1998-03-22 07:26:32 +00:00
jonathan 456c5d02c4 oops, forgot more whitespace changs and alpha_mb() -> tc_mb(). 1998-03-22 07:25:40 +00:00
jonathan 5cfab7fb5b Whitespace, cosmetic changes against alpha/tc/scc.c 1.40. 1998-03-22 07:15:20 +00:00
jonathan 6e3073d769 More tty dialin/dialout changes (t_wopen).
NB: dtop is a keyboard/mouse bus and doesn't support dialout.
1998-03-22 07:04:13 +00:00
mhitch a10657ae4f Set the PID before setting up the wired TLB entries for proc0. The
mips3_HitFlushDCache() fails with a TLB miss otherwise.
1998-03-22 06:31:40 +00:00
thorpej 9db8ae93c8 - The pmap now includes support for ASNs. We no longer need to flush
the TLB and I-cache in the SWITCH_CONTEXT macro.
- Right after switching to proc0's newly-created context at startup time,
  flush the TLB and I-cache; this is the only place where it's not done
  automatically.
- Fix a nasty bug in a critical section of cpu_switch(); change the
  pmap_activate -> SWITCH_CONTEXT -> pmap_deactivate sequence to
  pmap_deactivate -> pmap_activate -> SWITCH_CONTEXT.  This prevents
  erroneously marking a pmap inactive if switching to a process that
  shares it's address space (and thus its pmap) with the oldproc!  Noticed
  by Chris Demetriou.
1998-03-22 05:46:02 +00:00
thorpej c0cc1ed476 Implement support for Address Space Numbers, greatly reducing the number
of TLB and I-cache flushes, significantly speeding up context switches.

Once again, many thanks to Chris Demetriou and Ross Harvey for code
review and debugging assistance!
1998-03-22 05:41:37 +00:00
thorpej a8d86e5a7c Replace PMAP_ASNGEN_INVALID with PMAP_ASN_RESERVED. 1998-03-22 05:39:50 +00:00
enami a59689c939 Attach device `mbe' at bus `pcmcia'. 1998-03-22 04:39:56 +00:00
enami e26f2ce65b Define new device `ate' and `fmv'. 1998-03-22 04:38:42 +00:00
enami 399156859b Define new attribute `mb86960' and new device `mbe'. 1998-03-22 04:37:04 +00:00
enami c02747ba06 PCMCIA bus attachment for MB8696x based Ethernet card. 1998-03-22 04:32:27 +00:00
enami 2b5f7351d2 Split Fujitsu MB9696x based ethernet card driver into bus
dependent/independent code and bus.h'fied.
1998-03-22 04:25:36 +00:00
enami 1164bf0fb5 Define TPLFE_TYPE, which is sub code for CISTPL_FUNCE, for LAN card. 1998-03-22 04:07:43 +00:00
mycroft f6dba67570 Read up to 32 bytes. The ESCC *needs* 8, and it doesn't hurt to leave some
slop in case there are clone chips with a deeper FIFO.
1998-03-22 02:36:02 +00:00
mycroft 2bb5067e13 Move the code to wait for carrier on a tty into a common function, since it
depends only on device-independent state bits.
Implement SunOS-style `dialout' devices.
1998-03-22 00:55:37 +00:00
mjacob 86b6520e41 more TS_WOPEN to tp->t_wopen changes 1998-03-21 23:36:19 +00:00
mjacob 019508faee Well, I don't have a Cyclades board, but I needed the alpha kernels
to compile. I made the changes that seemed to make sense tracking the
shift from TS_WOPEN  to tp->t_wopen- but they may be wrong. I wasn't
subscribed to tech-kern so I missed the discussion, and C. Hannum
was not particularly enlightening. Sorry if this isn't quite right.
1998-03-21 23:26:15 +00:00
mycroft 0dae91d9af Eliminate uses of TS_WOPEN in hard-wired devices. 1998-03-21 22:52:59 +00:00
pk e6a2630760 Direct the Sbus bus map function through the bus tag. 1998-03-21 22:03:33 +00:00
mjacob 34f87569b9 add some error defintions 1998-03-21 22:02:42 +00:00
mark 46f5fd743a Add a call to vm_set_page_size() in pmap_bootstrap(). 1998-03-21 21:42:02 +00:00
gwr 9c160cc541 Deal with missing P4 register on old 3/60 machines. 1998-03-21 21:40:45 +00:00
mark 5fb8156c1c Replace the em and eh drivers with an attachment to the ne driver. 1998-03-21 21:39:16 +00:00
gwr 24903a0744 Deal with missing P4 register on old Sun3/60 machines. 1998-03-21 21:38:24 +00:00
mark b8bbd98f2a This file is no longer needed now etherM driver is just an attachment
to the MI NE2000 driver.
1998-03-21 21:38:01 +00:00
mark 6aad6c26fd This driver has been replaced with a podulebus attachment to the MI
NE2000 driver.
1998-03-21 21:36:37 +00:00
mark 5241ea94ce Initial commit of podulebus attachments to the MI NE2000 driver for
etherH and etherM netslot interfaces.
1998-03-21 21:35:20 +00:00
mark a9dd30a5e0 Prototype netslot_ea() and podule_read(). 1998-03-21 21:30:29 +00:00
mark 3fbeab8ca4 Report podules that have been disabled by boottime options.
Provide a function netslot_ea() to return the ethernet address of the
RiscPC network slot.
1998-03-21 21:30:07 +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
ragge cad3cb3894 ubasetup() must be non-static. (used by QDSS) 1998-03-21 10:24:29 +00:00
ragge cf02ad2bc9 Add support for QDSS graphic console. Code originated from 4.4BSD,
ported to NetBSD by Boris Gjenero <bgjenero@undergrad.math.uwaterloo.ca>
1998-03-21 10:02:39 +00:00
scottr 2f2b4dae56 Optimize some cycles out of the clock interrupt handler when
USE_LEDS is defined.
1998-03-21 08:05:37 +00:00
scottr 727b8bc7ac Charles Hannum pointed out that if a clock interrupt was posted while
we were in ledcontrol(), the heartbeat twinkler would just punt on
updating the LED even though it had already updated the status.  (This
was broken in v1.73 of locore.s).

Rather than resurrect the old code, simplify ledcontrol() and don't
bother with mutual exclusion.  As mentioned by the comments describing
this function, we really don't need to be that precise.  We do, however,
want to guarantee instructions that modify the status variable directly,
so the function is now primarily inline assembly.
1998-03-21 07:45:59 +00:00
mycroft 834a8ac07a Fix pasto. 1998-03-21 04:31:10 +00:00
mycroft fd620ebb32 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:29:29 +00:00
mycroft 16566cda09 Remove a bogus initializer. 1998-03-21 04:27:58 +00:00
mycroft 2ada4b4af1 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:02:47 +00:00
cgd 09cde3ae17 compile with -Wall, update for changes to dev/ofw 1998-03-21 02:06:17 +00:00
cgd 0a2c48d07f -Wall 1998-03-21 02:05:17 +00:00
cgd 3cc8b411d0 -Wall (one real bug, even!) 1998-03-21 02:04:55 +00:00
thorpej 66d8f5b544 sync systypes w/ <machine/rpb.h> 1998-03-20 21:48:21 +00:00
thorpej 63c73f94e3 Add a few more systypes. 1998-03-20 21:48:03 +00:00
mycroft 919340aaa5 In npxdna(), if there was an exception state in the FPU but npxproc was
null, the frstor would fault on a PPro.  I'm pretty sure this is not
how the chip is supposed to behave, but it's easy enough to do a fninit
to throw away the exception state.
Also, some other minor changes to the documentation.
1998-03-20 20:15:14 +00:00
cgd bd31517508 check only the Vendor ID (rather than both the Vendor ID and the Product
ID) when determining if the Vendor ID is invalid.  The spec says that
Vendor ID of 0xffff is invalid, so, it doesn't _matter_ what the product
ID is in that case.  Treat Vendor ID 0 as invalid because we always have.
1998-03-20 19:56:19 +00:00
phil 3b25c8611a sync to current state. 1998-03-20 19:15:18 +00:00
phil 975f8de47c VM_PSTRAT_RANDOM does not use varible x. #ifdef x's definition. 1998-03-20 17:40:20 +00:00
ragge 52defbf438 Use rom routines on MicroVAX II, so that the QDSS/QVSS display will
be used if present. Fix provided by Boris Gjenero.
1998-03-20 16:36:20 +00:00
kml 123232e156 Fix a retransmission bug introduced by the Brakmo and Peterson
RTO estimation changes.  Under some circumstances it would return a value
of 0, while the old Van Jacobson RTO code would return a minimum of 3.
This would result in 12 retransmissions, each 1 second apart.
This takes care of those instances, and ensures that t_rttmin is
used everywhere as a lower bound.
1998-03-19 22:29:33 +00:00
matthias 525ebe8083 prepare for PMAP_NEW. 1998-03-19 22:10:21 +00:00
matthias ff58f2dd3a update to my current configuration 1998-03-19 22:09:24 +00:00
chuck dd370f11a3 rework the copy inheritance case of fork. the old way did not handle
the very rare case of shared mappings that have amap's attached in a
reasonable way -- this is not currently causing any problems, but i
fixed it anyway.  update the comment in this section of code and also
be smarter about avoiding needless calls to pmap_protect().
1998-03-19 19:26:50 +00:00
thorpej 87e1106140 s/u_long/unsigned long/ in prototypes. 1998-03-19 18:39:39 +00:00
mrg 45159fa631 convert pfil(9) in and out lists from <sys/queue.h> LISTs to TAILQs, and
change pfil_add_hook to put output filters at the tail of the queue,
while continuing to place input filters at the head of the queue.  update
the two users of these functions, and document these changes.

fixes PR#4593.
1998-03-19 15:45:30 +00:00
mycroft aa1112aed5 SETFRAGMENT ignores the high bit. 1998-03-19 06:53:28 +00:00
thorpej 0f95ffdc1d Nuke swpctxt(); it's only used by the Mach pmap, which we will only ever
use for reference.
1998-03-19 06:44:25 +00:00
thorpej dbc7bbee68 Make the previous change `atomic'. 1998-03-19 06:37:26 +00:00
thorpej daade671ae When unsharing or execing, deactivate the old vmspace before reassigning
and activating the new one.  Pointed out by Chris Demetriou.
1998-03-19 04:19:21 +00:00