Commit Graph

22075 Commits

Author SHA1 Message Date
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
ross
ac5774c288 Fix a 64-bit pointer/int warning. 1998-03-19 03:42:35 +00:00
thorpej
003c50d1d5 Add a macro to invalidate the TLB for a given pmap/va pair. TLB
invalidation algorithm:

	if (old mapping had PG_ASM set || pmap is active) {
		TIBS(va);
		if (also sync I-stream)
			imb();
	}

The check for "old mapping had PG_ASM" will get all kernel mappings (since
kernel mappings always have PG_ASM set).

This allows us to remove the bogus check for the kernel pmap in
active_pmap() - do so.

Use the new TLB invalidation macro whenever such action is needed.
1998-03-18 23:55:25 +00:00
thorpej
15adb17803 Eliminate the last argument from pmap_remove_mapping(); it makes its own
decisions about TLB invalidation.
1998-03-18 23:11:44 +00:00
thorpej
7ee4af11a7 Change active_pmap() to use the CPU mask (XXX and check for kernel pmap
as well, until some other changes are made).  Nuke active_user_pmap(),
and change the places that used it to use active_pmap() instead (as well
as make some DIAGNOSTIC consistency checks).
1998-03-18 22:50:50 +00:00
is
ddc5b81d4f 68060 has 8k + 8k caches. 1998-03-18 22:19:40 +00:00
thorpej
605472f676 Optimize out a TLB invalidation in a common case of pmap_enter(): if
the PTE was previously invalid, no TLB invalidation is necessary because:

	(1) when a PTE is invalidated, its entry is flushed from the
	    TLB

	(2) the PALcode won't install an invalid PTE into the TLB.
1998-03-18 22:13:58 +00:00
matthias
e14a1c1120 Switch the pc532 to MACHINE_NEW_NONCONTIG and add machine specific bits
for UVM. All of this was mostly done by stealing code from the i386 port.
Prepare for stealing pmap.new.c as well.
1998-03-18 21:59:38 +00:00
thorpej
cfdf9a95ad Keep track of which CPUs are using a pmap by setting/clearing bits
in the pmap's CPU mask in pmap_activate()/pmap_deactivate().
1998-03-18 21:57:03 +00:00
matthias
214f303d0e Import from i386 because it contains a nice explanation of our MMU. 1998-03-18 21:52:02 +00:00
tv
c70676bb18 PR #2736: wrap the softc in #ifdef _KERNEL so userland can include this
file to get at the ioctl values without barfing on the softc
1998-03-18 21:21:48 +00:00
thorpej
43614761e3 In cpu_exit() deactivate the address space before freeing the vmspace
structure.  We will continue to run on this context (which is the
global Lev1map at this point) right up until we switch to proc0's
context in switch_exit().
1998-03-18 20:38:07 +00:00
thorpej
87eb2cfded Don't call pmap_deactivate() if we jumped into the middle of cpu_switch()
from switch_exit(), since by this time, the vmspace will have already
been deactivated and freed.
1998-03-18 20:36:13 +00:00
thorpej
b637a998f4 Add ASN housekeeping and a CPU mask to the pmap. 1998-03-18 19:39:23 +00:00
thorpej
961a955498 Move the "are we active" macros out of the header file. 1998-03-18 19:27:46 +00:00
thorpej
d37acae24c Add a DIAGNOSTIC checks for the kernel pmap in pmap_create_lev1map()
and pmap_destroy_lev1map().  Correct a comment in another DIAGNOSTIC
panic.
1998-03-18 19:21:50 +00:00
thorpej
06b49b8f3e Change a couple of assert()s to DIAGNOSTIC panics. 1998-03-18 19:12:57 +00:00
thorpej
438599b408 Correct a comment in pmap_bootstrap(). 1998-03-18 19:04:42 +00:00
thorpej
56e004c995 Pass the max ASN from the HWRPB to pmap_boostrap(). 1998-03-18 19:02:49 +00:00
thorpej
426d2953f5 Add a macro to test if PG_ASM (Address Space Match) is set in a PTE. 1998-03-18 19:00:15 +00:00
bouyer
9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
bouyer
091dafd39f Add support for reading/writing FFS in non-native byte order, conditioned
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.
1998-03-18 15:57:26 +00:00
thorpej
63dfa5e1a1 Minor cosmetic cleanup; no functional change. 1998-03-18 07:18:50 +00:00
thorpej
86d534a7d9 - Make MACHINE_NEW_NONCONTIG non-optional.
- Maintain two copies of the number and size of physical memory segments.
  One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
  The other copy, phys_seg_list[], starts out with all of physical RAM (and
  is used to initialize mem_clusters[]), but is adjusted to be the memory
  actually managed by the VM system.
- Fix computation of physmem; when support for MACHINE_NEW_NONCONTIG was
  added, physmem was accidentally changed to not take into account the memory
  located before the kernel, or the memory taken up by the kernel itself.
1998-03-18 07:16:10 +00:00
thorpej
02fa4134dc - Make MACHINE_NEW_NONCONTIG non-optional.
- G/C some things left over from the old noncontig code.
1998-03-18 07:12:49 +00:00
thorpej
c718c9e278 - Make MACHINE_NEW_NONCONTIG non-optional.
- Make initialization of the message buffer a little less magic-looking.
- Maintain two copies of the number and size of physical memory segments.
  One copy, mem_clusters[], contains _all_ of physical RAM, for crash dumps.
  The other copy, phys_seg_list[], starts out with all of physical RAM (and
  is used to initialize mem_clusters[]), but is adjusted to be the memory
  actually managed by the VM system.
- Fix crash dumps with regard to multiple memory segments.
1998-03-18 07:11:22 +00:00
thorpej
c0cfbf8d7d Make MACHINE_NEW_NONCONTIG non-optional. 1998-03-18 07:07:11 +00:00
kml
ffb211fb9d Ensure that the TCP segment size reflects the size of TCP options
in the packet.  This fixes a bug that was resulting in extra packets
in retransmissions (the second packet would be 12 bytes long,
reflecting the RFC1323 timestamp option size).
1998-03-17 23:50:30 +00:00
chuck
1e137afb43 typo in printf 1998-03-17 22:09:32 +00:00
thorpej
f80f6601b0 Fix a typo in the bus_dma changes. 1998-03-17 21:30:38 +00:00
cgd
9b6471a47d remove a few unnecessary and incorrect pointer checks. 1998-03-17 21:27:25 +00:00
chuck
6282e70846 print more info for a diagnostic panic 1998-03-17 19:15:07 +00:00
marc
efbd14c45d mounting a union causes VOP_WHITEOUT to be called on the upper root
vn, with a 0 component.  If the upper fs was a unionfs,
union_whiteout() would deref compnent to get a struct proc, and panic.
struct proc was only being passed to FIXUP, which never used it.  It
turns out this happened a lot.  I ripped most of the unneeded code
out, and left in the few places that really did need the proc handle.
1998-03-17 08:36:57 +00:00
mrg
be92b169f8 oops, missed a bit of KNF here. 1998-03-17 07:50:08 +00:00
thorpej
9c1e8fc2ed Implement the PMAP_NEW interface for UVM. 1998-03-17 05:15:24 +00:00
thorpej
1477f77353 Properly depend on the PMAP_NEW option. 1998-03-17 05:00:18 +00:00
thorpej
6bbfd3e9ff Use pmap_kenter_pa() in _bus_dmamem_map() if PMAP_NEW. 1998-03-17 04:59:36 +00:00
thorpej
f8cff5ab23 Add a software PTE bit that indicates that a va -> pa mapping was entered
in the physical->virtual list.
1998-03-17 04:53:43 +00:00
gwr
19db8f3960 Add an anonymous declaration of struct pmap in pmap.h and put
typedef struct pmap *pmap_t there, removing the latter from
pmap3.h and pmap3x.h (so LKMs can use <vm/vm.h>).
1998-03-16 16:25:38 +00:00
leo
6356561f35 Use bus-dma functions. Also make sure that dma will not use the bounce
buffers (Tested & requested by Noriyuki Soda).
1998-03-16 15:48:00 +00:00
leo
d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
gwr
1284f08847 Make this match ../libsa/dev_disk.c 1998-03-16 14:49:26 +00:00
mycroft
2397f92b38 Implement CDIOCCLOSE. 1998-03-16 04:17:53 +00:00
mycroft
e834dd10e7 Add CDIOCCLOSE. 1998-03-16 04:17:23 +00:00
fair
78836acdba make sure _SUN3_ or _SUN3X_ is defined. 1998-03-15 22:36:08 +00:00
fair
c89e1afb8b saio.h is in ../libsa/, not <machine> and the Makefile does the right thing with -I, so fix compile error 1998-03-15 02:28:19 +00:00
mark
27ef26a468 Added csa device and scsibus attachments. 1998-03-14 17:15:52 +00:00
mark
29075565c0 Updated for new csa driver, the change to the oak driver and
the removal of the local ncr5380 driver.
1998-03-14 17:10:13 +00:00
mark
d15ce201d7 This local version of the ncr5380 driver is not longer needed now the
oak driver has been rewritten to use the MI one is /dev/ic/
1998-03-14 17:08:19 +00:00
mark
d6f6e4ee8e Complete re-write of the Oak SCSI 1 driver to use the generic ncr5380
driver. Currently only supports 8 bit PIO.
1998-03-14 17:06:17 +00:00
mark
a1dd6a915a Initial commmit of csa driver for the Cumana SCSI 1 adapter.
This driver uses the generic ncr5380 driver and currently only supports
8 bit PIO data transfers.
1998-03-14 17:04:30 +00:00
leo
4e466a839d Move the bus_* functions from machdep.c to bus.c . 1998-03-13 21:05:10 +00:00
is
a830b47531 Ite keyboard map, for spanish Amiga keyboards.
Contributed by Inaki Saez <jisaez@sfe.indra.es>.
1998-03-13 19:28:11 +00:00
cgd
85687409e1 don't forget to set dma_arg, when using DMA functions. also, minor
spacing bogon cleanup.  Pointed out by Kazuki Sakamoto in PR 5157.
1998-03-13 16:50:07 +00:00
ragge
52fbd35380 Add support for "root on qe". 1998-03-13 11:40:19 +00:00
cgd
b9eaff9db8 when considering attaching compatibility-mode channels, try a quick reset
and see if anything responds.  if nothing (that's attributable to the
PCI IDE controller) responds, then that channel either has no devices on
it or has been disabled (via a non-standard mechanism) by the BIOS.  If nothing
responds, don't map the compat.-mode interrupt or attach the wdc to that
channel, because the BIOS is likely to assign that IRQ to a different PCI
device.  If that happens, the kernel will panic because that device will
try to map the IRQ level-triggered, but the compat interrupt will have been
mapped edge-triggered.  (One possible way around this is to map the compat
interrupt edge-triggered, but it's not clear reading the spec that this
is correct or desirable.)
1998-03-12 23:34:29 +00:00
bouyer
44650d03a6 Better fix for PR 5113, per discussion with fvdl: now that the vnode locking
interface allow recusive locks, use it instead of the local hack to avoid
recursive locking.
1998-03-12 16:51:41 +00:00
augustss
09f43c63cf Update probing for GUS a little. From soren@t.dk,
closes PR kern/5148.
1998-03-12 12:28:50 +00:00