Commit Graph

936 Commits

Author SHA1 Message Date
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
ragge b8706b65a3 Detect SCSI as boot device. 1999-10-23 14:56:05 +00:00
ragge 362ef7b498 Use romread() routines if we are booted from SCSI disks. 1999-10-23 14:42:21 +00:00
ragge 08cf6bea89 Boot block code fixed to 1) understand SCSI disks and 2) read from a
ustar filesystem (used in installation).
1999-10-23 14:40:38 +00:00
ragge 16a09f9b9c Remove the vmapbuf()/vunmapbuf() routines. They are quite unneccessary
on a machine that has MMU for its I/O devices.
1999-10-22 21:14:34 +00:00
ragge db3857cbb6 DMA support for the NCR 5380-equipped vs3100's. 1999-10-22 21:12:20 +00:00
ragge 4021578d6e Add routines to copy to/from a user process from/to the vsbus DMA area. 1999-10-22 21:10:12 +00:00
ragge ae7e9d1571 Protect against multiple includes. 1999-10-21 20:01:36 +00:00
ragge f1d4772434 Clear proc0 uarea, otherwise subsequent processes will inherit the
virtual timers and get unwanted signals. This has been around since
long time back...
1999-10-20 20:42:29 +00:00
ragge 7c80a2ddec Nuke unnused file. 1999-09-21 18:08:37 +00:00
ragge 3455a353f9 Fix minphys() on vax. While here, convert to bus.h. 1999-09-21 18:07:54 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej 3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
ragge fe8a330be5 Styr upp deklarationen av clockchippsparametrarna. 1999-09-06 19:52:52 +00:00
ragge 56f0f92bef Add some external variables. 1999-08-30 21:18:17 +00:00
ragge a724cc71f4 Changes for 4000/90. 1999-08-27 20:05:08 +00:00
ragge 02470fb53a Support for 4000/90. 1999-08-27 20:04:32 +00:00
ragge 3c8bd07cd4 CPU support for 4000/90 (KA49). 1999-08-27 20:02:05 +00:00
ragge c1eb799c3a Use interrupt stack for unexpected interrupts. 1999-08-27 20:00:24 +00:00
ragge 1e07ecc873 Aupport these on 4000/90. 1999-08-27 17:50:42 +00:00
ragge 4fa4cc8160 Don't try to search for these devices on 4000/90. badaddr() should
be fixed for this arch also.
1999-08-27 17:49:41 +00:00
ragge 73dc3cea57 Rearrange the interrupt detection code to work on the (slightly
different) VAXstation 4000/90.
1999-08-27 17:45:57 +00:00
ragge 86a3dd1701 Don't reference a unexisting address on 4000/90. 1999-08-23 19:10:43 +00:00
ragge 895fe9eaf6 Add support for 4000/90. Also handle interrupts more intelligent.
XXX - countdown doesn't work on 4000/90.
1999-08-23 19:09:27 +00:00
matt 82d58cbe82 export elf_machdep.h 1999-08-21 23:35:44 +00:00
matt 741f18b695 Initial VAX ELF32 support (mostly untested). It's checked primarily for
testing and archival for now.  I don't expect anyone to work with it
since the binutils and gas changes are still pending.  But you got to
crawl before you walk.
1999-08-21 19:26:18 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
ragge 8a0eac0ab5 Detect NVAX also. 1999-08-19 20:50:18 +00:00
ragge 7638e3fbe3 Add boot support for the VAX 3300/3400 LANCE chip. 1999-08-14 19:41:14 +00:00
ragge b906b753ad Support for ibus-attached LANCE. 1999-08-14 18:44:00 +00:00
ragge 33baeca394 Search for LANCE. 1999-08-14 18:42:46 +00:00
ragge 9752aa250e Support interrupt vector auto-detection on level-trigged devices also. 1999-08-14 18:42:17 +00:00
ragge 962bc94a90 Support for on-board LANCE on MicroVAX 3300/3400. Also use MI LANCE
code for VAXstations again; though not functioning correctly on all
types of machines.  (Will fix that later).
1999-08-14 18:40:23 +00:00
ragge 6535fd2313 Erroneous checking of return value from bounds_check_with_label().
Massbus disks should work now.
1999-08-14 11:33:09 +00:00
ragge eab2e881a5 Fix UBA IO space scan addresses; was searching at the wrong place. 1999-08-14 11:31:48 +00:00
ragge 650524ed75 Fix CMI probe bug on VAX 11/750. Prettify CPU printout. 1999-08-14 11:30:48 +00:00
ragge 33bc1af047 PGOFSET should be VAX_PGOFSET.
Remove two unused prototypes.
1999-08-12 20:23:49 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
ragge 1008019f62 Detect "ze" as root device. 1999-08-08 16:33:13 +00:00
ragge 80c17df099 Give numeric machine checks, instead of incorrect strings. 1999-08-08 11:47:54 +00:00
ragge 2785184329 Tell if we get stray interrupts, if cold == 0. 1999-08-08 11:46:30 +00:00
ragge f2e960f907 Add support for the SGEC. 1999-08-08 11:45:01 +00:00
ragge 3766555455 Reset the interface when loading is finished, to avoid spurious writing
to memory.
1999-08-07 18:30:36 +00:00
ragge ae5dbfbe84 BI bus files has moved. 1999-08-07 11:19:04 +00:00
ragge bc163ccc30 Clean up all bus handling stuff, it has become a mess the latest years.
Add a new bus; "ibus" that is the internal MicroVAX bus.
1999-08-07 10:36:43 +00:00
ragge a7361f3acf Moved to dz_ibus.c,v 1999-08-06 18:58:28 +00:00
ragge c7d47daa04 Moved from dz_vsbus.c,v 1999-08-06 18:58:27 +00:00
thorpej d936f02b0b Implement priority raising, and use it as appropriate. 1999-08-05 18:48:55 +00:00
thorpej 37554502cf Correct a comment. 1999-08-05 18:31:06 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
ragge 128cc8e9b2 For now; don't include the devices that are not yet converted. 1999-08-04 19:15:56 +00:00
ragge 2661ddc378 smg/lkc must have "qfont". 1999-08-04 19:15:11 +00:00
ragge bebf926694 Adopt to new BI bus design. 1999-08-04 19:11:01 +00:00
ragge fe04287ec0 Moved to dev/bi. 1999-08-04 19:09:46 +00:00
ragge 0b6c232028 BI bus has become MI now. 1999-08-03 19:56:21 +00:00
ragge 43bbc0f5c7 Protect against multiple includes. 1999-08-03 19:53:23 +00:00
ragge 901fb270ef Add a "generic" struct for dma without anything fancy. 1999-08-03 19:45:47 +00:00
ragge 8f9615d62c A bunch of changes:
- Free pte pages not in use anymore.
- Inline pmap_extract().
- Fix annoying page reference/modify bug. Fixes PR#7858 & PR#7859.
1999-08-01 13:48:06 +00:00
ragge 870769b516 Cpu_swapin() only need to set red zone now. 1999-08-01 12:07:31 +00:00
augustss 3652732791 Add wsmux device.
(Also add lots of missing chrtoblktbl[] entries.)
1999-07-29 19:14:35 +00:00
augustss a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
cgd f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
abs 2ceba51630 Work with obj dirs (It seems that ${.CURDIR}/... is your friend).
If I _had_ to pick an arch on which to learn how this stuff works, it probably
would not have been vax... unless of course I was experimenting with time
compressing drugs.  If we have a 1.4.2, this is definitely a candidate.
1999-07-18 05:55:45 +00:00
ragge 73d339e9e8 Rewrite the page table entry routines. Don't take a pte invalid fault for
missing pte's, instead map in pte entries in pmap_enter(). The user ptes
is no more handled by the VM system. All this made swapping start working
on VAX again.
Still to do:
- Keep refcount per pte page, so that those pages get free'd when the
  process is swapped out. Right now they are only free'd when the pmap
  is destroyed.

Many thanks to Chuck Silvers for all help finding the deadlock problems.
1999-07-10 22:04:59 +00:00
ragge e2a9d46897 After swapin of a process, restore the red zone in kernel stack at the
correct place.
1999-07-10 21:55:17 +00:00
thorpej 0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej b2781586c4 Normalize include paths. 1999-07-09 02:32:28 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
itojun 5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
ragge 1647688f0d Use pmap_steal_memory() for early memory allocation. 1999-06-30 19:31:33 +00:00
ragge 8783dd4166 MSCP moved. 1999-06-30 18:48:06 +00:00
ragge 9c7dfb8eb4 Outdated; moved to another location. 1999-06-30 18:47:03 +00:00
ragge 996e5bf55a Stop the network interface after kernel is loaded but before starting it.
Not doing this caused packets to be read into memory somewhere after the
kernel was started but before the device was probed, normally in the
system page table. This gave quite unpredictable results...
1999-06-30 18:38:03 +00:00
ragge a406e5332c Clean up the boot command selection a bit. Add a command "halt". 1999-06-30 18:33:33 +00:00
ragge 3b8e9ab16d Support loading the kernel from ustarfs. 1999-06-30 18:30:42 +00:00
ragge 04620b62b5 Search for include files in new locations. 1999-06-30 18:19:26 +00:00
ragge 1e7b5cf8ae Wrong definition of SID for MicroVAX I, from Brian Chase. 1999-06-28 13:13:53 +00:00
itojun 427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
ragge 51dd099ef5 Add DW750 and DW780 UBA support. Still no BDP's. 1999-06-21 16:23:00 +00:00
ragge e0972091c8 Remove moved files. 1999-06-20 18:19:19 +00:00
ragge e410ff8410 Remove moved files. 1999-06-20 18:14:41 +00:00
ragge 7a1f65022b Remove more unused files. 1999-06-20 16:00:14 +00:00
ragge dc65be6cf8 Remove old unused files. 1999-06-20 15:58:28 +00:00
ragge 92a492d5ea Some 4000/200 fixes. From Michael Kukat. 1999-06-20 15:52:51 +00:00
ragge e2fb3def19 Use uba & mscp code from dev/ instead. 1999-06-20 01:05:19 +00:00
ragge cc43d8766d Fix of bug causing allocations of physical pages to get wrong address. 1999-06-20 00:59:54 +00:00
ragge abcc4bed15 Better support for tracing stacks. From Chuck McManis. 1999-06-20 00:58:23 +00:00
ragge cb57cab9b1 Add macros to round/trunc vax pages. 1999-06-20 00:53:58 +00:00
ragge 76b9763345 Add some small checks to avoid unwanted panic types. 1999-06-20 00:53:02 +00:00
ragge 069858b1e2 Want device-register, to detect qbus boot devices. 1999-06-20 00:50:08 +00:00
ragge 656c580511 Don't try to disconnect SCSI disks. From Michael Kukat.
Now DEC disks also works in VAXstations :-)
1999-06-19 15:46:05 +00:00
cgd 7c02d93c04 nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon.  8-)
1999-06-18 04:49:24 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
ragge 3bb07459cd Qbus moved in hierarchy. 1999-06-06 19:10:49 +00:00