Commit Graph

1082 Commits

Author SHA1 Message Date
mrg
059d4936ab extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.
2001-06-06 21:19:48 +00:00
mrg
ea39a5c3b4 make a NETBSD32 stack check LKM friendly. 2001-06-06 21:06:52 +00:00
mrg
5d3a461f45 use _KERNEL_OPT 2001-06-05 14:43:04 +00:00
mrg
46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
chs
88905c8ca1 clear and restore pcb_onfault around calling uvm_fault(),
so that bugs in the fault-handling code will panic sooner.
2001-06-03 03:12:31 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +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
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
chs
11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
mrg
9d582d76fc notice siop boot devices. 2001-05-18 23:32:48 +00:00
mrg
2f3c8dae5a correct some comments. <80 char debug statements. 2001-05-18 22:01:57 +00:00
mrg
f42ff7ccae minor cleanups. 2001-05-18 22:01:19 +00:00
mrg
38025bb818 kill dead code. 2001-05-18 21:53:26 +00:00
mrg
e8e471a863 cross compile friendly. 2001-05-18 21:50:45 +00:00
mrg
a9f7a4e194 move the sbus IOMMU work around into the sbus code, so that the psycho
doesn't have to lose a page.
2001-05-18 21:35:23 +00:00
mrg
0bbf8dcb9f update some unused code to reality. 2001-05-18 21:00:47 +00:00
mrg
0996d006da do not force ebus interrupts to have bit 0x20 set. 2001-05-18 19:17:50 +00:00
chs
8f77918d6c the call to uvm_km_valloc() in pmap_init() can end up triggering a call to
pmap_growkernel() on large memory machines.  at this point we've already
called uvm_page_init(), so we can no longer use uvm_page_physget().
but the flag we use to decide whether to use uvm_page_physget() vs.
uvm_pagealloc() is only set at the end of pmap_init(), so we use
uvm_page_physget() anyway.  switch to using uvm.page_init_done to decide
how to allocate pages, since that's the real indicator of when we have to
change methods.
2001-05-17 02:31:26 +00:00
kleink
9e162d4ea5 Delint my previous change. 2001-05-12 22:42:07 +00:00
kleink
58a818769b * Fix remaining 32-bit vs. native pointer problems in data structures;
reviewed by Eduardo.
* Define the size of uc_pad, so ucontext32_t will have the correct size.
2001-05-11 17:37:14 +00:00
kleink
1d8e184b6b svr4_32_mcontext.gwin is a pointer 32 bits wide. 2001-05-11 16:49:22 +00:00
petrov
591e596a12 john heasley patch <heas@shrubbery.net>, PR port-sparc/12885
added PROM name translations for hme and fas
2001-05-10 23:11:53 +00:00
kleink
e0b29e0491 Sync with native emul: rename sc_tstate to sc_psr. 2001-05-09 20:21:50 +00:00
kleink
f0d6ebbd33 Make restoring the PSR ICC bits really work in __sigreturn14(). 2001-05-09 20:13:38 +00:00
kleink
aec2bbb42f Sync sc_psr comments with reality. 2001-05-09 19:50:49 +00:00
kleink
7dbfdb5508 In the 32-bit ABI case:
* rename sigcontext.sc_tstate to sc_psr, since this is how it is known to
  the 32-bit API, and also used for;
* don't try to squeeze the tstate into it, just emulate the ICC bits.

Per discussion with Eduardo.
2001-05-09 19:46:22 +00:00
kleink
cddc4b4264 While we're here, do SVR4_SPARC_ASI as well. 2001-05-08 20:57:17 +00:00
kleink
3d3703c7bd On v9, greg[0] isn't a TSTATE-in-PSR hack but just CCR. 2001-05-08 20:46:49 +00:00
kleink
bd0787e771 One step closer to making ICC/CCR manipulation work. 2001-05-08 19:30:05 +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
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
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
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
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
simonb
6f6fe2f3ad Spell occurred correctly. 2001-04-25 02:33:08 +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
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
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
7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
mrg
72177f5b6f -Dsparc64 2001-04-19 07:35:14 +00:00
kleink
40c8d08347 Oops, intptrs are always long integers. 2001-04-17 13:46:02 +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
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46: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