Commit Graph

1717 Commits

Author SHA1 Message Date
ragge 6ad43b52da Add some instrumentation and clean up some VAX8600 code.
From Johnny Billquist.
2003-01-19 22:29:22 +00:00
ragge aa92009e2b Bring back "START=start", otherwise booting via real VMB don't work. 2003-01-19 21:37:04 +00:00
thorpej d2275d51e1 Merge the nathanw_sa branch. 2003-01-18 06:55:21 +00:00
wiz 1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
lukem 4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
wiz 7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
thorpej 9c1214153c Use aprint_normal() for cfprint routines. 2003-01-01 02:20:47 +00:00
thorpej 703e7687a9 Use aprint_normal() in cfprint routines. 2003-01-01 00:16:46 +00:00
ad d4ed18b479 Block tty interrupts in getc()/putc(). 2002-12-29 20:12:19 +00:00
ad 17fa1f0778 - X pads bitmap rows to a word boundary.
- Handle WSDISPLAYIO_GCURMAX.
2002-12-29 20:01:17 +00:00
manu 4a06119a9d Pass the system call table to trace_enter() and ktrsys() so that it is
possible to use alternate system call tables. This is usefull for
displaying correctly the arguments in Mach binaries traces.

If NULL is given, then the regular systam call table for the process is used.
2002-12-21 16:23:56 +00:00
thorpej e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej 78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
ragge 0b23d06491 Revert Jason's changes to the boot startup code:
- All regs must be saved before any register is altered.
- movc{3,5} alters r0-r5, so clearing bss would clear the text instead.
This needs more thinking/testing to get it work correct; there are
different ways different CPUs call "boot".
2002-12-02 20:23:32 +00:00
matt 56effcf269 Add multiple inclusion protection. 2002-12-01 21:21:44 +00:00
matt 4913834e76 Fix inconsistencies in various definitions of avail_*, virtual_*, and
proc0paddr.
2002-12-01 21:20:31 +00:00
lukem 0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
wiz e78e668887 Fix typo (responsiness -> responsiveness). 2002-11-22 12:20:58 +00:00
uebayasi c041971257 Fix compilation errors introduced by recent trace_enter()/ktrsyscall() changes.
Provided by FUKAUMI Naoki <naoki at fukaumi dot org> in kern/19070.
2002-11-16 07:40:38 +00:00
ragge f1b859f028 Fix vax_mem_read_region_{2,4} bug, by der Mouse (mouse@Rodents.Montreal.QC.CA). 2002-11-15 14:52:56 +00:00
ragge adca0d86b2 Fix for a problem where an user can crash the machine via sigreturn(),
noticed by and fix from Miod Vallat <miod@openbsd.org>.

Miod's OpenBSD log message:
> Don't uvm_useracc the user sigcontext in sys_sigreturn and then access
> the user addresses directly from the kernel. copyin is faster and can
> correctly deal properly with mappings that uvm_useracc thinks are
> correct but will fault anyway (to figure out how to generate such
> mappings is left as en excercise for the reader).
>
> Blatantly stolen from art@'s similar fix to sparc.
2002-11-14 20:30:40 +00:00
thorpej aca074b95d Add -mno-asm-pic to CFLAGS and AFLAGS. 2002-11-05 14:35:30 +00:00
thorpej e0f2bd703f Only skip the copy if we are already relocated; always clear
the BSS.
2002-11-05 06:16:21 +00:00
thorpej 80369ce3c8 Set the entry point to 0 for the ELF case, too. 2002-11-05 06:10:35 +00:00
mrg 603098b9b5 implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.
2002-11-01 11:31:50 +00:00
jdolecek c82ab2eb79 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-26 13:50:17 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
junyoung e4b7588c28 Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-18 15:11:08 +00:00
elric 5ab71e20b0 Added commented out cgd(4)s to GENERIC configs. 2002-10-14 18:39:22 +00:00
chs b79663cf62 eliminate PT_ENTRY_NULL in favor of plain old NULL. 2002-10-14 05:11:21 +00:00
thorpej f157f8fff5 Add missing register prefixes. 2002-10-10 17:12:23 +00:00
jdolecek de8f0324ad use (volatile int) cast, rather than just (volatile); the latter gives a warning 2002-10-10 11:45:14 +00:00
provos 2f7a0aaac8 add SYSTRACE; approved perry. 2002-10-06 02:11:54 +00:00
elric d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00
matt 2f1192b327 CFATTACH mem_sbi, not sbi 2002-10-04 17:09:51 +00:00
thorpej 4bf871a755 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:02:08 +00:00
thorpej 354bc052d9 Use the register prefix in the ELF case in _PROF_PROLOGUE. 2002-10-02 00:23:29 +00:00
abs ef14d0e624 Enable PPP_* options for ppp 2002-10-01 09:52:10 +00:00
abs cd05e3d894 Enable ppp 2002-10-01 09:37:11 +00:00
thorpej fa165ee3fd Use CFATTACH_DECL(). 2002-10-01 05:18:59 +00:00
wiz b1c7ac0e6d "definitions" has lots of 'i's, but that's not reason to leave one out. 2002-09-29 23:23:56 +00:00
thorpej 50d060cc52 Record stack growth, done inline to avoid another function call on
every user page fault.

XXX Should make uvm_grow() an inline.
2002-09-29 16:49:45 +00:00
ragge 780401f935 Add common routines to talk with the CPMBX, from Hugh Graham (hugh@openbsd.org)
This makes halt/reboot work correctly on a bunch of machines.
2002-09-28 09:53:07 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej 71404bb533 Don't include <sys/map.h>. 2002-09-25 22:21:01 +00:00
thorpej d3f6afbf48 Don't use rmaps; use extent maps instead. 2002-09-25 21:25:39 +00:00
martti 81e8d78cd4 Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK" 2002-09-25 11:49:48 +00:00
ad 176dcfaf3d On pmax, drop into DDB on break. 2002-09-24 06:19:09 +00:00
simonb 63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
chs c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs 55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gmcgarry 7fe2ef36b9 Update for cpu_switch() prototype changes. No functional change. 2002-09-22 05:39:24 +00:00
gmcgarry dca80f08fd Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives. 2002-09-22 04:11:32 +00:00
martti 3b553bac54 Added (commented out) IPFILTER_DEFAULT_BLOCK. 2002-09-20 10:39:48 +00:00
ragge 5e6a28c57c Adopt to boot block change; check for LUN on SCSI disks also. 2002-09-19 17:41:58 +00:00
ragge a5beda58fa Remove the (today) unneccessary boot unit number conversions for rom-booted
disks. This allows for booting from different LUNs on SCSI disks.
2002-09-19 17:41:21 +00:00
ragge b3abfee038 Do not include <sys/clist.h>, it's not used in NetBSD at all. 2002-09-19 10:37:59 +00:00
ad 4202c1f405 - The VSXXX is an 8-bit device, not 7.
- Obey ls->dz_line in dzputc(), since dzms uses it.
- Remove an odd "circular" reference that doesn't appear to be useful.
2002-09-18 18:36:52 +00:00
lukem 3ea2e21f82 enable USERCONF by default; it's small and extremely useful to have available. 2002-09-18 02:43:53 +00:00
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