Commit Graph

1342 Commits

Author SHA1 Message Date
ragge fdc27c43a1 Fix booting from BI-based disks. 2000-06-11 10:39:26 +00:00
ragge e7aefcd7ae Allow printf's from slave CPUs by stealing the v_putc function.
Easier than expected because the printout lock is hold in the higher levels.
2000-06-11 07:50:11 +00:00
ragge b826825917 Code to spin up other CPUs on a VAX 8200 system.
Haven't solved the printf() problem yet, though.
2000-06-10 14:59:38 +00:00
matt 50dff37fd9 fix botch by me. 2000-06-10 05:24:46 +00:00
matt 2dde4ce0c9 Slight stylistic changes. Add KAME checksum routine. 2000-06-07 19:31:33 +00:00
jhawk c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
matt 661884208a add support for counting soft interrupts 2000-06-05 03:45:23 +00:00
matt 2f85fe7adb Adjust to new evcnt stuff. 2000-06-05 00:09:17 +00:00
matt ac621687a3 Add coff_machdep.h (now need due to the recent exec_coff changes). 2000-06-04 21:06:18 +00:00
ragge 1320a4106c Adopt to latest mba/hp changes. 2000-06-04 20:04:21 +00:00
ragge 79e7f9966d Adapt to mba changes. Fix assembler buf (EDIV uses 64-bit arg, not 32). 2000-06-04 19:58:17 +00:00
matt a8a863d4ea more cleanup. use __builtin_frame_address(0) instead of our funky
FRAMEOFFSET macro.  define an interrupt call frame and use that directly
instead of some magic offsets.  Make boot autoconf.o use the current
reality.
2000-06-04 19:30:14 +00:00
matt e2293f4ad0 Add a comment 2000-06-04 19:03:27 +00:00
ragge c46119030a Forward declaration of `struct proc'. 2000-06-04 18:27:39 +00:00
matt f08ff1ad2d use PR_IPL instead of 0x12.
align entries of various symbols.
2000-06-04 18:13:06 +00:00
ragge db7db1456e Remove home-grown interrupt vector handler.
Bus_space'ify; needed to get RH11 working. Still much more to do, though.
2000-06-04 18:04:38 +00:00
ragge d7a5a63645 Changes to sbi_attach_args. (and some cleanup) 2000-06-04 18:02:35 +00:00
ragge 1838716f7b Remove some unneeded code. (and cleanup). 2000-06-04 18:00:48 +00:00
ragge 82e0b5f7db Changes of sbi_attach_args. (and cleanup) 2000-06-04 17:59:50 +00:00
ragge 1e19df4bfd Clean up the sbi_attach_args struct and put in tag/handle.
Move a nice macro to scb.h.
2000-06-04 17:58:19 +00:00
matt 0bd304e528 More event counter stuff. Plus a little cruft cleanup while doing it. 2000-06-04 06:16:53 +00:00
matt 713121e8c4 Nuke it. It's in dev/qbus now... 2000-06-04 04:48:34 +00:00
matt 078c7563c2 newer version exists in dev/qbus. nuke this one. 2000-06-04 04:19:57 +00:00
matt 061896a992 now in dev/qbus so nuke this version. 2000-06-04 04:16:58 +00:00
matt 7c24069048 Add extra argument to scb_vecalloc (a struct evcnt *)
Move ivec_dsp from trap.h to scb.h
Add interrupt counting to asc, le, ze, ncr, dz interrupts.
add common support for counting interrupts to cnm_idisp so
it can be done very efficiently.
2000-06-04 02:19:24 +00:00
matt baaa1154d5 no need to raise ipl since the definition of softintr_schedule is that
it's from at or above softipl.
2000-06-02 22:14:10 +00:00
matt 34a96c661b replace spl4 with splconsmedia 2000-06-02 21:51:46 +00:00
matt d278b1da45 Add IPL_* codes.
Add other codes for struct references.
Add softintr framework for IPL_SOFTNET and IPL_SOFTSERIAL.
General cleanup of .s files replacing hardcoded structure offsets with
symbolic ones.
2000-06-02 21:51:15 +00:00
matt 83a385c230 use splsoftddb() instead of hardcoding the ipl. 2000-06-02 21:49:06 +00:00
matt b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt fb6a3dfb64 Include offsets in vs_cpu register in comments. 2000-06-02 21:39:54 +00:00
matt e488ca043b change void f() to void f(void) 2000-06-01 02:28:11 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
matt 22635242c9 Eliminate booted_from. extern'ed booted_device (for raidframe). nothing
outside autoconf.c in sys/arch/vax needs to deal with booted_device).
2000-05-31 23:55:51 +00:00
matt 7a66d70655 add placeholders for the MicroVAX 3400 (ka640). 2000-05-31 23:53:27 +00:00
thorpej 858becb7c2 In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
2000-05-31 05:10:54 +00:00
ragge 992002c2be Use the cpu_info struct to store cpu-specific data in the same way in
both uniprocessor and multiprocessor environments. Use the otherwise
unused internal CPU register SSP to store the cpu_info pointer.
The macros curcpu(), curproc, cpu_number() and need_resched() are now the
same in both uniprocessor and multiprocessor environments.
2000-05-29 20:00:55 +00:00
matt 33889a5e6c Enable DDB. 2000-05-28 20:21:04 +00:00
matt 166475069f fix it so it compiles. 2000-05-28 18:17:59 +00:00
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