Commit Graph

1340 Commits

Author SHA1 Message Date
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
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