Commit Graph

2750 Commits

Author SHA1 Message Date
thorpej 7478f1c9a3 Add sf(4), gsip(4), gphyter(4) drivers. 2001-06-18 22:40:19 +00:00
christos 59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +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
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
simonb e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
lukem 5429ee5e02 add iha(4); it works in my pc164 after thorpej fixed a minor issue 2001-06-07 03:51:53 +00:00
thorpej 95eaadac34 Use symbolic names for the CTB terminal type field, rather than
hard-coded constants.
2001-06-05 04:53:11 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
enami da8f8f1e72 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-31 07:37:01 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
he 47ae105daa Add Makefile snippets to install netboot in installation/netboot
under ``make release''.
2001-05-28 18:21:12 +00:00
sommerfeld 4aaf078a4a Assorted microtime fixes (similar to fixes I made yesterday when
porting this code to i386mp branch):

 - call microset() early on each cpu so that calls to microtime()
before the first clock interrupt don't return trash.  this manifested
itself as garbage runtimes in "ps" for kernel threads.
 - avoid races between hardclock updating "time" and microset on a
different cpu reading it by adding a "microset_time" global which is
initialized from "time" on the primary cpu.
 - call microset every hz ticks, not every hz+1 (cosmetic)
2001-05-27 13:53:24 +00:00
chs e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
thorpej 937cea769e Brain'o in last. Pointed out by Steve Woodford <scw@netbsd.org>. 2001-05-19 14:20:40 +00:00
tsutsui a1931e2305 Remove unneeded scsipi includes. 2001-05-19 05:22:41 +00:00
thorpej 1af4d30054 Don't compute psuedo header checksum if nxt == 0. 2001-05-19 00:30:35 +00:00
ross 26882092f4 o Deal with stray machine checks
o Add for alpha a security-sensitive rate-limiting printf(9) wrapper based
  on ratecheck(9):  void rlprintf(struct timeval *t, const char *fmt, ...);
2001-05-14 19:56:22 +00:00
ross f62f237fde Fix new DEBUGLIST feature. 2001-05-14 19:49:03 +00:00
ross 04ff12867f Make the /u part of show reg/u work. 2001-05-13 01:40:58 +00:00
ross d6a25f9b02 Add DEBUGLIST mechanism. Example config line:
makeoptions DEBUGLIST="uvm* trap ufs*"
This turns on -g for only those files matching a DEBUGLIST pattern word.
2001-05-08 05:47:35 +00:00
ad 14ad1926a8 Add mlx at eisa. 2001-05-06 20:32:20 +00:00
thorpej 18c5f91b0b Fix a deadlock cause by a lock ordering interaction between pmap_enter()
and pmap_growkernel().
2001-05-05 18:22:04 +00:00
thorpej 18639a81be No need to have code we don't use anymore. 2001-05-05 02:20:53 +00:00
thorpej fcbf0b9d21 Add systype for "Titan" systems (systype 38). 2001-05-03 20:52:19 +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
thorpej cfda5afaa5 Add some page coloring defaults. 2001-05-02 02:30:30 +00:00
thorpej 5291142217 Determine the size of the B-Cache earier, and initialize the
number of page colors accordingly.
2001-05-02 01:24:29 +00:00
thorpej 05dac31b1e Initialize the VM page size before calling the platform init routine. 2001-05-02 01:05:16 +00:00
ross 43c3cc6cc0 Fix lock problems with error flow reorg. 2001-05-01 05:53:29 +00:00
thorpej cf3594e27e Delete the pmap_copy() calls. 2001-05-01 05:33:12 +00:00
thorpej 72a57e578e Use CPU_INFO_FOREACH(). 2001-05-01 05:16:44 +00:00
thorpej ed63ff3c52 Use a single linked list for PV entries. This saves 1MB of space
on my 1G RAM AlphaServer.
2001-05-01 02:53:05 +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
ross 613d465e10 apply recent changes to DEBUG code 2001-04-30 19:00:41 +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
sommerfeld a80b986278 Correct microtime() to use the microsecond part of the base timestamp. 2001-04-29 17:04:41 +00:00
thorpej f38e77afea Add glue for page zero'ing in the idle loop. 2001-04-29 06:54:03 +00:00
thorpej a96fcfa38c Disable the optimized in4_cksum() for now -- there seem to be problems. 2001-04-29 05:54:29 +00:00
thorpej cee702b869 Optimized in4_cksum(). 2001-04-29 03:29:21 +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
thorpej 53c1b3f9d7 Add a microtime() implementation that interpolates between ticks
using the cycle counter.  MP-safeness is achieved by giving each
CPU its own PCC frequency variables, and kicking the non-primary
processors via an IPI once per second.

Based on the sample code from David Mills' "A Kernel Model for
Precision Timekeeping".
2001-04-28 06:10:49 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
ross 32edf97089 Move fp_complete() outside kernel lock perimeter. 2001-04-26 04:21:35 +00:00
ross b569533b9a Clean up 3 comments. 2001-04-26 04:16:17 +00:00
ross 2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +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
thorpej c28272808b Remove the PTP and PV entry stealing code. Now that the pmap
module can fail gracefully, it serves little purpose, and the
code is a bit complicated and adds overhead to the context
switching code.
2001-04-24 20:53:43 +00:00