Commit Graph

1367 Commits

Author SHA1 Message Date
chs
ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
eeh
1007ef1595 Fix backwards compare. (From Jason Wright) 2001-08-23 16:14:12 +00:00
chs
72b6b0b123 in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 18:08:30 +00:00
eeh
94751b6adc Make the kernel a tad bigger. 2001-08-18 04:55:29 +00:00
eeh
20df032dec Make lint happier. 2001-08-18 03:47:18 +00:00
mrg
c22c51584c but this machine is now an ultra1. 2001-08-14 12:16:19 +00:00
mrg
d8544ce59a this machine is no more. 2001-08-14 12:14:59 +00:00
jdolecek
a95aa7326a g/c _remque()/_insque(); use the C version in libkern 2001-08-13 06:10:09 +00:00
eeh
76d075e3b3 Use the new in4_cksum. 2001-08-10 20:53:50 +00:00
eeh
0e7789220f Add an optimized in4_cksum(). 2001-08-10 20:53:11 +00:00
eeh
39634ee178 Clean up some debug printfs. 2001-08-09 01:03:01 +00:00
eeh
462c99aa55 pmap_kenter_pa() always creates privileged mappings.
No need to enter a no-fault mapping any more.
2001-08-09 01:01:31 +00:00
eeh
10d6680e29 Fix context masking lossage caused by last version. 2001-08-09 01:00:11 +00:00
eeh
82ff27c161 Clean up the trap code to handle the changes cause by supporting non-faulting
accesses.  Also change the parameter order so trap frames are easy to find.
2001-08-08 18:30:45 +00:00
eeh
b88a8597fb This file is no longer used. 2001-08-08 00:17:00 +00:00
eeh
b012dbff07 Use the new version of in_cksum. 2001-08-08 00:13:37 +00:00
eeh
57ef5c3617 Add an optimized assembly in_cksum(). (Why did I do this?) 2001-08-08 00:12:37 +00:00
eeh
7ffc44a35e Add some useful mbuf fields. 2001-08-08 00:09:30 +00:00
eeh
b400579dd9 Make sure C code always has ASI_PRIMARY_NOFAULT in the %asi register so
the compiler will be happy if it ever starts generating speculative loads.
2001-08-07 00:03:27 +00:00
eeh
c633b30dd4 Add some alternate spellings for ASIs.
Make sure ASI_PRIMARY_NOFAULT is always restored.
Garbage collect some old code.
2001-08-06 23:55:34 +00:00
eeh
4b569fc269 Fix bug involving small, non-contiguous dma segments.
From Manuel Bouyer.
2001-08-06 22:02:58 +00:00
eeh
140e9e72dd Add support for non-faulting loads and optimize MMU miss handling paths. 2001-08-05 18:32:30 +00:00
eeh
09c1ee004c Fix bcopy. 2001-08-02 22:41:32 +00:00
eeh
afa694c704 Sync bzero w/libc version. 2001-08-02 01:47:47 +00:00
eeh
5cfec63f0d Integrate fixes from userland memset. 2001-08-01 17:01:26 +00:00
eeh
5bacff5834 Code cleanup and optimization. 2001-07-31 06:58:09 +00:00
eeh
830be13fa2 Dump some enums that make lint unhappy and we never really use anyway. 2001-07-31 06:55:46 +00:00
eeh
7950c7dffd Don't match ebus nodes not called "ebus" like the ones on hme cards. 2001-07-25 03:49:54 +00:00
eeh
57b56da169 Garbage collect. 2001-07-24 19:32:11 +00:00
eeh
f13bad30d7 Use OF routines instead of internal ones. 2001-07-24 19:30:14 +00:00
eeh
24a5c4be70 Support for pc-style `rtc' real-time clocks.
Doesn't work right.  There are still issues w/register accesses.
2001-07-24 19:29:25 +00:00
eeh
64a9c222c0 Use OF_getprop instead of getprop. 2001-07-24 19:27:10 +00:00
wiz
0aa5d1cdfb s/accellerate/accelerate/ 2001-07-24 16:50:41 +00:00
eeh
a25d2e82ff Update this. 2001-07-23 21:06:37 +00:00
eeh
cc6781a464 Get rid of a bunch of obsolete files. 2001-07-23 18:21:26 +00:00
eeh
f53d7d33ec Get rid of some debug code that really isn't all that useful any more. 2001-07-23 17:19:56 +00:00
eeh
a555b32a7f Fix bootpath checks on machines with simbas. 2001-07-23 03:45:38 +00:00
eeh
1fead733d9 PCI overhaul. 2001-07-20 00:07:12 +00:00
eeh
93d4ebfb55 Don't fall over if the TOD clock could not be found. 2001-07-19 23:59:51 +00:00
eeh
7e8421fa5b Also attach apropriate devices named "serial". 2001-07-19 23:55:50 +00:00
eeh
0c4549ab71 Don't bother flushing cache lines for un-cached accesses. 2001-07-19 23:47:37 +00:00
eeh
b3edeb5745 Add 'ide' to the IPL table and fix things so we don't rely on the PROM
mapping things in for us.
2001-07-19 23:40:36 +00:00
eeh
76665dc463 Small code cleanup. 2001-07-19 23:38:11 +00:00
eeh
5150b485b4 Do ignore unregistered interrupts instead of faulting. 2001-07-19 23:37:17 +00:00
eeh
12fbdb7bb3 Make bus_space_debug default to off. 2001-07-19 23:35:42 +00:00
eeh
075ed881ad Print out PID and command name for alignment faults. 2001-07-19 23:33:09 +00:00
eeh
a60e790efe Make a bigger hole between kernel text and data. 2001-07-19 23:31:06 +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
eeh
76f0e59e40 Make bcopy a 32-bit friendly. 2001-07-16 18:59:33 +00:00
eeh
8210f5a2f2 Set up proper cache colors. 2001-07-12 23:13:15 +00:00
eeh
6d9a58bd0b Fix problems booting 32-bit kernels and dispatching level-15 interrupts. 2001-07-11 23:02:56 +00:00
eeh
ec450c39d5 Fix math calculating the number of pages the kernel takes up.
Add some more asserts.
2001-07-11 23:00:02 +00:00
matt
0f5c5cb556 Add tlp* at pci? (for Netra X1). 2001-07-10 15:42:42 +00:00
eeh
51c13f6a22 Fix a 32-bit warning. 2001-07-10 06:06:16 +00:00
eeh
9481b31f8f Code cleanup. Add block_disable to let you turn on block set/copy routines. 2001-07-08 21:05:11 +00:00
wiz
cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
abs
01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
eeh
a2cda80fea Also handle FPU registers. 2001-07-07 15:16:13 +00:00
toshii
4866f1a22b Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +00:00
eeh
707046cec7 New block bzero and bcopy. 2001-07-05 06:37:58 +00:00
eeh
96ee348323 New fpu handling code. 2001-07-05 06:34:56 +00:00
eeh
76159ce4fe Replace old bcopy with a much faster version. 2001-07-04 05:57:39 +00:00
chs
640937fe85 change pmap_extract() to deal with unmapped addresses.
remove some unnecessary checks for unmanaged pages.
2001-07-03 07:34:27 +00:00
martin
4c2e8da7bb Disable axidently enabled debug code to make -current compile again. 2001-07-01 09:25:33 +00:00
eeh
d7b32d756c Use a newer version (still disabled) of block bcopy. 2001-06-30 19:09:38 +00:00
eeh
353e24fc8d Fix fpu save/restore code. 2001-06-30 00:09:08 +00:00
eeh
46392e4bee Fixup fpu save restore, get rid of some unused copy functions, and add
a new bcopy.
2001-06-30 00:08:15 +00:00
eeh
649ea57857 Handle proper saving of the fpstate. 2001-06-30 00:00:41 +00:00
eeh
32267affba Handle saving and restoring the fpstate properly.
(Are these functions ever called?)
2001-06-29 23:58:40 +00:00
eeh
5df2260776 Add the shorter version of block ASIs used by Sun. 2001-06-29 23:56:05 +00:00
eeh
55e676fb15 Remove another unused file. 2001-06-25 23:07:03 +00:00
eeh
47b3df529a Remove unused file. 2001-06-25 21:28:03 +00:00
eeh
6bda7d4cc7 Add an install kernel w/room for a miniroot. 2001-06-21 23:00:19 +00:00
eeh
b61ff8de5f Prevent a hang if trying to pmap_protect a page with wired mappings. 2001-06-21 01:17:18 +00:00
eeh
8009aa2033 Allow multiple 4MB pages for both kernel text and kernel data.
Note: DEBUG checks will not allow accesses to the hole between
text and data segments, so you may need to update programs that
use libkvm before relocating the start of kernel data.
2001-06-21 00:24:22 +00:00
eeh
ede617e6dc Allow probes to kernel addresses that generate access errors not panic the machine. 2001-06-21 00:10:49 +00:00
eeh
bceb1fab42 Be a bit more consistent about returning errors. 2001-06-21 00:08:02 +00:00
wiz
f3f6c5b675 accessible' only has one a'. 2001-06-19 12:52:20 +00:00
kleink
abaced98c3 Fix context handling for 32-bit environments:
* Really pass PSR ICC bits instead of raw CCR.
* Don't touch ASI and FPRS, which are not part of the 32-bit mcontext.
Also, correct printf conversions in svr4_printmcontext.
2001-06-17 14:39:32 +00:00
kleink
db52b31344 Save/restore only the FP register file as far as the 32-bit environment
is concerned; in particular, don't overrun the [mu]context.
2001-06-17 13:10:05 +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
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
mrg
ba991d978b move ev_out32() here. 2001-06-07 17:54:35 +00:00
mrg
6246dceb77 print p_pid & p_comm for alignment errors. 2001-06-07 15:31:16 +00:00
mrg
9b27fa3ff8 set the coredump32 hook. make LKM friendly. 2001-06-06 21:39:50 +00:00
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
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
matt
362ba8300c Include USB and 1394 support (sun models now have them). 2001-04-13 16:26:41 +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
eeh
986e7f8f1c Interrupt latency fix from sparc port. (Hm. One insn instead of 5). 2001-04-09 21:15:42 +00:00
jhawk
d95ba2eb80 Remove gratuitous setting of SYSDIR;
it is set in sys/kern/Make.tags.inc
2001-04-03 17:12:23 +00:00
petrov
d6b50e1598 add fas configuration 2001-03-29 18:54:58 +00:00
lukem
20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
petrov
b47f68b66c fix 'show registers' mis-aligned access, PR11580 2001-03-22 22:20:28 +00:00
lukem
723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
mrg
af58b235e0 adapt to systems with out interrupt-map & interrupt-map-mask properties. 2001-03-21 01:33:47 +00:00
mrg
0b2a9fa53d kill QUOTA on everglades. 2001-03-19 05:35:51 +00:00
hubertf
cda43785c6 Add comment on what 'overtemp' is about. OK'd by eeh. 2001-03-16 10:47:25 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
eeh
b612a766a7 Handle overtemp intr. 2001-03-14 00:52:19 +00:00
thorpej
85868e3c09 Pay attention to BUS_DMA_STREAMING when builing an IOMMU TTE. 2001-03-09 20:05:39 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
eeh
4e77731eee Fix inverted preprocessor logic. (Spotted by Charles.) 2001-03-07 01:47:02 +00:00
mrg
f1d2503dc5 rework pci_attach_hook() to just deal with the INO, not the full
interrupt number.  properly find interrupts for the E250.  modify
pci_intr_map() accordingly.  retire psycho_intr_map().  deal with
INO values upto 0x3f, not upto 0x32.  restructure sabre_init() and
psycho_init() to be more similar, and display each psycho's IGN.
psycho_intr_establish() deals with INO upto 0x3f, values from 0x32
and higher get 0 for IPL.

tested on E250 & U5.
2001-03-06 08:09:16 +00:00
mrg
76c3f04bcb move etext after rodata, like kern32.ldscript and sparc's kern.ldscript. 2001-03-04 13:41:00 +00:00
mrg
de13b6986c deal with 32 bit kernels. 2001-03-04 10:11:56 +00:00
mrg
90656ebe47 sync with GENERIC; add COMPAT_SVR4_32 2001-03-04 10:10:42 +00:00
mrg
3125147a72 oops; make this build with a 32 bit compiler again. 2001-03-04 09:28:35 +00:00
mrg
ecb878c12d sync with GENERIC32. 2001-03-02 07:56:26 +00:00
mrg
3c2cb5a456 - no need to hard wire pci busses or hme0 anymore
- clean up some comments
- __ELF__ is defined by the compiler
2001-03-02 07:50:08 +00:00
mrg
23fecf2b24 clean up slightly; prepare to make this identical to sparc/frame.h. 2001-03-02 07:40:18 +00:00
mrg
3c31d4fccb clean up slightly. 2001-03-02 07:36:57 +00:00
mrg
7a1cb1dbc2 use pci_bus_devorder() and pci_dev_funcorder() 2001-03-02 06:34:06 +00:00
mrg
c452d0b725 adjust some comments to reality. 2001-02-28 15:21:08 +00:00
mrg
5ef9914b06 add and user a linker script. 2001-02-28 15:17:48 +00:00
mjacob
721e39d0dc add SES device 2001-02-28 00:08:18 +00:00
mjacob
312d560493 add SES device (unused #4) 2001-02-28 00:06:28 +00:00
eeh
85cffb544d Improve legibility and iommu_dvmamap_sync(). 2001-02-24 18:49:06 +00:00
eeh
121d97c255 Somehow this didn't get checked in with the rest of the SVR4 64-bit fixes. 2001-02-22 22:08:06 +00:00
eeh
a72ee87980 Add support for 64-bit SVR4 (Solaris 8) binaries. 2001-02-21 23:53:00 +00:00
mrg
5713cce1e0 sync with reality. 2001-02-17 16:29:13 +00:00
eeh
b0e3d231c4 Define VM_MASUSER_ADDRESS32. 2001-02-16 16:00:29 +00:00
mrg
f9c371eea3 type cleanups. 2001-02-12 16:07:38 +00:00
eeh
c269f4f002 Add COMPAT_SVR4_32. 2001-02-11 01:00:51 +00:00
eeh
d8405328df Add support for COMPAT_SVR4_32. 2001-02-11 00:39:37 +00:00
eeh
750052a46f Remove things that are defined in elf_machdep.h now. 2001-02-11 00:37:22 +00:00
eeh
96bf37a78f Save the machine model string in case someone needs it (like slowlaris). 2001-02-11 00:27:06 +00:00
eeh
6e928d620b Add some new gunk Sun uses. 2001-02-11 00:18:49 +00:00
eeh
1ac34a6a98 A register is 64-bits unless we're emulating 32-bit. 2001-02-11 00:17:03 +00:00
eeh
945c9cac5f Increase limits slightly. We're still not using all 32 address bits yet,
let alone 64.....
2001-02-11 00:09:45 +00:00
eeh
1671aa6706 Increase NKMEMPAGES to a more useful value. 2001-02-11 00:07:10 +00:00
eeh
3e47436b79 Add some extra fields to a dmamap to track what's being mapped. 2001-02-11 00:05:47 +00:00
eeh
3daccde8d4 Print out more useful data if there are interrupt issues. 2001-02-11 00:02:58 +00:00
pk
5fb1ec8af6 Fix conditional for svr4 compat inclusion. 2001-02-10 20:00:24 +00:00
eeh
2411eab448 Fix D$ aliasing issues in a DIAGNOSTIC check. 2001-02-06 19:04:57 +00:00
mrg
22a68e0e29 oops, kill some debugging messages. 2001-02-05 13:13:47 +00:00
mrg
2d7ba2f0e7 turn off UVMHIST. turn on LKM. makeoptions DEBUG=-g 2001-02-05 12:49:11 +00:00
mrg
05752997ef use sunos32_machdep.c on 64 bit kernels. 2001-02-05 12:47:47 +00:00
mrg
e1ac1f31b9 make sure 32 bit addresses are truncated properly. 2001-02-05 12:45:38 +00:00
eeh
db133b2424 Add signal trampoline for 64-bit svr4 emulations. 2001-02-05 06:56:45 +00:00
mrg
c084c19f60 add "wd" to chrtoblktbl 2001-02-02 07:39:28 +00:00
mrg
2a9fceab8d enable the kbd/ms. enable some compat options for compat_sunos 2001-02-02 07:33:42 +00:00
mrg
9954eaa78b include compat/sunos32/sunos32.files 2001-02-02 07:32:45 +00:00
mrg
04cb3c57d6 bump NMBLUSTERS now this machine has NFS server tasks. 2001-02-02 07:32:20 +00:00
mrg
6d444f5960 kill the ad clause in my license. 2001-01-29 01:37:56 +00:00
martin
a7206004fc Faster error handling for iommu_dmamap_load_raw; avoid loading the map
and unloading on error when we clearly can't get out without an error.
2001-01-28 01:26:57 +00:00
eeh
6c3bf28ffd Fix dvma problem caused by previous. Seems like the dvma segment calculation
in iommu_dmamap_unload() was not quite right.
2001-01-27 03:40:39 +00:00
martin
f4eec8f31f iommu_dvmamap_load_raw: add a check for creating maps larger than
expected by the creator of the dma map and fail apropriately. This
makes the syssrc/dev/pci/if_vr.c driver work.
2001-01-25 21:41:10 +00:00
martin
97b57e69cc Make bus_dmamap_load_mbuf and bus_dmamap_load_uio use independend
segment lists for their mapping; make iommu_dmamap_unload deal with
this type of maps.

Coded by Eduardo, tested (and minimaly tweaked) by me.
2001-01-23 20:31:28 +00:00
eeh
a07a06dd78 Only panic if we can't allocate a PT page for the kernel pmap. 2001-01-22 22:10:09 +00:00
jdolecek
8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
pk
13d4fcd69b In cpu_reboot(), only reset the TOD clock if the time is known to be good
enough, e.g. it has been initialized already by inittodr() or set
explicitly before by resettodr().  This prevents the TOD clock from going
way backwards when typing `halt' at the `mount root filesystem' prompt.
2001-01-20 13:44:29 +00:00
martin
84af4fa114 Enable IO space mapping by default.
Fixes PR 11940.
2001-01-19 21:25:19 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek
d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
eeh
d04bab724e Implement some seblence of bus_dmamap_mbuf() and bus_dmamap_uio(). 2001-01-15 19:27:07 +00:00
thorpej
45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
martin
6695531e85 Fix format warnings to make it compile again. 2001-01-14 09:43:33 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
979919ee0f splpmap() -> splvm() 2001-01-14 02:03:48 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
pk
b1b7565190 Implement bus_space_subregion(). 2001-01-12 15:24:15 +00:00
pk
301b806db0 ebus_find_node(): plug memory leak; make debug output meaningfuller. 2001-01-08 22:15:47 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
eeh
4020842234 Fix faults caused by incorrect cacheing information in the pv_entry. 2001-01-03 23:05:22 +00:00
pk
cf53c74834 * Apply proper cast for 32 -> 64 bit pointer argument conversion.
* Since probeget() isn't geared up to deal with _arbitrary_ memory fault
  types (and doesn't work at all when called from an interrupt context),
  add explicit sanity checks on a stack frame's contents before use
  (XXX - needs revisiting).
2001-01-03 15:33:34 +00:00
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
eeh
fe278fa440 Make INCR() atomic. 2000-12-31 21:05:21 +00:00
mjacob
366352e859 Enable Qlogic PCI cards 2000-12-30 19:30:50 +00:00
mjacob
a8b078eb95 more missing #ifdef DEBUG goop 2000-12-30 07:42:42 +00:00
mjacob
f8e9b56ebf Fix a 'defined but not used' error (GENERIC doesn't define DEBUG). 2000-12-30 07:34:40 +00:00
eeh
3ec59504f9 Lower PIL_SCHED below the zs interrupt so we don't get silo overflows. 2000-12-29 18:37:05 +00:00
eeh
f5c0f0c5a8 Separate schedclock from statclock on machines w/counter-timers. This
lets us lower splsched().
2000-12-29 18:35:18 +00:00
eeh
e8b285df6a pseg_get tells us whether it really needed that spare page after all. 2000-12-29 18:32:47 +00:00
eeh
fcae6c100a Fix LOCKDEBUG issues. 2000-12-29 18:29:19 +00:00
eeh
a5ecd862b1 Fix some 32-bit assembly code. 2000-12-29 17:13:33 +00:00
eeh
d8887bd0ea 64-bit address values should be unsigned. 2000-12-29 17:12:05 +00:00
eeh
5f7376ce1d Fix broken printf()s. 2000-12-29 17:09:49 +00:00
eeh
ac00f21218 Fix broken printf(). 2000-12-29 17:08:54 +00:00
eeh
09c04e2283 Update for new signal structures in struct proc. 2000-12-29 17:07:12 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
eeh
4c3121006d Use an extent map for I/O addresses instead of a base so addresses can
be both allocated and freed.
2000-12-21 22:19:21 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
mrg
43251365b4 com_attach_subr() prints the newline for us. 2000-12-20 16:19:09 +00:00
thorpej
2563d39a6e This is long since obsolete. 2000-12-19 18:12:48 +00:00
mrg
3f647a126c clockattach(): print the hostid as a 32-bit value to avoid 64-bit sign extension. 2000-12-19 05:09:06 +00:00
mrg
32b8108b06 s/%qx/%llx/ 2000-12-18 15:57:15 +00:00
mrg
dd2f1cdf71 - rename 32bit USRSTACK32, and define USRSTACK to that if !__arch64__, so that
64bit code can see USRSTACK32
- bump the limits
2000-12-18 14:48:26 +00:00
pk
c421b5eb92 Pull over revision 1.23 from sparc:
Fake a label only if it appears to be blank, and if so use RAW_PART
	instead of 0.
2000-12-17 22:39:18 +00:00
pk
065dbd3604 Make pointer formats work with a 32-bit compiler. 2000-12-17 21:54:20 +00:00
pk
51dca5ed7c Fix printf() pointer formats & make them work with a 32-bit compiler. 2000-12-17 21:43:54 +00:00
pk
4d082438e0 Literal %' in format string => %%' 2000-12-17 21:42:21 +00:00
pk
107489f7a1 Remove spurious `#define DEBUG' 2000-12-17 21:41:43 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
martin
ee0eb24c13 Don't include opt_*.h if compiling as LKM. 2000-12-14 10:24:42 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00