Commit Graph

1805 Commits

Author SHA1 Message Date
chuck
fa0cb6c277 increase sc_maxxfer from 63K to 64K. otherwise fsck fails for
file systems with larger block sizes.
2002-09-13 03:00:18 +00:00
ragge
683a9a8544 Add COMPAT_15 and COMPAT_16 and commented-out dmf. 2002-09-12 19:23:45 +00:00
ragge
32923df5d6 Fix a signal handler bug originally reported by Hugh Graham some year ago:
If two signals are sent after each other without the process being run in
userspace between them then the second one will overwrite part of the signal
info stored on the userstack.
Fixed by rewriting and simplifying both the signal delivery code and the
trampoline code. Also bump signal version number to 2.
2002-09-12 18:22:23 +00:00
matt
02573a8516 Add non-_KERNEL variants so regress/sys/kern/lock will compile. 2002-09-12 07:31:13 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
lukem
fb7bc8541e arch/*/stand stuff should be LDSTATIC=-static and not LDSTATIC?=-static.
It doesn't make sense to have standalone stuff dynamically linked just
because an end-user uses LDSTATIC="".
2002-08-27 08:53:14 +00:00
ragge
9ed570274c Remove old dmf/dmz definitions. 2002-08-26 08:14:53 +00:00
thorpej
139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
ragge
2c43ae582f Must set correct HW unibus number so that disk autodetection on other
Unibuses than the first work.
2002-08-24 10:48:10 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
ragge
9e16460053 Count adapter, stray and device interrupts separately.
From Johnny Billquist.
2002-07-25 12:02:00 +00:00
ragge
2236994142 Increase the interrupt stack, to avoid problems reported on port-vax by
Olaf Seibert. (IPSec takes much stack space).
2002-07-25 10:44:25 +00:00
ragge
236406e440 Don't complain about Abuses that don't exist and tell about unsupported CI's.
From Johnny Billquist.
2002-07-24 10:17:45 +00:00
hannken
bfc31ebc74 Convert to new device buffer queue interface.
Approved by: Anders Magnusson <ragge@netbsd.org>
2002-07-22 21:48:36 +00:00
thorpej
3912e469dd Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device.  While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
abs
eb73becae2 Ensure all INSTALL config files consistantly include PIPE_SOCKETPAIR,
MALLOC_NOINLINE, and VNODE_OP_NOINLINE. The exceptions are when they
include another config files that already defines the options, or if
they are for an embedded board, just define a few extra options, and
do not already define PIPE_SOCKETPAIR.
2002-07-05 13:40:10 +00:00
thorpej
011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
junyoung
3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
yamt
d96bff0e27 add KSTACK_CHECK_MAGIC. discussed on tech-kern. 2002-07-02 20:27:44 +00:00
ragge
779789e94f Protect biodone() with spl7(). Found by art@openbsd, but fixed in the
wrong way.
2002-07-01 16:20:35 +00:00
mrg
383ef0f9dc make booting from FS_RAID work. tested on vs4000/90. 2002-06-24 14:53:16 +00:00
mrg
9dcb300af2 finish previous; it would be nice if people were to use the lovely
cross compiling mechanisms we have when making sweeping changes...
2002-06-23 03:00:19 +00:00
christos
3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
lukem
fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
matt
66f6833318 Make sure to cleanup the ${PROG}.out files 2002-06-15 19:26:49 +00:00
ragge
8d6f662016 Don't try to connect a keyboard to serial line 0 if the serial console
is on line 0; it may destroy line settings.
2002-06-10 21:32:15 +00:00
ragge
fa0b03a3ac Missed to check all possible non-graphics bits on VS2k, causing the
machine to crash during boot. Reported and debugged with help of
Valeriy E. Ushakov.
2002-06-10 20:52:11 +00:00
ragge
5e40948dec Support for reading Ultrix disklabels. From the pmax port, fixed and tested
by Valeriy E. Ushakov.
2002-06-10 17:45:53 +00:00
ragge
400cbd0aad Must multiply the pte count with its size when copying ptes when the P1
region is expanded. Fixes bug reported by Matt Thomas on port-vax.
2002-06-09 21:57:08 +00:00
matt
4cfae24f91 Add -ffreestanding and LIBC= to stand/boot/*/Makefile. Fix various
asm's to work with gcc-current.
2002-06-09 19:21:07 +00:00
ragge
c70e49d9e9 Change the uba devices from "xx0" to "xx*". Even if they have an exact
csr there may be multiple uba's in a machine and therefore multiple
matches for devices.
2002-06-07 14:48:11 +00:00
ragge
184de4483b Pipes and swap disks takes a not insignificant amount of KVA, so therefore
it must be used in KVA calculation.
2002-06-06 12:28:44 +00:00
ragge
dad88a6ce6 Just return if a zero uba vector is handled. It's OK to get them on Unibus
machines.
2002-06-06 11:40:53 +00:00
ragge
e2718cabea Do not disable interrupts until output queue is drained. 2002-06-04 21:58:55 +00:00
ragge
c691ddb3fb Repair VAX8600 support, which had bit-rotten, probably not used since -98. 2002-06-04 19:04:32 +00:00
ragge
2f48a39412 Need longer delay while waiting for mscp packets, otherwise it times out
on VAX8650.
2002-06-04 15:13:55 +00:00
drochner
d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
lukem
06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
ragge
7a69e342b6 Add 11/780 and 8600 to list for who to create a RPB. 2002-06-01 15:33:22 +00:00
ragge
f811a80bc3 Handle machine checks separate from other "stray" interrupts. 2002-05-31 15:58:26 +00:00
ragge
787f3adbcf ALIGNENTRY must always be 0 on vax, otherwise loadfile_aout won't work. 2002-05-31 15:22:01 +00:00
ragge
bb2b3afc9a Read correct Ethernet address on VXT2000. 2002-05-27 17:32:01 +00:00
ragge
97b3433515 Use correct ethernet address address on VXT2000. 2002-05-27 16:54:18 +00:00
ragge
7259fa6a37 %d -> %ld in some debug messages, after the ELF switch. 2002-05-24 21:41:40 +00:00
ragge
4d559e645f Boot support for the VXT2000 X terminal, based on some info on the VAXLinux
mailing list.
2002-05-24 21:40:59 +00:00
lukem
5e90f2ad0b deprecate MD installboot in favour of MI installboot in /usr/sbin 2002-05-14 14:57:14 +00:00
lukem
4369818766 Migrate alpha/pmax/vax bootblock stuff from <dev/dec/dec_boot.h> to
<sys/bootblock.h>  (leaving ultrix compat goo in the former)
2002-05-14 06:34:20 +00:00
matt
5916ff65fd Eliminate commons. 2002-05-13 21:11:23 +00:00
matt
0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
thorpej
74e2ee8d5c Define __NO_STRICT_ALIGNMENT. 2002-05-02 16:11:28 +00:00
ragge
96d4c35119 Don't try to probe for dz11 on 4000/90, may corrupt the flash rom (?).
Suggested by Hugh Graham <hugh@openbsd.org>.
2002-04-30 12:33:32 +00:00
thorpej
7be035e7c7 Only print console messages about SIGSEGV and SIGILL if the
kernel was built with DEBUG.
2002-04-29 01:54:11 +00:00
atatat
d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
lukem
2c1cfc8e8c - in <bsd.files.mk>, don't clear FILES after using it, as that prevents
make -V FILES
  from being useful (and given that every other variable can be
  extracted using make -V, the behaviour was unusually inconsistent
  given that the original reason for clearing it doesn't seem to be
  relevant anymore)
- use <bsd.prog.mk> instead of directly including <bsd.files.mk>
  (and possibly <bsd.man.mk> or <bsd.own.mk>)
- remove obsolete NOPROG
2002-04-24 08:18:45 +00:00
ragge
2d53738484 Cast some args to unsigned long (used with pointers). 2002-04-21 21:00:29 +00:00
ragge
f2996b0e79 Add dkbad, from 4.4. 2002-04-21 20:56:33 +00:00
gmcgarry
6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
matt
361b1bae1a Add stand/pcs 2002-04-09 18:03:48 +00:00
matt
d054aa6537 Move installation of pcs750.bin from etc/etc.vax to here so we can get an
object directory.
2002-04-09 18:03:07 +00:00
matt
110c3a2bbf Use ${PROG}.sym in CLEANFILES 2002-04-07 07:00:25 +00:00
ragge
04b9c4c25a Fix crash problems reported by mrg and bouyer in separate mails. 2002-04-04 16:40:14 +00:00
ragge
98ac85610c Check that each region is inuse before freeing their related extent.
This fixes (hopefully) PR#16164.
2002-04-02 09:47:34 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
ragge
205b746c87 Wrap up SHMMAXPGS to 1024, no reason to keep it low. 2002-04-01 13:28:10 +00:00
christos
83c2f7aaf5 compat signal array renaming. 2002-03-31 22:21:02 +00:00
matt
15bab55a0c These haven't been use for a long time. Move 'em to the attic. 2002-03-31 07:32:18 +00:00
matt
a5b7362c83 Don't build boot.mop. Remove a redundant ${INSTALL_FILE} 2002-03-31 07:30:22 +00:00
matt
71f2ffe1e7 In db_stack_dump, only symbolize pc if it's in the text segment. 2002-03-31 00:14:18 +00:00
matt
015bf59476 Make ddb symbol loading work for ELF as well a.out. 2002-03-31 00:11:13 +00:00
matt
dac318e592 Make ramdisk 1.5MB in size. cleanup miniroot makefile 2002-03-29 06:37:53 +00:00
matt
ced55d92b0 Add a xxboot_ustarfs for floppies. 2002-03-29 05:45:07 +00:00
matt
9eed702ba1 Don't include <bsd.prog.mk> if HOSTPROG is defined (so vax installboot can
become a host tool as nbvax-installboot).
2002-03-29 00:58:38 +00:00
matt
de12aa443d Add missing wskbd 2002-03-28 05:45:08 +00:00
matt
8d529326e9 Adapt to recent dz/wscons changes 2002-03-28 05:42:16 +00:00
matt
e00090dded Make the comment reflect reality a bit more. 2002-03-27 18:37:17 +00:00
jdolecek
abc9dff158 Limit the KVA used for pipe loaned memory to 64KB, vax doesn't have too
much KVA space spare. This fixes port-vax/13333 by Manuel Bouyer.
Reviewed by: Anders Magnusson

XXX this is not ideal, need to find better solution
2002-03-24 19:08:17 +00:00
ragge
300bbc803f Check unit number when booting from rl disks. 2002-03-23 18:13:04 +00:00
ragge
c034dd5209 Inline functions that mostly do not need to be called. Partly
rearrange/change the code to be able to avoid some inefficient functions.
Profiling shows that the time spent in pmap now is decreased by 20%. (!)
2002-03-21 22:08:08 +00:00
christos
7e277b5782 kill remaining PS_STRINGS instances. 2002-03-20 17:59:22 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
ad
690cf19e33 Give wskbdmap_lk201.c its own attribute. 2002-03-13 15:18:19 +00:00
ragge
fe503fb96f Major update of the vax pmap:
- Reinstall the "dynamic page table length" that was removed some
	  years ago.
	- Limit the user page table submap to max 5% of available memory.
	- Free the page table space when a process is swapped out.
	- If the UPT submap runs out of space, throw away pmap mappings
	  using the same algorithm as for swapping processes.

As a result of this, 4MB machines are useable again and it's even possible
to compile a kernel for 2MB machines (but it will be slow... :-)

Still to do:
	- Multiprocessor fixes.
	- More profiling.
2002-03-10 22:32:31 +00:00
lukem
cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
tsutsui
3c8b0446fe Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
2002-03-06 13:10:18 +00:00
simonb
9bcc70fa1d Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
2002-03-05 09:40:38 +00:00
simonb
6f0fb25121 Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>. 2002-03-04 02:43:22 +00:00
ragge
16cd24dea4 usrptsize was not correct calculated, fixed.
Add space to system page table for the UVM kernel area.
This fixes the KVM usage problem that Manuel Bouyer reported a while ago.
2002-03-01 23:55:10 +00:00
simonb
4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
christos
e8116a8f5b - Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
simonb
d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
ad
3f78ffdeca Argh, dont reference any wscons parts in files.dec yet. 2002-02-25 17:11:17 +00:00
ad
f89bb3064e Move the dz driver to dev/dec, since it can be shared with pmax. 2002-02-25 14:58:06 +00:00
matt
28b1aa2b30 Move .s files to .S files. (and .s.o rules in boot/Makefile.inc)
Put in register prefixes everywhere.
2002-02-24 01:04:23 +00:00
matt
17a0652faf Change the default entry for ELF. 2002-02-24 00:17:42 +00:00
matt
6cad4b795d Upon further reflection, move udiv/urem to libkern and out of vax/vax. 2002-02-24 00:08:19 +00:00
matt
87806a826d Rename VAX kernel assembly source from .s to .S (the NetBSD standard) 2002-02-23 23:48:00 +00:00
thorpej
9d6e94072b Bump the default data limit to 32M and the max data limit to 64M.
These are the same values that the hp300 port uses (lesser hp300s
have roughly the same memory constraints as "lesser" vaxen), and
bumping them allows us to run a statically linked ELF groff(1).
2002-02-19 22:44:35 +00:00
wiz
37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
matt
ae8db582d5 Add code to pass symbol table from loadfile to kernel. 2002-02-18 23:06:14 +00:00
chs
b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
thorpej
c71d1b0307 Don't pass -mno-pic if we're using ELF. 2002-02-11 00:25:19 +00:00
thorpej
f7d5e6da06 Remove blkclr() and blkcpy(); similar routines have been added to
libkern.
2002-02-10 22:06:45 +00:00
thorpej
30bdf5c12e * Add __unused__ attribute to inline functions.
* Call __blkclr() and __blkset() as appropriate.
2002-02-10 22:06:12 +00:00
lukem
971861de37 use ${INSTALL_FILE} as appropriate 2002-02-09 09:35:59 +00:00
jdolecek
6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
jdolecek
ff8305bbac Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
2002-01-21 21:56:57 +00:00
oster
39b858e3bf Add new RF_* options for RAIDframe bits that are no longer built by default.
While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.

Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
2002-01-19 18:45:06 +00:00
manu
5f90ae55b5 Added clockctl 2002-01-12 14:52:40 +00:00
martin
b506d6e135 Add PPPoE to all generic kernels that should be able to use it.
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
2001-12-28 12:21:52 +00:00
matt
5887cef210 Don't install boot.mop if ELF. 2001-12-23 02:21:35 +00:00
matt
0dab9a35b5 #include <sys/types.h> in case this is included before that was. 2001-12-23 02:21:03 +00:00
matt
238448b56b Make VAX kernels work again. Entry on vax is start, not _start. 2001-12-23 02:14:03 +00:00
gmcgarry
bdd225baa1 Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
2001-12-14 05:34:45 +00:00
lukem
b0b0a32ad7 Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
2001-12-12 12:24:19 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
ragge
c7bae7c419 Add forgotten "hdc" and "rd" disks. 2001-12-11 15:14:25 +00:00
thorpej
51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
thorpej
2494c460a5 Use inline functions for the byte swap routines. Allows libc to build
again (-Wshadow).
2001-11-29 22:32:45 +00:00
lukem
ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
lukem
e336250e74 use #ifdef INET instead of #if INET (for consistency with the rest of the kernel) 2001-11-28 05:22:48 +00:00
atatat
f4c8a80b47 Oops. Add in missing entry point settings. 2001-11-23 15:44:15 +00:00
atatat
155e541aa2 Instead of checking for previous usage, just append to some make
variables.  Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
2001-11-23 05:18:59 +00:00
lukem
0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
atatat
d5de3c2fb2 Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports.  This should reduce the complexity of each port's kernel
Makefile considerably.  Line counts:

     227 arch/i386/conf/Makefile.i386.orig
      98 arch/i386/conf/Makefile.i386
     227 arch/alpha/conf/Makefile.alpha.orig
      99 arch/alpha/conf/Makefile.alpha
     219 arch/sparc/conf/Makefile.sparc.orig
     102 arch/sparc/conf/Makefile.sparc
     215 arch/vax/conf/Makefile.vax.orig
     102 arch/vax/conf/Makefile.vax
     253 conf/Makefile.kern.inc

Roll i386, alpha, sparc, and vax over to the new build machinery.
2001-11-16 00:23:02 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
scw
45e7238a02 Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
2001-11-09 19:53:11 +00:00
matt
e85e9a59a1 Make this compile under ELF. 2001-11-09 05:31:44 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
ragge
9332449994 Check if page to be remapped in pmap_enter() is entered by pmap_kenter_pa(),
to decide whether to remove the previous mapping from pv_table or not.
Should fix PR#12231.
2001-09-30 17:12:08 +00:00
chs
80373b7e54 don't depend on other headers to include sys/proc.h for us. 2001-09-28 11:59:51 +00:00
chs
3628675acf implement pmap_wired_count(). 2001-09-24 01:48:15 +00:00
ragge
8199c6a469 Some ID strings + other consistency fixes, from Michael Kukat. 2001-09-18 16:41:25 +00:00
simonb
1bc6516acc Only define _BSD_WCHAR_T_ once. 2001-09-17 05:40:38 +00:00
ragge
482334fa14 Add bus_space_mmap(). 2001-09-16 20:39:02 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
ragge
bed9e93ceb #define __HAVE_GENERIC_SOFT_INTERRUPTS for netisr_dispatch.h. This is
already defined in machine/types.h, but that file cannot be included
in an assembly file.
2001-09-16 12:51:03 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
matt
97c7e7fe8d Always include -Wno-main 2001-09-09 22:53:02 +00:00
atatat
97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
simonb
023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
chs
ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
chs
b356420a02 in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:36:28 +00:00
wiz
e320555c3b if_il.c lives in dev/qbus now, and is mentioned in dev/qbus/files.uba.
Remove commented out line for it.
2001-08-18 14:52:37 +00:00
matt
b46d7a47ab Don't substract KERNBASE, xor it to clear. The former causes GNU ld to
bitch about a signed overflow and this code is only done once, incurring
an extra instruction isn't going to matter much in the long run.
2001-08-05 06:14:22 +00:00
bjh21
ad2c12a28d Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading.  I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +00:00
matt
218b61dcd1 Change clock_t and time_t to more LP64 friendly types. 2001-07-28 07:43:07 +00:00
matt
f47c5bbd3d Under ELF, change clock_t and time_t to int's (more LP64 friendly). 2001-07-28 05:04:45 +00:00
ragge
f5abeb5b4b Set MAXPHYS to 64k instead of 63k. 2001-07-27 12:58:21 +00:00
ragge
39a7595b28 Calculation of unibus map register size was wrong. 2001-07-27 12:57:20 +00:00
wiz
e11d04474c issueing -> issuing 2001-07-26 22:55:12 +00:00
wiz
30b2bf87ed Various typos in comments (neccessary, sceme, choise, ...). 2001-07-26 15:05:07 +00:00
wiz
a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
ragge
29455521b5 Do more intelligent calculation of KVM size. This reduces the amount of
pre-allocated physical memory significantly.
A 11/750, for example, get 2MB more free (of 14MB), about 12%.
2001-06-30 12:54:33 +00:00
darcy
ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
ragge
2c4d8265db Panic if page fault on interrupt stack, per request from Jason Thorpe. 2001-06-28 21:54:23 +00:00
matt
c12370b691 Don't include -mno-pic on gcc 2.95 2001-06-25 05:12:01 +00:00
lukem
da0e06bcd6 remove remnants of np device, per my recent files.vax commit 2001-06-22 16:40:51 +00:00
wiz
e2eaa3b87a constraint, not contraint. 2001-06-21 12:15:03 +00:00
thorpej
8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
lukem
6b358ba879 remove interlan np100 entry as the referenced files don't exist 2001-06-13 06:43:08 +00:00
ragge
3bd0afbc54 Make tracing of stack by frame argument work. 2001-06-12 13:22:06 +00:00
ragge
5335780e31 Support to get into DDB from hardclock interrupts by putting a value in
the RPB wait field.
2001-06-12 13:20:29 +00:00
ragge
8f96f4b21c Fix problem where console interrupts never got enabled after RB_ASKNAME. 2001-06-12 13:18:38 +00:00
ragge
8f68bebb7e Detect 4000/VLC correctly + make halt/reboot work.
From Michael L. Hitch (mhitch@montana.edu).
2001-06-12 11:24:50 +00:00
wiz
40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
ragge
83e47d5e8d Revision line #1 broke, fixed. 2001-06-10 20:47:49 +00:00
ragge
b47f638d85 Check in work done by bjc@openbsd.org, OpenBSD revs 1.4 and 1.5 of the
same file. No other changes, OpenBSD log messages below.

> More EMODD work:
>         - Using CVTDL and subtracting to seperate integer from fraction does
>           not work if the integer is >32 bits long; instead, rearrange the bits
>           into a quadword, use ASHQ to truncate, and then subtract.
>
> Also:
>         - Set the condition codes properly; this fixes the other problem with
>           >32-bit-integer parts in libm by letting modf subtract the fractional
>           part (which *is* a double) to get the integral part in a double.

>         - move the zero checks earlier in the routine
>
>         - instead of 'ret' in zeroexit, use brw goback

> Switch a "BGTR foo" to a "BLSS bar; BRW foo; bar:".  In this case, the
> difference between the BGTR and foo: is too large for a byte displacement.
> as should give an error or at least a warning here, but it doesn't;
> instead it merrily outputs a completely bogus displacement.
> This fixes problems with EMODD on numbers with negative exponents.
>
2001-06-10 20:46:18 +00:00
chs
762bab2606 implement pmap_clear_modify() correctly. 2001-06-07 05:29:13 +00:00
chs
ec218acedd make this compile without MULTIPROCESSOR. 2001-06-06 06:29:36 +00:00
chs
8688ff47c8 make this compile without DEBUG. 2001-06-06 06:23:13 +00:00
ragge
32874c14c8 Detect MicroVAX 3100/m80 correctly. From Michael Kukat. 2001-06-05 11:25:11 +00:00
ragge
f81f19e7b3 Add rudimentary multiprocessor support for DDB. 2001-06-04 21:37:11 +00:00
ragge
93ece82137 Check for console printf's in spinlocks, per discussion on tech-smp. 2001-06-04 15:37:05 +00:00
ragge
30e020fbaa The beginning of pmap locks. While here, some cleaning and KNF. 2001-06-04 15:36:00 +00:00
ragge
81d993ac3b Add splipi(). 2001-06-04 15:34:57 +00:00
ragge
da2e5c43e1 Add IPI_TBIA to flush the translation buffer. 2001-06-04 15:34:15 +00:00
ragge
d35f5e00dc Move some locks closer to the important point. 2001-06-04 15:33:07 +00:00
ragge
e2f864bf95 Break out the MP-dependent calls. Add definitions for the IPI functions. 2001-06-03 15:12:57 +00:00
ragge
d0a8785b5e Add define for IPI vector. 2001-06-03 15:10:34 +00:00
ragge
8d7b76581f Implement spinlocks as subroutines instead of inlines.
Add SPINLOCK_SPIN_HOOK; the VAX has low-priority IPIs like Alpha.
2001-06-03 15:10:11 +00:00
ragge
6e219aa5a7 Add bbssi/bbcci (bit set/clear and branch interlocked) as inline functions. 2001-06-03 15:08:32 +00:00
ragge
1da9a91480 A bunch of fixes:
- Make generic console routines not relying on running on master cpu.
- Add routine to start console transmitter (after IPI).
- Use real IPIs instead of the "console doorbell".
- Add routines cpu_send_ipi()/cpu_handle_ipi().
2001-06-03 15:07:20 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
ragge
d674a69f7a And now we're running! 2001-05-29 21:55:00 +00:00
ragge
2de1ab0486 Add ci_cpuid.
Change the CLKF_ macros because the idle loop is now running at IPL1.
2001-05-29 21:29:32 +00:00
ragge
3b4d7a2948 Must lock kernel when softclock is called from outside hardclock. 2001-05-29 21:28:14 +00:00
ragge
1cf7a84a88 Add a bunch of locking code for MP systems. 2001-05-29 21:27:25 +00:00
ragge
c20a10d57d Call proc_trampoline_mp() after fork in multiprocessor environment. 2001-05-29 21:26:44 +00:00
ragge
6492868388 Change Swtch so that the old process context is stored directly and the
idle loop is on the interrupt stack instead of the last running process'
stack. This is needed to work in a multiprocessor environment.
2001-05-29 21:25:11 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
ragge
b7fc0b163a Compare arguments must have correct order, won't work as expected otherwise. 2001-05-27 19:33:20 +00:00
ragge
aee2068e10 Don't install machine/loadfile_machdep.h; per PR#12666. 2001-05-27 15:37:06 +00:00
chs
11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
matt
8db6fcfd51 Move the diagnostic tests with the if. 2001-05-19 23:47:19 +00:00
matt
66d1e28936 Don't compute psuedo header checksum if nxt == 0. 2001-05-19 00:04:56 +00:00
matt
c45b32243a Add a VAXANY type. Eventually to used in INSTALL / GENERIC to easily
include support for all VAX platforms
2001-05-16 05:36:53 +00:00
ragge
825165a54a Octal numbers _must_ have a heading '0'! 2001-05-15 18:59:45 +00:00
ragge
74d7e1ecfa Write support for TU58 tapes written. 2001-05-14 14:43:45 +00:00
ragge
73b901c711 Add checksum calculation, busy-wait loops for receive packets and use
correct interrupt levels (spl7). Reading tapes now work reliable.
2001-05-13 21:19:44 +00:00
matt
ed4e69766c Add VAX640 2001-05-13 15:37:28 +00:00
ragge
68d0ed5c0c Add bus type. 2001-05-13 15:24:18 +00:00
ragge
f0870603cb Remove forgotten VAX_BTYP_690. From Michael Kukat. 2001-05-04 14:13:50 +00:00
matt
1d9ed205f2 change to let make obj work right with MAKEOBJDIRPREFIX and read-only source 2001-05-03 05:23:29 +00:00
ragge
5d8483d12a KA690 is not a Mariah. From Michael Kukat. 2001-05-02 17:35:12 +00:00
matt
2cc76644a2 Use the symtab info given by loadfile in the booter instead of assuming
we know where it is.  This is a requirement for ELF.
2001-05-02 16:05:07 +00:00
matt
504811fa55 Include ELF symbol in DDB is we are an ELF kernel. 2001-05-02 15:59:38 +00:00
matt
62b9bd04b1 Pass the numbers of syms down as well. 2001-05-02 15:33:14 +00:00
scw
2963ff5c58 Add l_poll' to struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
matt
4bef52d8d5 Use loadfile with boot commands, not exec. 2001-05-02 06:56:54 +00:00
matt
4414a7f791 Keep around a version of boot with symbols. 2001-05-02 06:56:29 +00:00
ragge
2ea00c4d85 Add ka610, remove TS11. 2001-05-01 13:21:27 +00:00
ragge
b07617dece More CPU definitions. From Michael Kukat. 2001-05-01 13:20:35 +00:00
ragge
9ee994852e Use linear memory mapping for MV1. No map registers. 2001-05-01 13:20:02 +00:00
ragge
e0a272b2cb Support for MicroVAX 1. 2001-05-01 13:18:27 +00:00
ragge
ecf0eb7abd CPU support file for KA610 (MicroVAX I). Very simple. 2001-05-01 13:17:55 +00:00
ragge
68cb5a262d Do not (try to) remap the qbus on MV1. 2001-05-01 13:08:09 +00:00
ragge
362abadb92 Detect 4000/500A, 4000/600A and 4000/705A. Also detect MicroVAX 1. 2001-05-01 11:13:46 +00:00
ragge
1e1a8fa3fd Support for more NVAX types: VAX 4000/705A and (untested) 600A.
From Michael Kukat.
2001-05-01 11:11:47 +00:00
matt
1e70afa5e6 Make the jmp_buf bigger under ELF so it can store a full context. 2001-05-01 04:47:37 +00:00
thorpej
cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
matt
79649c917a Move RB_KDB check to after VM is init so that there's an
interrupt stack for DDB to run on.  This makes boot -d work.
2001-04-30 04:26:19 +00:00
thorpej
2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
matt
a403ed4939 Fix printing of stack traceback (last argument was always wrong). Use
%#x so that 0s are 0 and not 0x0
2001-04-29 22:17:24 +00:00
kleink
fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
ragge
0c1fdede08 MD in4_cksum. 2001-04-28 09:38:03 +00:00
ragge
8f8a96a056 Fix a bug so that MD-optimized in4_cksum() now works.
While here; rewrite header checksum calculation in assembler.
2001-04-28 09:36:01 +00:00
ragge
ec52ca1e06 Enable the L1 cache on KA640. Problem reported and testing help from
Saku Setala.
2001-04-27 15:02:37 +00:00
kleink
99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
bouyer
937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
ragge
2f019a2701 Support for KA681 (4000/500A) from Michael Kukat. 2001-04-24 20:16:36 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
1e306aae10 Garbage-collect pmap_bootstrap_alloc(); nothing uses it. 2001-04-23 23:58:09 +00:00
thorpej
55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej
cfb5c7ed9f Make pmap_virtual_space() a required pmap function, even on platforms
which have pmap_steal_memory().  This is to reduce the API differences
between pmaps that implement pmap_steal_memory() and pmaps which do
not.

Note that pmap_steal_memory() needs to adjust *vstartp and/or
*vendp only if it used addresses within the range provided to UVM
via the pmap_virtual_space() call.  I.e. it is not necessary to do
so in any current pmap_steal_memory() implementation.
2001-04-22 17:22:57 +00:00
thorpej
4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
c544d84b41 Catch up with ansi.h rev. 1.12: define SIZE_T_MAX and SSIZE_MAX as long
integer constants in ELF environments.
2001-04-15 14:16:08 +00:00
kleink
80ad23a5da Catch up with ansi.h rev. 1.12: define intptr_t and uintptr_t as long
integers in ELF environments, like is done with ptrdiff_t.
2001-04-15 13:38:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
kleink
9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00