Commit Graph

1302 Commits

Author SHA1 Message Date
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
matt
141dcca251 Add VAX660/670/680 support. 2000-05-28 05:17:25 +00:00
ragge
26acf7f88a Only map in map registers and the I/O page if they are not mapped in already. 2000-05-27 21:44:35 +00:00
ragge
8293b12111 Write kvtopte() and kvtophys() as inline assembler. GCC create quite bad
code for them, and they are only 2-3 instructions each if written by hand.
2000-05-27 21:17:06 +00:00
ragge
6cfde8f146 Remove the pcbtrap global variable, use a per-CPU variable instead. 2000-05-27 20:02:58 +00:00
ragge
98d0ab9e1c Use machine instead of vax in include path. 2000-05-27 16:44:14 +00:00
ragge
99baa81ae7 Rewrite cpu_fork(), it now looks like and works as other ports' cpu_fork()
(calling child_return() etc...). Have fun, Jason!
2000-05-27 16:33:04 +00:00
ragge
aacf5a4bc1 Growel out the SCSI BUS ID from NVRAM instead of hard-code it. 2000-05-27 10:12:45 +00:00
thorpej
21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
matt
fa1474c2eb This need <sys/sched.h> to compile. 2000-05-27 03:23:22 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
ragge
02512fa1e9 Correct a comparision. 2000-05-26 21:05:23 +00:00
ragge
4eea61af11 If we panic before the vsbus is found, don't panic again. 2000-05-26 21:05:01 +00:00
ragge
1e700bc362 Make it compile again. 2000-05-26 20:51:25 +00:00
ragge
b2bc655ba8 Fake success when trying to use the strategy() routine on a network device.
This avoids clobbering errno and bad error messages.
2000-05-26 20:18:57 +00:00
ragge
e2148b38ab Don't init the net info more than once. 2000-05-26 20:16:46 +00:00
ragge
b8b40eed22 Avoid hanging if boot fails on some machines. 2000-05-26 20:15:21 +00:00
jhawk
8e44b27348 Rename the machine-specific stack trace printing functions
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).

Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.

Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].

Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
matt
37be92c0d1 Add loadfile() support. soon to be needed by bootblocks. 2000-05-25 20:25:22 +00:00
matt
091b74891d Modify the file list for kernel to supress errors/text for certain ones. 2000-05-25 19:36:20 +00:00
thorpej
6ec6c6f90a Move common return-to-userland goo into userret(), like other ports. 2000-05-25 17:01:11 +00:00
ragge
e256727fb2 Four more instructions makes it possible to boot old kernels also. 2000-05-24 19:53:11 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
matt
83ae868133 Add some debug stuff. Disable SCSI on KA49 for now until I can figure out
why it doesn't work.
2000-05-23 23:47:28 +00:00
matt
62469cb55a Allow for boot.vax and netbsd.vax when booting. this allows a multi
architecture CD to be made which includes VAX support.
2000-05-23 23:34:20 +00:00
matt
27a876b17c boot detection moved autoconf.c; remove it from here. 2000-05-23 21:36:43 +00:00
matt
6f98bbbb09 Add some missing ifdef's. 2000-05-23 19:55:55 +00:00
matt
88352edc02 Add prototype for findcpu in _STANDALONE. 2000-05-22 15:55:52 +00:00
matt
8c22116924 cpp can be so annoying. to appease it, can't -> cannot 2000-05-22 15:54:53 +00:00
matt
7a0c7ff6f9 get rid of a double / 2000-05-22 15:42:37 +00:00
matt
09d6519a0f make the declaration of findcpu() ansi. (e.g add void to it). 2000-05-22 15:41:31 +00:00
matt
5ece00b8bc Obviously we don't use the symbol, but we might give it the correct value.
We support up to NVAX platforms.
2000-05-22 15:40:06 +00:00
matt
2d5c3f8447 Move BDEV_LE detection to here. 2000-05-22 15:38:47 +00:00
matt
cb089ee017 Remove RPB hook from here and put in autoconf.c 2000-05-22 15:34:05 +00:00
matt
ff7c474e11 The double / in the path has been bothering me for awhile. 2000-05-22 15:33:13 +00:00
ragge
f506422549 Boot device recognition for DEUNA added; combined with some cleanup. 2000-05-21 20:18:49 +00:00
ragge
314caa6651 Standalone driver for the Digital Equipment Unibus Network Adapter (DEUNA).
This allows 11/750 owners to install from a single TU58 cassette.
(Are there still any 11/750 owners left out there? :-)
2000-05-21 20:17:43 +00:00
ragge
da774180b6 Compare the boot address with 1) physical address and 2) correct variable. 2000-05-21 10:03:55 +00:00
ragge
d901690b17 Remove forgotten debug printf. 2000-05-21 09:45:54 +00:00
ragge
0b560b2138 Set correct adapter addresses if none is given. 2000-05-21 09:45:34 +00:00
ragge
93753c91c0 11/750 fixes:
- Set the correct adapter address in RPB for Unibus devices.
- Repair the disk read routines for HP disks. ROM routines do not work
  on HP disks, therefore use a small home-written routine.
2000-05-21 09:44:16 +00:00
ragge
f7b7cabc0b On the 11/750, the stack will be placed by ROM in the code area.
Start with moving it to a safe place.
2000-05-21 08:13:20 +00:00
ragge
2da29b7e01 Changes to use the RPB for different tasks. Much simpler now to find the
boot device.
2000-05-20 13:38:58 +00:00
ragge
b3f6551d41 WARNS=1. Unify the ra and tmscp driver. 2000-05-20 13:36:11 +00:00
ragge
027ee49b0f Adopt to the RPB changes. Complete change of how network devices are
handled. No more hacks to find bus addresses.
2000-05-20 13:35:07 +00:00
ragge
c5f56fab00 Change all devices to use the RPB info when autobooting, this allows for
booting from unsupported devices also. As a side effect; it fixes PR#9202.
2000-05-20 13:30:03 +00:00
ragge
a8a7bf342f New arguments to the rom routines. Adapt srt0 to new world also. 2000-05-20 13:22:39 +00:00
ragge
9ff9efe46a Rewriting of the VAX boot block. Differences:
- Use the RPB for passing boot device info up to kernel, instead of the
  old BSD "hack" with an encoded longword (see sys/reboot.h for details)
- Instead of separate drivers for all devices, use the HW-provided ROM
  routines as much as possible.
- Add filesystem support for CD9660 also (now when there is space).
- Make everything compile with WARNS=1.

The boot block is now <7K in size and have support for UFS, CD9660 and USTAR.
2000-05-20 13:21:29 +00:00
thorpej
071aed40ac A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well.  This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
matt
9bf1dc1e62 fix comments. 2000-05-18 04:20:41 +00:00
matt
2d153651e5 Preliminary support for the VS4000/90 SGMAP. Needed for SCSI. Does not
quite work right yet.
2000-05-17 21:22:18 +00:00
matt
6fb4d43f97 Sync closer to GENERIC. 2000-05-17 21:19:49 +00:00
ragge
6a36c27519 Get boot device CSR from RPB instead of trying to guess it. 2000-05-09 20:53:51 +00:00
ragge
94faa6da32 Change copy*str() functions. More paranoid checking of legal address space.
Fixes PR#7838.
2000-05-09 18:59:58 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
ragge
57115228ef Sorry, no KA680. 2000-05-08 19:46:12 +00:00
ragge
5fc118100e Add 4000/200 and 4000/500. 2000-05-08 19:09:49 +00:00
ragge
7f9df86ca6 Get correct MAC address out of rom on VAX 4000/200. From Michael Kukat. 2000-05-08 18:51:17 +00:00
ragge
f511619a4f Some more CPUs... From Michael Kukat. 2000-05-08 18:48:30 +00:00
ragge
282320f7df Rudimentary CPU support files for VAX 4000/105, 4000/200 and 4000/500.
From Michael Kukat.
2000-05-08 18:45:26 +00:00
ragge
aedfd4de1c VAX 4000/200 support. From Michael Kukat. 2000-05-08 17:53:24 +00:00
ragge
0028464ae3 Add 4000/105 and VXT2000. From Michael Kukat. 2000-05-08 17:49:07 +00:00
ragge
c17aed4bdc Console support for VXT 2000, VAX 4000/105 and VAX 4000/500.
From Michael Kukat.
2000-05-08 17:06:48 +00:00
thorpej
855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
ragge
8ddd256f57 Call uvm_pageidlezero() in idle loop. 2000-05-01 12:11:50 +00:00
ragge
a5a1a12d83 #define __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED. 2000-05-01 12:09:32 +00:00
ragge
c7204b15d4 Ubareset() changed. 2000-04-30 11:47:21 +00:00
thorpej
dc8f3d3b3f Oops, install <machine/lock.h> on these systems, too. 2000-04-29 03:45:42 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
matt
70d4422b8a Dump NRCV to 8 from 5. Note that a 8K NFS reply takes 6 full size
Ethernet packets so the chances are that if the server was fast enough
this driver would continuously lose one of the fragments.  Eventually
causing the kernel load to fail.  Add 2 extra for random ARP or other
packets that might be picked up.
2000-04-28 00:08:51 +00:00
matt
1fe20bbb39 be a bit more defensive in the probe routines. only allow one attachment. 2000-04-24 21:59:22 +00:00
matt
d32950cb7e Add cd9660 support to the secondary boot blocks. 2000-04-24 21:46:07 +00:00
matt
b7de2c5900 Add lcgreg.h. 2000-04-24 17:09:56 +00:00
matt
7964d80339 Initial definition of registers for VS400 LCG cards. Still needs more. 2000-04-24 17:09:03 +00:00
ragge
c6a9a48f2e Add 4000/90 to the countdown hack. 2000-04-24 14:45:30 +00:00
mhitch
62c210a97b Fix bootblock countdown for 4000/VLC. 2000-04-24 07:03:27 +00:00
matt
9148a41e81 fix booted_qe case to compare locators against controllers. 2000-04-23 20:30:37 +00:00
matt
c10673838a Extend asc driver to include support for the VS400/9x.
Add VS4000/9x support vsbus_dma.c
2000-04-23 16:38:52 +00:00
matt
25d6f027de Detect controller number on boot_qe check. 2000-04-22 21:40:40 +00:00
ragge
8b94e15772 Fix boot block countdown on 4000/60. Easy to add for other 4000 machines also. 2000-04-22 20:29:58 +00:00
ragge
a47bd10baa Use RAISEIPL on all workstations. 2000-04-22 18:11:27 +00:00
ragge
3a90b3236e Forgot a protection #define.
Make use of raise-spl.
2000-04-22 17:05:07 +00:00
ragge
8c7cf8f008 Add device switch entry for RL disks. Only uses rom to boot so far. 2000-04-22 16:52:23 +00:00
ragge
cab5a24c60 Recognize RL02 as boot device. 2000-04-22 16:50:44 +00:00
ragge
9b8f75bee1 Add "rl" disk. 2000-04-22 16:48:53 +00:00
ragge
cbf7514ca6 Detect "rl" as root device. 2000-04-22 16:43:47 +00:00
ragge
dd22df3dc8 Ops, forgot to commit this. 2000-04-22 08:19:49 +00:00
matt
f52bc62c39 enable in-kernel NTP (so xntpd doesn't die). 2000-04-21 15:16:39 +00:00
ragge
73e5b4e878 Raise IPL after interrupt, for LANCE chip. 2000-04-20 18:55:50 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
matt
79a5b2164e Remove autconf stuff. not needed and wrong. 2000-04-18 21:25:31 +00:00
matt
414d3f059d Compile -Os instead of -O2 (optimize for space). 2000-04-18 20:47:04 +00:00
ragge
d334fb3019 Handle NCR5394 SCSI as NCR5380. (Doesn't matter, it will use the ROM
routines anyway).
2000-04-18 20:25:13 +00:00
ragge
86d5f2d67d Add RPB number for VS4000 SCSI. 2000-04-18 20:23:54 +00:00
mhitch
a218b8543c Enable cache on the 4000/VLC. 2000-04-18 16:28:04 +00:00
mhitch
a90cf56cda PC_ICR doesn't exist on the 4000/VLC and trying to read it apparently
causes problems when the cache is enabled.  Don't access it if boardtype
is VAX_BTYP_48.
2000-04-18 16:25:59 +00:00
mhitch
6c0d2ca981 Add some defines gleaned from OpenVMS to enable cache on the 4000/VLC. 2000-04-18 16:23:42 +00:00
ragge
a1413dca83 Fetch the SCSI ID out of NVRAM instead, if possible. 2000-04-17 20:36:23 +00:00
ragge
d37dfad561 DEC have the internal SCSI controller as ID6, and CDROM as ID7. 2000-04-17 16:30:40 +00:00
matt
ee754e5548 Autoconf for SCSI stuff on VS4000s. 2000-04-16 16:03:42 +00:00
matt
5fa416e77a This should have never been checked in. it's what this directory is supposed
to make.  opps.
2000-04-16 15:59:02 +00:00
ragge
637d2e3a82 Be a little bit more generous with TBIA. 2000-04-16 09:42:22 +00:00
ragge
7ad2b0ede3 Call doshutdownhooks(). 2000-04-16 09:41:51 +00:00
matt
92b3e1fecd Use objcopy to emit the binary and linked around for debugging. 2000-04-16 01:44:36 +00:00
matt
5e9394eecb move ustarfs to end so that '@" can be avoided. from mhitch. 2000-04-16 01:42:41 +00:00
matt
faec4da943 Add missing cases for MARIAH/SOC/NVAX and fix a comment or two. 2000-04-16 01:41:23 +00:00
matt
9434b7b19e Add fix for VS4000 SCSI hangs on disk writes. Add a VAX_BUS_DMA_SPILLPAGE
and use it in the asc_vsbus driver.
2000-04-10 03:49:56 +00:00
ragge
8d2f5fd273 Fix TOY clock reading/writing on KA820. 2000-04-09 21:05:39 +00:00
ragge
9b917327ac Add insqti/remqhi macros. These macros are interlock queue instructions
used in multiprocessor systems as well as in uniprocessor environments
with intelligent I/O devices.
2000-04-09 16:37:09 +00:00
thorpej
2bc5adb20e Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that.  Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.

This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.

Fix tested by Havard Eidnes.
2000-04-02 20:39:14 +00:00
minoura
78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
ragge
fe43e9f08f Fix spelling error. 2000-03-31 18:40:58 +00:00
tsutsui
58714261cc Remove register declarations. 2000-03-30 11:37:21 +00:00
simonb
2f1fef39b3 Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
2000-03-28 23:57:24 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
ragge
aef1518cd8 Implement bi_intr_establish(). Add some fields about which CPU to interrupt. 2000-03-26 11:41:25 +00:00
ragge
dd359f65dd Need some vectors and pointers to be set before IPL is lowered. 2000-03-26 11:40:31 +00:00
ragge
b81cd3fa6b Identify ourselves. 2000-03-26 11:39:45 +00:00
tsutsui
9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
thorpej
7b918b4088 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:40:33 +00:00
ragge
f9f885519d First cut of multiprocessor support for vax. Still much to do before
other CPUs than the master can spin up.
2000-03-19 14:56:52 +00:00
ragge
cae5843a06 Fix typo that caused lance chip not to be detected. 2000-03-18 16:20:06 +00:00
mycroft
0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
darrenr
162b0b1dab __P(()) -> __P((void)) 2000-03-16 23:21:05 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
drochner
aa1de89bdf explicitely #include <sys/systm.h> #if BUS_SPACE_DEBUG to get a printf()
prototype
2000-03-15 16:44:48 +00:00
oster
1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
soren
95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
matt
ebe08edbb2 add VS400 scsi attachment + a few other things 2000-03-09 02:05:07 +00:00
matt
57032be837 disable scsi for ka49 until sgmap is adapted to it. 2000-03-09 02:02:12 +00:00
matt
082a04f053 don't enable sgmap on ka49 yet. 2000-03-08 23:50:51 +00:00
matt
f21e750db2 only have vmapbuf/vunmapbuf do anything on the ka46/48/49. 2000-03-08 23:49:10 +00:00
kleink
ad7dbd825c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:33:00 +00:00
matt
ebbd936b2c Chnage chip freq to 25MHZ. panic if dmaaddr is not in the kernel's
address space.  fix some printfs.  (reads now work!)
2000-03-07 00:08:42 +00:00
matt
10f359a6b5 clear the sgmap that was allocated 2000-03-07 00:07:16 +00:00
matt
e8c7c2f842 add real vmapbuf/vunmapbuf routines. needed for VS4000 SCSI support. 2000-03-07 00:05:59 +00:00
matt
e42cc6e32e remove some unsed variables. make a bit efficeint. 2000-03-07 00:04:13 +00:00
matt
4ab785a0e1 it is pretty close to working. the scsibus probes now. 2000-03-05 23:20:25 +00:00
matt
c43bdd0b91 Fix a bug with < 1 pages mappings. 2000-03-05 21:51:47 +00:00
matt
1de30b727b fix bug in bus_space_subregion 2000-03-05 21:22:48 +00:00
matt
2b3b8b5d50 it's closer to working now. 2000-03-04 18:20:53 +00:00
matt
ad61c16f86 Oopps. forgot to commit this. 2000-03-04 16:59:18 +00:00
ragge
8e7bc4bd01 Change some install options. From Todd Whitesel. 2000-03-04 16:21:05 +00:00
ragge
3c7a7bf0e0 Install the boot programs in /usr/mdec also. From Todd Whitesel. 2000-03-04 16:17:46 +00:00
matt
e0df4ffcae expunge vm_offset_t and vm_size_t.
add bus_dma support for the vs4000 dma translation map (sgmap).
enhance the vsbus for the lance to work with it.
remove the sgmap init code from ka46/48/49.c
2000-03-04 07:27:47 +00:00
matt
7258e6c6b7 First pass at NCR53c9x attachment for VS4000. It doesn't work yet.
But I want to save the work.
2000-03-04 00:24:06 +00:00
matt
1bce76807d it's a bit cleaner now. it also gets rid of the iomap init in
ka4[689].c
2000-03-04 00:22:37 +00:00
matt
2150f75fb0 First pass. need to add hw sgmap allocation via bus_dmamem 2000-03-03 22:57:49 +00:00
matt
a1a05c5cf9 include <sys/cdefs.h> since <net/netisr_dispatch.h> needs __CONCAT 2000-03-01 00:17:17 +00:00
matt
352a87f7bd fix a too agressive s/CIA/UBA/ (e.g change SPEUBAL back to SPECIAL) in the
header.
2000-02-29 17:42:32 +00:00
matt
8aaab5c387 add missing cpu dependencies 2000-02-29 17:13:27 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
erh
8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
thorpej
fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
ragge
8e114c7994 Nuke unused variable. 2000-02-12 16:09:33 +00:00
ragge
918676c04f Remove __BROKEN_CONFIG_UNIT_USAGE. 2000-02-12 16:00:13 +00:00
ragge
539689da9d Remove another unneccessary reference to cf_unit. 2000-02-12 15:58:45 +00:00
ragge
c6471e4d9a Remove an unneccessary reference to cf_unit. 2000-02-12 15:48:34 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
cgd
7d16ac338c add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
2000-02-05 00:13:22 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
danw
f77befbc84 #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
2000-02-01 04:01:19 +00:00
bouyer
68e6de32b3 Add missing '#include "opt_vax630.h"' for custom kernels. 2000-01-27 17:06:55 +00:00
bouyer
e7ea87d850 Adapt for matt's changes. 2000-01-27 16:58:44 +00:00
tsutsui
b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
drochner
8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
matt
4e90241d42 More files that were changed. 2000-01-24 02:54:01 +00:00
matt
7b17d59536 Revamp the VAX interrupt handling code. Make it compatible with all the
other ports.  Clean up some things.
2000-01-24 02:40:28 +00:00
hubertf
7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
matt
46b238cab4 remove volatile from softc. cleanup interrupt initialization. 2000-01-23 18:53:11 +00:00
thorpej
dc59bc1db3 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:39:55 +00:00
sommerfeld
aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
wrstuden
87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
matt
5d5b2822ec Don't need to include opt_vax8600.h. Always defined the 8600 specific bits. 2000-01-20 00:07:49 +00:00
thorpej
a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui
644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
msaitoh
0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej
c4e802b942 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:52:21 +00:00
thorpej
ca44eb8d21 iodone() -> biodone(), iowait() -> biowait() 2000-01-18 19:51:03 +00:00
thorpej
d7e6de4a08 iodone() -> biodone() 2000-01-18 19:50:32 +00:00
matt
9546ee5f87 defopt VAX750 side effect. 2000-01-17 04:57:31 +00:00
matt
2665d4b7c6 defopt VAXnnn so the make depend does the right thing. 2000-01-17 04:55:25 +00:00
ragge
fa560ec3ee Bogus context pointer sent to sigreturn() may crash the machine.
Bug found by der Mouse.
2000-01-16 12:43:52 +00:00
matt
32bb54d2ff Enable IBCS2 (DEC SVR3) compatibility. 2000-01-13 15:09:52 +00:00
matt
b8701a20ac Add ibcs2 signal tramp code. 2000-01-10 23:54:47 +00:00
matt
cbe54e5057 Add ibcs2 machine dependent file for VAX. 2000-01-10 03:06:44 +00:00
matt
a57402e015 Add VS4000 scsi attachment (does not yet work).
Add COMPAT_IBCS2 hook (for running DEC VAX SVR3 images).
2000-01-10 02:35:35 +00:00
matt
362ae13bea Add some machine dependent stuff for vax. 2000-01-10 02:33:13 +00:00
matt
5dc0a61485 Add ibcs2_machdep.h and reformat so that adding new includes is a bit easier. 2000-01-10 02:30:33 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
ragge
ffbd2c2f5e CL* discarding. 1999-12-12 14:39:18 +00:00
ragge
9beccd4e88 Detect "Infoserver 1000" also. 1999-12-11 17:55:13 +00:00
ragge
ae6ef93106 CL* discarding. 1999-12-11 17:54:04 +00:00
ragge
e921b99ca0 CL* discarding.
Move physmem setting to pmap_bootstrap().
Fix security problem in process_write_regs(), found by Klaus Klein.
1999-12-11 17:51:34 +00:00
drochner
0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
itojun
e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
ragge
351a7de621 Get symbol "NETISR_IPV6". This fixes PR#8790, but in a different way. 1999-11-19 22:09:55 +00:00
matt
65e94f7ef4 close the i386 ibcs2 machdep.h; nothing really machine dependent in it yet. 1999-11-16 00:46:25 +00:00
fvdl
8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl
d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
matt
d4c19a672a adapt to jason new pmap_enter change 1999-11-13 21:32:25 +00:00
matt
3891060822 Nuke TCP_COMPAT_42. Use sysctl to set it as needed instead. 1999-11-13 20:55:12 +00:00
thorpej
1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
ragge
2334c8a315 Allocate memory for printouts directly instead of (trying to) use the
yes uninitialized VM system.
1999-10-27 16:40:47 +00:00
ragge
9318cd75a1 Let smg be probed as all other possible consoles. 1999-10-27 16:38:54 +00:00
ragge
4bec31640a Avoid calling cninit() too early. 1999-10-27 16:37:54 +00:00
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