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
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
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
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
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
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
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
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
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
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
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
pk
405ec57e9f
Lift the tilde a bit.
1998-03-22 20:24:05 +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
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
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
06471a2eed
switch to non-BROKEN_INDIRECT_CONFIG
1998-03-22 12:52:03 +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
mjacob
86b6520e41
more TS_WOPEN to tp->t_wopen changes
1998-03-21 23:36:19 +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
2ada4b4af1
Replace TS_WOPEN with t_wopen, per mail on tech-kern.
1998-03-21 04:02:47 +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
phil
3b25c8611a
sync to current state.
1998-03-20 19:15:18 +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
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
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
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
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
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
chuck
1e137afb43
typo in printf
1998-03-17 22:09:32 +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
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
gwr
1284f08847
Make this match ../libsa/dev_disk.c
1998-03-16 14:49:26 +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
ragge
52fbd35380
Add support for "root on qe".
1998-03-13 11:40:19 +00:00
thorpej
00452b441f
Move PTE-related constants here, and make them not depend on a hard-coded
...
page size (i.e. use the one initialized from the HWRPB at boot time).
Do a bit of cleanup while here, rendering old inherited constants obsolete.
1998-03-12 07:29:21 +00:00
thorpej
4d8723232d
Garbage-collect a bunch of constants that were inherited, but are no
...
longer necessary or make sense.
1998-03-12 07:28:07 +00:00
thorpej
bd3c0e36cf
Garbage-collect this a bit.
1998-03-12 06:47:11 +00:00
thorpej
00a597fe92
Use vm_page_alloc1() and vm_page_free1() as appropriate.
1998-03-12 06:27:36 +00:00
thorpej
7bb58d92ce
Garbage-collect; vm_page_alloc1() and vm_page_free1() are now in MI code.
1998-03-12 06:26:26 +00:00
thorpej
1f8d640c4b
Bump maxusers to 64.
1998-03-12 06:04:47 +00:00
thorpej
6e6e2d7ebf
Dump maxusers to 32.
1998-03-12 06:04:31 +00:00
thorpej
d9a1f8ba36
Adjust the default and low-bound maxusers, now that the pmap can deal.
1998-03-12 06:04:14 +00:00
thorpej
e3bda606eb
Add support for UVM.
1998-03-12 05:45:04 +00:00
thorpej
dfe0937a7e
If not DEBUG, use the Virtual Page Table to get the PTE for kernel mappings
...
in pmap_enter() and pmap_emulate_reference().
1998-03-12 02:59:22 +00:00
thorpej
30766180a3
Nuke these; they are long-since obsolete.
1998-03-12 01:28:01 +00:00
thorpej
152a4bfa60
Increase the maximum userspace address to 4TB. Leave the stack at 8G
...
for now, but make a note that we might want to move it down to 4G later.
1998-03-12 01:25:52 +00:00
thorpej
e046925c3a
Massive cleanup and partial rewrite of the NetBSD/alpha pmap module.
...
Major change is that page table page management has been completely
rewritten. Page tables are now accessed via K0SEG (no more KVA space
wasted on user page tables), and a much larger user address space is
supported.
Many thanks to Chris Demetriou and Ross Harvey for helpful insight and
debugging assistance.
1998-03-12 01:24:52 +00:00
thorpej
900e1c90bd
Nuke ALPHA_STSIZE and ALPHA_MAX_PTSIZE. Add macros to compute and operate
...
on segments mapped by L1 and L2 PTEs.
1998-03-12 01:21:21 +00:00
ragge
51964fa1e8
Standalone routine for DEQNA, written by Roar Thronaes.
1998-03-11 22:13:55 +00:00
chuck
b87759e7f2
bug fix: bring in-line with rest of uvm: use kernel_map for object offset
...
rather than kmem_map. should fix PR#5129 reported by
Lennart Augustsson.
1998-03-10 14:53:20 +00:00
leo
0dd40d6952
Bus-dma implementation for the atari. Heavily based on the i386
...
implementation.
1998-03-10 11:42:53 +00:00
scottr
20a21d162e
Sync mc_rint() prototype with if_mcvar.h. (How did this
...
one slip by? Forty lashes for me...)
1998-03-09 23:05:28 +00:00
thorpej
7225aae835
Move check for user-pmap-still-using-Lev1map from pmap_enter_ptpage()
...
to pmap_enter().
1998-03-09 22:31:23 +00:00
thorpej
daa9cfae50
Don't do the Segtabzero-for-dev-zero hack.
1998-03-09 20:43:28 +00:00
thorpej
e456fc0538
Simplify/speed up pagemove() somewhat by using the Virtual Page Table.
1998-03-09 20:17:03 +00:00
thorpej
78a173bada
Define VPT_INDEX(), which computes the index into the Virtual Page Table
...
of the PTE that maps the specified virtual address.
Thanks to Chris Demetriou and Ross Harvey for clarifying the VPT.
1998-03-09 19:57:57 +00:00
mark
fd250aecdd
Remove the width specifier in the podule manufacturer printf().
1998-03-09 19:14:44 +00:00
mark
eff3470d02
Make this driver build again. Needs overhaulling.
1998-03-09 19:12:59 +00:00
mark
c2efbb1d9a
Implement the bus_space_write_multi_1() function for the podulebus
...
(podulebus_wm_1()).
1998-03-09 19:11:30 +00:00
is
20251e62f9
Bug fix for the Ariadne panic: don't touch addresses outside the buffer we
...
got passed.
- analysis by Charles Hannum
- bugfix by Michael van Elst
- test by Thorsten Frueauf & Matthias Scheler
1998-03-09 17:00:33 +00:00
mikel
7d4b078022
print proper invalid IRQ, from Heiko Rupp in PR 5128
1998-03-09 06:20:26 +00:00
is
90e5d61467
Conditionally (on defined(DRACO)) compile new DraCo keyboard code sequences.
...
Pointed out by Bernd Ernesti.
1998-03-08 19:59:15 +00:00
gwr
56fd5cb1ae
Like INSTALL and INSTALL3X, leave out DDB.
...
(Can patch using the PROM if needed.)
1998-03-08 19:38:05 +00:00
gwr
d7e49b6a5b
Make comments refer to GENERIC3X, not GENERIC
1998-03-08 19:33:09 +00:00
gwr
9c0c7119c3
Leaner configurations for the installation media.
...
(Small enough to work on all machines.)
1998-03-08 19:29:40 +00:00
gwr
b043198b53
Sync with sun3/machdep.c (should factor out common stuff...)
...
> Do the "early breakpoint" (if booted with "-d") even if we
> have only the PROM to handle it, so one can patch things.
1998-03-08 19:12:53 +00:00
gwr
7db30c0844
Do the "early breakpoint" (if booted with "-d") even if we
...
have only the PROM to handle it, so one can patch things.
1998-03-08 19:09:58 +00:00
gwr
d342d51752
Fix comments
1998-03-08 18:56:08 +00:00
gwr
4242e2ab10
No need for default base addresses here anymore.
1998-03-08 18:54:23 +00:00
gwr
5242b3b02a
Need to use an offset to map the colormap H/W now that the
...
config address is that of the P4 register. Oops.
1998-03-08 18:53:17 +00:00
thorpej
b3d7fd8f3f
Just use vtophys() to get the PCB phys addr.
1998-03-07 04:20:45 +00:00
thorpej
9c236919e9
Rewrite pmap_extract(), and use it as appropriate in vtophys() rather
...
than (almost) duplicating the code.
1998-03-07 03:37:02 +00:00
thorpej
cd7d081d02
Export a pointer to the Virtual Page Table.
1998-03-07 03:15:43 +00:00
thorpej
f7d64ef778
Clean up a comment.
1998-03-07 03:15:06 +00:00
thorpej
f55b280ffc
Clean this up a bit.
1998-03-07 01:44:08 +00:00
thorpej
dcbc04e7af
Rename Sysptmap and Sysmap to Lev2map and Lev3map, respectively, and
...
add some comments describing in better detail what they are and how they
are used.
1998-03-07 01:43:54 +00:00
thorpej
60e6d2e48f
Update a comment in pagemove().
1998-03-07 01:26:04 +00:00
thorpej
ff155df72a
Nuke kvtopte(). Also, change pagemove() to lookup the from and to PTEs
...
in each iteration of the loop, since PT pages may not necessarily be
contiguous.
1998-03-07 01:11:39 +00:00
thorpej
60d30d3838
Nuke kvtopte() and ptetokv().
1998-03-07 01:10:05 +00:00
thorpej
58a7bd9288
Nuke the vatopa() macro.
1998-03-07 00:42:07 +00:00
thorpej
059d0c72de
pmap_ste() -> pmap_l2pte(), pmap_pte() -> pmap_l3pte()
1998-03-06 23:41:01 +00:00
thorpej
8081bd3017
Move pmap_pte*() macros into the header file, nuke pmap_ste_v(), add
...
pmap_lev1pte().
1998-03-06 23:19:26 +00:00
drochner
84963f97b5
Move allocation and mapping of the page table page for "bioscall" from
...
locore to here.
1998-03-06 14:53:06 +00:00
drochner
25f48b177c
Use NKPDE page table pages (instead of only one) for temporary mapping
...
in transition to relocated mode.
Remove preparation for "bioscall" identity mapping - it is in the way
and can be done later in init386().
Should solve the problem described in PR 4832 and 5102.
1998-03-06 14:51:36 +00:00
tsubai
2630ce2157
label 1: within #ifdef pmax is referenced from outside.
...
so it didn't work without -Dpmax.
1998-03-06 13:54:02 +00:00
fvdl
6e434a4386
Make this compile again.
1998-03-06 09:06:51 +00:00
jtk
4fcd1c2cdd
include <machine/vm86.h> if VM86 option defined
1998-03-06 04:12:56 +00:00
thorpej
92abc814ff
Clean this up a bit.
1998-03-06 00:21:40 +00:00
tsubai
10f8023240
Added arch/newsmips/Makefile.
1998-03-05 15:03:20 +00:00
scottb
d24f809241
Added prototype for ibcs2_sendsig.
1998-03-05 05:23:49 +00:00
scottb
b8bb612601
Add ibcs2_sendsig function.
...
Add ibcs2_sigcode function to locore because we need to call our own
version of sigreturn.
Add support for emul_ibcs2_xout (XENIX) structure because we need to emulate
some syscalls differently.
1998-03-05 04:20:44 +00:00
thorpej
53e3bf87b9
Fix think'o in last kcopy() change.
1998-03-05 02:10:57 +00:00
thorpej
df1fcaa8e3
Rename NetBSD/news to NetBSD/newsmips.
1998-03-04 22:26:35 +00:00
thorpej
157b712178
Rename NetBSD/news to NetBSD/newsmips.
1998-03-04 22:14:13 +00:00
mikel
415c4a15df
duplicate i386 fixes (q.v.)
1998-03-04 07:20:13 +00:00
cgd
8854631e5f
add file declarations for MD pciide file.
...
add (temporary) device/file declarations for the MI PCI IDE controller
driver. These are present here until the wdc declaration mess is
resolved, because until then they need to go into MD files files in
places where they play nice with the wdc declaration.
1998-03-04 06:40:29 +00:00
thorpej
f766e521be
In kcopy(), make sure we save and restore the old fault handler; kcopy()
...
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().
Originally suggested by Steve Woodford.
1998-03-04 06:39:14 +00:00
cgd
ccdea2d9c8
machine-dependent bits (for compat interrupt mapping) of PCI IDE driver.
1998-03-04 06:35:47 +00:00
thorpej
a2db880e8c
In kcopy(), make sure we save and restore the old fault handler; kcopy()
...
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().
1998-03-04 02:11:58 +00:00
thorpej
da3c8e52f1
Make this work with DEBUG="-g"
1998-03-03 07:38:40 +00:00
thorpej
803f5aa188
Remove the memcpy() alternate entry point for bcopy(), a temporary measure
...
until the memcpy()/bcopy() thing is worked out.
1998-03-02 23:40:42 +00:00
thorpej
f02b1a7a33
Make this compile again in light of Lite2 merge. (Yuck.)
1998-03-02 23:17:19 +00:00
scottr
da7d7ca568
Add magic number for driver map structure. (oops!)
1998-03-02 22:40:31 +00:00
cgd
09dbd9234d
fix typo in last commit (noticed on inspection)
1998-03-02 21:36:55 +00:00