Commit Graph

46390 Commits

Author SHA1 Message Date
ragge 68cb5a262d Do not (try to) remap the qbus on MV1. 2001-05-01 13:08:09 +00:00
toshii 43800774d5 Add hpcarm devices (sacc, sacom, sacpcic, saip, saost). 2001-05-01 12:44:40 +00:00
toshii c7df9e68f9 Fix device matching in saip.
ca_match functions should return positive value when matched.
2001-05-01 12:36:54 +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
bjh21 c7d1f1542c Use the correct condition code when deciding whether to take an AST (oops!).
Also disable interrupts correctly in the APCS-32 case.
2001-05-01 11:01:12 +00:00
scw adf7013d7f Match `osiop' instead of `ncrsc' now. 2001-05-01 07:33:29 +00:00
scw 813efd148a Don't panic in _bus_dmamap_sync() if a segment start address/length are
not aligned to a cacheline boundary.

Instead round down the start address, round up the length and "DTRT".
2001-05-01 07:32:51 +00:00
enami 37ed68b3e4 Avoid null pointer dereference. 2001-05-01 06:17:23 +00:00
enami d483a2c9e2 Fix whitespace usage (fow now, previously existing code only just due to
my time shortage):
- Use 8 column for basic indent.
- Use 4 space for 2nd level indent.
- Use tab instead of 8 spaces.
- Don't put space before function call operator.  That's unary operator.
- Wrap lines so that it fits in 80 columns.
2001-05-01 06:15:42 +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
jmc 5044375656 Wrap some variable definitions with #ifdef FW_DEBUG that only apply in debug mode. 2001-05-01 05:17:40 +00:00
jmc f58c020bfc Remove some one-off debug printf's 2001-05-01 05:17:08 +00:00
thorpej 72a57e578e Use CPU_INFO_FOREACH(). 2001-05-01 05:16:44 +00:00
jmc 9625a01e94 Change to IPL_BIO 2001-05-01 05:10:30 +00:00
jmc af20295c95 Extend ieee1394_abuf to include read/write operations cleanly.
Add ieee1394_attach_args
Add sc1394_configrom_len
Add list links for nodelists from parent bus.
2001-05-01 04:48:11 +00:00
jmc 370ee1f0f0 Add a 64bit version of CSR_BASE 2001-05-01 04:48:10 +00:00
jmc 59c9536fe4 Add proc struct for kthread, interrupt handler flags, and nodelist 2001-05-01 04:48:10 +00:00
jmc 06dd6e0f40 Extensive changes from fwnode integration
Move interrupt routine to simply updating state flags and ack'ing interrupts
Move main processing into kthread
Change IPL level to IPL_BIO and try not to hold splbio very much if at all.
Add baseline support for attaching/detaching/updating fwnode's.
Start adding higher level API which isn't tied to if_fw/mbuf's
2001-05-01 04:48:10 +00:00
jmc b44a25d8d6 Initial checkin for fwnode code. Needs extensive cleanup 2001-05-01 04:48:10 +00:00
jmc cd6ceaf2cd Put in the structure for fwnode/fwscsi 2001-05-01 04:48:10 +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
jmc 59bde215a7 Initial checkin for fwnode support 2001-05-01 04:46:23 +00:00
enami bda65c7816 Define local variable cpu_id only when either MULTIPROCESSOR or DIAGNOSTIC
is defined since it isn't used otherwise.
2001-05-01 04:30:04 +00:00
jmc 46ebed2ee8 Initial checkin for fwnode support 2001-05-01 04:19:20 +00:00
jmc b2230effa3 Doesn't need fwohci include's. Change struct device to ieee1394_softc. 2001-05-01 04:18:29 +00:00
thorpej 220bcf69ac Garbage-collect a comment that has not been applicable since Mach. 2001-05-01 03:01:18 +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
takemura a8304325bf Fix 'busname' to attach nodes correctly. 2001-05-01 00:25:16 +00:00
bjh21 a6b4c8d3da Strip the PSR bits off values of R15 before passing them to _mcount(). This
makes call-graph profiling actually work (hooray!).
2001-04-30 23:41:11 +00:00
kleink 50d738a0f0 Add %j, %t and %z modifiers. 2001-04-30 21:29:45 +00:00
bjh21 e5b19b546c Add two functions, int_off_save() and int_restore(), for mcount to use to
disable interrupts without getting into a loop or screwing up irq_handler().
Also use them.
2001-04-30 19:57:10 +00:00
thorpej d3a64bd0d8 Add code to recognize and set media on GMII (Gigabit MII) PHYs.
802.3 doens't specify ANAR or ANLPAR bits for GMII.  Need to
use PHY-specific registers for this, for now, which means we
need specific drivers for the Gigabit-capable PHYs (I think the
most common is the BCM5400).
2001-04-30 19:49:08 +00:00
kleink 99d1259e7f Don't let [gs]etcontext() and friends clash with userland. 2001-04-30 19:35:13 +00:00
thorpej 63604adafa Add a bunch of Gig-E definitions. 2001-04-30 19:21:03 +00:00
ross 613d465e10 apply recent changes to DEBUG code 2001-04-30 19:00:41 +00:00
wiz 133599a99d Remove unused variable. Reported by Thilo Manske in port-mac68k/12794. 2001-04-30 17:12:03 +00:00
toshii fbdeb188a5 setsoftast is a macro now. 2001-04-30 15:54:28 +00:00
martin 77a926d775 Avoid nesting structure declarations, where the nested structur is used at
the global level later. Besides stylistic matters, this actually breaks C++
programs (indirectly) using this header.
2001-04-30 15:30:39 +00:00
toshii 87593b8b06 Pull in <machine/psl.h> for spl* definitions.
(same as arm32/include/intr.h rev 1.5)
2001-04-30 15:20:07 +00:00
bouyer 19b0c05827 Ops, don't forget to increment li->used for each tagged command. 2001-04-30 13:58:32 +00:00
uch dcf9239830 recompile. 2001-04-30 13:49:38 +00:00
uch 263bc3d6ae use inet_addr when gethostbyname failed.
patch by takemura@netbsd.org
2001-04-30 13:43:31 +00:00
uch a9cd2901fd add wrapper header for integer types. 2001-04-30 13:41:32 +00:00
bouyer 2cc0fbbe14 remplace /*
*/
with
#ifdef notdef
#endif
to avoid:
../../../../dev/ic/hmereg.h:275: warning: `/*' within comment
2001-04-30 12:22:42 +00:00
takemura 26b0905dd0 Machine independent GPIO interface. 2001-04-30 11:42:17 +00:00
takemura 4ca3c858b6 Copy of sys/arch/hpcmips/vr/button_vrgiu.c. 2001-04-30 10:10:18 +00:00
takemura c732b45553 Copy of sys/arch/hpcmips/vr/pwctl_vrgiu.c. 2001-04-30 10:09:14 +00:00
jmc 1a5e77115a Place holder until real fwscsi code is fleshed out. 2001-04-30 09:06:27 +00:00
scw ff4a29679f Switch to the MI 53c710 driver recently committed by Izumi Tsutsui. 2001-04-30 09:05:58 +00:00
jmc dfc69462fd First pass at the overall TODO list. Some of these may come off before I get the full code checked in even 2001-04-30 09:05:40 +00:00
jmc 98182717b8 Rework implementation notes/ideas with a more fleshed out example. 2001-04-30 09:02:38 +00:00
minoura fc97cb8a94 Correct memory leak.
Use single block transfer when appropriate.
2001-04-30 05:47:31 +00:00
tsutsui 00085e9fc8 Add MI osiop. 2001-04-30 04:53:41 +00:00
tsutsui cdd9dc4e09 Add MD attachments for the Symbios/NCR 53c710 SCSI controller,
found on the NEC Express5800/230A.
2001-04-30 04:52:53 +00:00
tsutsui 0ceded7d3b Generated from osiop.ss rev. 1.1:
Initial compiled script for 53c710.
2001-04-30 04:49:57 +00:00
tsutsui 613923b42e Add a MI driver for the Symbios/NCR 53c710 SCSI controller.
This is based on amiga's siop driver, but converted to use
bus_space(9) functions and modified to fit bus_dma(9) framework.

Currently tested on NetBSD/arc with jazzio 53c710 SCSI,
which really requires bus_dma(9) functions :-)
Sync transfers and disconnect/reconnect are also working.

TODO:
- Test under more heavy load
- Clean up osiop_checkintr() hander
- Reorganize command queue and sync negotiation handling more suitable
  for thorpej-scsipi mid-layer
- Re-think defered interrupt handling for amiga
2001-04-30 04:47:50 +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
lukem b3b4a527b3 remove trigraph 2001-04-30 03:53:19 +00:00
lukem 5de219fbef delint 2001-04-30 03:49:12 +00:00
lukem c83fa97ec8 remove trigraph 2001-04-30 03:48:06 +00:00
lukem 52a1d62934 delint 2001-04-30 03:45:35 +00:00
lukem 786063e4da use #if 0 rather than // or /* to comment out blocks of code 2001-04-30 03:43:09 +00:00
kml fc1ebff2b2 Large values of sb_max would cause an overflow in sbreserve(); cast to
u_quad_t to avoid this.  (from FreeBSD uipc_socket2.c v1.19)
2001-04-30 03:32:56 +00:00
lukem c6a7588b36 delint newline in string 2001-04-30 03:30:45 +00:00
lukem f863105161 remove some lint, including ansifying funcs 2001-04-30 02:55:08 +00:00
jmc 36d8e99d14 Cast args correctly to match format strings. 2001-04-30 02:49:04 +00:00
jmc 5a6772df26 Cast base correctly for format string. 2001-04-30 02:46:20 +00:00
lukem 9d02aae3a9 minor lint 2001-04-30 02:44:53 +00:00
lukem 85772a1cef remove some lint 2001-04-30 02:34:58 +00:00
lukem abf1970c82 delint newline in string 2001-04-30 02:17:55 +00:00
lukem 599ac910c6 this is _C_ not _C++_, and // is NOT valid in _C_ 2001-04-30 01:34:04 +00:00
lukem d2ac513298 remove some lint 2001-04-30 01:19:40 +00:00
lukem b8f8cf0235 remove some lint, including ansifying some inlines 2001-04-30 01:17:30 +00:00
lukem 36079c81c4 remove some lint 2001-04-30 01:13:20 +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
christos afdcbf7e55 Correct formatting. Put the port and the ethernet address in their own
line.
XXX: it is stupid that pcmcia_io_map() prints " port 0xNNN[-0xMMM]". This
makes the printing code confusing.
2001-04-29 20:12:01 +00:00
christos 3ae161c702 don't put a trailing comma in pcmcia_devinfo. All the drivers use
printf("%s\n", devinfo) and it looks stupid.
2001-04-29 20:10:24 +00:00
sommerfeld a80b986278 Correct microtime() to use the microsecond part of the base timestamp. 2001-04-29 17:04:41 +00:00
fvdl b7025ec37b Make it possible to override TCP_NDEBUG. The default value of 100
wastes quite a bit of space (0xfa00).
2001-04-29 15:18:01 +00:00
bjh21 45eb40e8d3 Minimal implementation of cpu_sysctl(). 2001-04-29 15:13:45 +00:00
fvdl 9554615dfb Set NMBCLUSTERS to the old value of 256 here, as the new default
will only be a waste of space for this configuration.
2001-04-29 12:48:12 +00:00
ragge c3736bf111 Use ubmemalloc() for data structures. Remove unused vars. KNF. 2001-04-29 12:32:18 +00:00
tsutsui b83fe1a852 Correct register address map for 53c710. 2001-04-29 11:20:44 +00:00
martin b5b75a7d19 Add an in-kernel PPPoE (ppp over ethernet, RFC 2516) implementation,
based on the existing net/if_spppsubr.c stuff.

While there are completely userland (bpf based) implementations available,
those have a vastly larger per packet overhead thus causing major CPU
overhead and higher latency. On an i386 base router, running a 486DX at 50MHz
my line (768kBit/s downstream) was limited to something (varying) between 10
and 20 kByte/s effective download rate. With this implementation I get full
bandwidth (~85kByte/s).

This is client side only. Arguably the right way to add full PPPoE support
(including server side) would be a variation of the ppp line discipline and
appropriate modifications to pppd. I promise every help I can give to anyone
doing that - but I needed this realy fast. Besids, on low memory NAT boxes
with typically a single PPPoE connection, this implementation is more
lightweight than a pppd based one, which nicely fits my needs.
2001-04-29 09:50:36 +00:00
jmc a2d52d0ed4 Add #define for 1394 ROM signature 2001-04-29 08:37:04 +00:00
scw 81be7c00b7 Compute PAGER_MAP_SIZE at runtime to avoid needlessly crippling large-
memory models for the benefit of small-memory models.

Uses a heuristic of min(onboard_ram_size/2, 16MB).
2001-04-29 07:53:56 +00:00
scw 89e9fc44d5 Do the same as mac68k/pmap.c:1.70 to prevent wired pages being
removed by pmap_collect().
2001-04-29 07:41:58 +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 cb648add29 The idle loop page zero'er no longer needs to do uncached access
now that we have page coloring.
2001-04-29 04:42:04 +00:00
thorpej cda7baa0d5 Implement page coloring, using a round-robin bucket selection
algorithm (Solaris calls this "Bin Hopping").

This implementation currently relies on MD code to define a
constant defining the number of buckets.  This will change
reasonably soon (MD code will be able to dynamically size
the bucket array).
2001-04-29 04:23:20 +00:00
itojun fce23b0ae4 correct outbound outer IPv4 destination address selection.
IFF_LINK0 disables inbound path, removes security worries.
more examples in manpage.
2001-04-29 03:56:06 +00:00
thorpej cee702b869 Optimized in4_cksum(). 2001-04-29 03:29:21 +00:00
erh acc17cc823 Set the delta for the particular source so telling mixerctl to decrease the
volume (using --) adjusts it far enough to stick.
2001-04-29 02:47:25 +00:00
fvdl 70316ad6e1 Remove COMPAT_14. 2001-04-29 00:34:11 +00:00
bjh21 e9c8a1fbb5 Add ipfilter, rnd, vcoda and raid. 2001-04-28 17:41:01 +00:00
bjh21 1ca2839e35 When NFS_V2_ONLY is defined, refuse to mount NFSv3 and NQNFS filesystems,
rather than pretending they're NFSv2 and hoping for the best.  Fix based on
that supplied by Christian Groessler.
2001-04-28 16:11:47 +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
bouyer 1346d56311 - don't wait when called from interrupt context (basically this means we
can't sleep in HBA drivers)
- pool_get can fail, so return XS_RESOURCE_SHORTAGE instead of panic()
- don't try to bzero() a NULL pointer
2001-04-28 15:09:42 +00:00
augustss e67bc465a2 Make it compile with DEBUG after SCSI changes. 2001-04-28 14:48:39 +00:00
bjh21 beb69f2aad Before allowing kgmon to do anything, check that we managed to allocate the
profiling buffer at startup.  If not, pretend the kernel doesn't have
profiling support at all.
2001-04-28 12:56:00 +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
tsutsui 862125c057 Don't forget to set XS_CTL_DATA_OUT (that was removed in previous). 2001-04-28 09:33:25 +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
wdk 86d8020753 Move previous patch which performs allocsys() before pmap_bootstrap()
to the correct location.
2001-04-28 04:20:27 +00:00
thorpej 335ac52a5b Use simple tags for read and write, unless B_ORDERED is set, in
which case we use an ordered tag.
2001-04-28 04:11:31 +00:00
bouyer 74b15b27a2 Don't forget to call psw_done() ! 2001-04-27 21:36:58 +00:00
jdolecek 2758818d81 regen - SKNET cards 2001-04-27 18:04:14 +00:00
jdolecek 3367b801f2 Add driver for SKNET Personal and MC+ - AMD Lance 7990 based ethernet cards.
Both models tested and seem to be quite stable and fast.

Thanks to:
- Hans Hubner <hans@Huebner.org> for giving me the cards for testing
- Georg Klug of Syskonnect, who provided me with hw docs for these cards,
  very promptly and willingly - I wish all vendors would be like this
- Alfred Arnold, Linux SKNET driver author, for giving me valuable Syskonnect
  contact :)
2001-04-27 18:03:40 +00:00
jdolecek b28d00fa02 Introduce mca_match_disabled() - this returns true if cards with particular
id should be handled even through it's marked as disabled in POS registers.
There are some cards which need this due to nonstandard hw design.
2001-04-27 17:52:51 +00:00
jdolecek d66e548d92 Introduce mca_match_disabled() - this returns true if cards with particular
id should be handled even through it's marked as disabled in POS registers.
There are some cards which need this due to nonstandard hw design.
2001-04-27 17:11:45 +00:00
jdolecek 6589e65051 Don't panic if the memory size is "weird", but instead compute
reasonable transmit/receive buffer count.
This is needed for e.g. SKNET adapters, which use top 30 bytes of 16KB
memory to map registers and PROM and hence not all the memory is
available for buffers.
2001-04-27 17:08:02 +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
bouyer af5fd4c7d8 Stopgap measure for PR kern/12762: cut the number of openings per device
to 16 or 4 (depending on capabilities of adapter), as it was before
thorpej_scsipi integration
Waiting feedback to known whenever the problem with openings set to AHC_SCB_MAX
existed before.
2001-04-27 14:49:11 +00:00
tsutsui 1bcd6675d5 Reset FDC in news5000_init() to avoid spurious interrupts
after booting from floppy (since we don't have fdc driver yet).
2001-04-27 12:55:51 +00:00
joda 55ffdd0e46 make this compile with the new scsi framework 2001-04-27 08:06:33 +00:00
jdolecek 27706951af Slighly improve comment for ltsleep(), the previous formulation might
be understood incorrectly (at least, it confused me at first, before
I looked at the actual code).
2001-04-27 08:00:03 +00:00
lukem cdf90834d5 put TAB after #defines 2001-04-27 06:07:27 +00:00
lukem 0808e23b17 cdev_vmegen_init can use cdev__ocrwim_init 2001-04-27 05:47:47 +00:00
marcus d317b08ca6 STDC cleanup: extra token not allowed after #endif. 2001-04-27 00:14:47 +00:00
marcus 9bcf84f72a STDC cleanup: label not allowed just before end of block. 2001-04-27 00:14:02 +00:00
marcus 11ac2c3105 STDC cleanup: multi line string literal removed. 2001-04-27 00:06:11 +00:00
marcus b6240639a2 STDC cleanup: volatile needs to be cast away for lk_flags as well. 2001-04-27 00:05:13 +00:00
bjh21 3a7710b605 Add ELF version of _PROF_PROLOGUE. 2001-04-26 23:20:02 +00:00
bjh21 271fb855ce Arrange to restore R14 on return from __mcount, so that profiled assembler
routines will work.  We could put this in _PROF_PROLOGUE, but this seems
lighter-weight and possibly cleaner.
2001-04-26 22:09:57 +00:00
ragge a7d2fe8275 Use uballoc()/ubmemalloc() for data structure allocation. 2001-04-26 20:05:46 +00:00
ragge 6bfb730eba Use ubmemalloc() to get mapped uba memory.
Only copy mbufs if there are more than two in a mbuf chain (on transmit).
This squeezed another 5% out of the DEUNA. (now closing up to 100 K/s :-)
2001-04-26 19:36:07 +00:00
ragge 014984b747 Add functions to allocate mapped-in qbus memory. 2001-04-26 19:16:07 +00:00
thorpej 596cc0bc10 Cast the config block buffer to (u_int8_t *) when reading it
from ISA memory space.
2001-04-26 17:58:28 +00:00
thorpej e5422a382f Explictly include <machine/pio.h> (since this driver uses
i386 pio instructions -- XXX BROKEN).
2001-04-26 17:57:47 +00:00
thorpej 9d7220db23 Explicitly include <machine/pio.h>. 2001-04-26 17:56:37 +00:00
thorpej ea0e8e69d5 Const poison. 2001-04-26 17:55:54 +00:00
bouyer 856411129e Disable tagged queuing for now, it causes commands timeouts.
Note that it's not worse since thorpej_scsipi integration: tagged queuing
was not used before, because of a tag message rejected at probe time.
2001-04-26 17:09:39 +00:00
bouyer d032d80637 Redo xfer sync/wide/tag notification again: we need to notify upper layer
that we can do tag.
Start sync/wide nego at first command, but wait ADAPTER_REQ_SET_XFER_MODE
to notify upper level.
2001-04-26 16:56:53 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
tsubai 520e444562 Cosmetic changes. 2001-04-26 15:52:00 +00:00
tsubai 75dbde785b Remove spaces at EOL. 2001-04-26 15:27:05 +00:00
tsubai 8e3cb2354b Comment out ``printf("spurious interrupt\n")''. 2001-04-26 14:40:19 +00:00
kanaoka 03941a12da - Fix typo in comment. 2001-04-26 08:23:22 +00:00
kanaoka 0d6646292e - Fix typo in comment.
- Add (missed)powerhook_disestablish() in ex_detach().
 - Sync with below.     Original commit log message:
 Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
 PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
 priority level while others are protected with splhigh().
2001-04-26 08:21:51 +00:00
enami 5a6a17f734 Make sysctl_msgbuf() to copy message buffer to userland even if
the write pointer points to the beginning of message buffer.
2001-04-26 06:07:13 +00:00
is f7455bf6e8 Be more specific than "some isic board". 2001-04-26 05:58:41 +00:00
enami bb08989ba7 Since union_getpages may be called with PGO_LOCKED,
- We need to skip PGO_DONTCARE page also.
- ``npages'' returned by VOP_GETPAGES for lower vp doesn't count
  those pages in this case.  So, just loop ``npages'' times is
  insufficient.  Loop while there is real pages instead.
2001-04-26 05:25:14 +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
enami 360780f37e s/\<PROTO_ATAPI/C&/ 2001-04-26 03:59:32 +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
kleink 38ba8564f5 Add esm. 2001-04-25 18:32:10 +00:00
thorpej 93b0af8f60 pmap_resident_count() always exists. Besides, returning the
value of vm_rssize is pointless -- it is never initialized to
anything other than 0.
2001-04-25 18:09:52 +00:00
thorpej a60e816e7a Provide a pmap_resident_count() that simply expands to 0. 2001-04-25 18:03:19 +00:00
thorpej 4717bdf66e Remove some redundant definitions (they're already in <mips/pmap.h>). 2001-04-25 17:54:07 +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 fe664428c8 Garbage-collect pmap_page_index(). 2001-04-25 17:35:00 +00:00
bjh21 90dfa8d8ff Undo my accidental revival of pmap_kenter_pgs(). 2001-04-25 16:30:03 +00:00
thorpej d7e12660a3 Work around the problem that causes kern/12554. Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.
2001-04-25 16:18:24 +00:00
thorpej 773ed79e5b Add a comment describing a problem. 2001-04-25 14:59:44 +00:00
bjh21 7cf0a5e592 Arrange the "unamanaged" pages (entered through pmap_kenter_pa()) are tracked
and ignored as necessary.
2001-04-25 14:42:31 +00:00
kleink e7e729ef95 ElfNN_RelA -> ElfNN_Rela, which I missed in the Great Renaming;
noticed by Juan Jose Garcia-Ripoll in PR standards/12274.
2001-04-25 12:18:48 +00:00
haya 94e69e110f Initialise all function's latency timer and cacheline size. 2001-04-25 09:29:36 +00:00
haya 3d8f9a4f4f Set function-in-use flag before calling power control function in
order to prevent turn on power twice.  This change does not prevent
power-off/power-on conflicts.
2001-04-25 09:20:32 +00:00
thorpej 5de93d4755 Move _i386_memio_unmap() into bus_machdep.c; the ACPI code wants it. 2001-04-25 03:31:23 +00:00
simonb 4d24d9a940 Regen. 2001-04-25 03:07:19 +00:00
simonb 3e4456d049 Spell "portege" correctly - it's a computer, not a car. 2001-04-25 03:06:11 +00:00
simonb 6f6fe2f3ad Spell occurred correctly. 2001-04-25 02:33:08 +00:00
mycroft ad44e79f90 It appears there's a race condition when disabling a channel that causes us to
need to explicitly relatch the interrupt when firing it up again.  So, in the
trigger routines, explicitly disable and reenable the interrupt to relatch it,
like we do in the interrupt routine.

Also clean up some broken loop overrun checks.

My ES1371 seems to be more reliable now, but I'm not going to pretend to fully
understand this chip.
2001-04-24 21:03:33 +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
ragge 2f019a2701 Support for KA681 (4000/500A) from Michael Kukat. 2001-04-24 20:16:36 +00:00
thorpej 20f1193ce2 Delete a couple of statistics that are not really worth keeping. 2001-04-24 20:14:45 +00:00
thorpej 7d4893b529 Gather ASN info into a single structure, and place a variable-length
array of those structures at the end of the pmap structure.  We compute
the size of the pmap structure based on the maximum CPU ID for a
particular machine.  This gives us better cache behavior and better
memory footprint for the ASN info.
2001-04-24 20:11:53 +00:00
thorpej 42113967f9 Fix an uninitialized variable problem in the non-MULTIPROCESSOR case. 2001-04-24 20:03:20 +00:00
marcus bc069b939c Abstracted handling of System ASIC controlled IRQ:s a little.
Three different IRQ:s can be selected for each event, 9, 11, or 13
(which selects hardware priority).  More events to be added as they
are discovered.  Do not use shb_intr_establish() to register IRQ 9, 11
or 13 anymore.
2001-04-24 19:43:23 +00:00
uch 909873bca2 recompile. 2001-04-24 19:30:53 +00:00
uch bd926f64c6 code clean up. 2001-04-24 19:27:58 +00:00
bjh21 843c4223f1 setsoftast is a macro now. 2001-04-24 18:21:10 +00:00
bjh21 63692f5771 Rather large overhaul. Mostly cosmetic, but also:
Provide PROC_PC on arm26.
Provide working CLKF_INTR on arm26.
Make setsoftast a macro everywhere.
2001-04-24 18:20:21 +00:00
bjh21 01adfb1d35 Pull in <arm32/psl.h> for spl* definitions. 2001-04-24 18:16:43 +00:00
bjh21 05d087e7c7 Remove definitions of CLKF_*. They're defined in <arm/cpu.h> now. 2001-04-24 18:15:44 +00:00
uch f0df5e196f delete noisy debug message. 2001-04-24 17:09:54 +00:00
thorpej e553a6caf0 Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
2001-04-24 15:41:38 +00:00
fredette de878b5521 Added these required headers. 2001-04-24 14:42:32 +00:00
tsubai af50ac4b06 Make sure free rx buffers have GMAC_OWN set. 2001-04-24 11:04:11 +00:00
leo 56ea880f14 Both isa_hades.c and isa_milan.c are also dependent on 'isa' of course... 2001-04-24 10:56:54 +00:00
jdolecek 115f4e4207 print the drq together with irq, slot info 2001-04-24 09:15:06 +00:00
nisimura da9a00c583 Add PRiD register imp value 0x2d for Toshiba TX4900 family. 2001-04-24 08:03:44 +00:00
leo 164b045485 Split the ISA common attachment stuff and the interrupt handling.
There are too many differences between the Hades and Milan in this area.
2001-04-24 06:39:47 +00:00
leo a1bcd64a89 The register spacing for the Milan is different. 2001-04-24 06:27:58 +00:00
leo d7512523ba Add sanity checking on register B of the mc146818. 2001-04-24 06:26:48 +00:00
leo 8e9f65f2a7 Don't emit SCU defines when it isn't present. 2001-04-24 06:17:22 +00:00
leo 7488e821c5 Handle cases in which the cpulabel pointer == NULL. 2001-04-24 06:15:42 +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 0e325bb097 Some spring cleaning. 2001-04-24 00:19:00 +00:00
thorpej 1e306aae10 Garbage-collect pmap_bootstrap_alloc(); nothing uses it. 2001-04-23 23:58:09 +00:00
thorpej a5dd88f940 Add local prototype for internal pmap_bootstrap_alloc() function. 2001-04-23 23:57:49 +00:00
thorpej 92891185c3 Don't need a prototype for pmap_bootstrap_alloc(); the function
does not exist in the pmap API anymore.
2001-04-23 23:53:07 +00:00
thorpej 079c2e0ac9 Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
2001-04-23 23:50:22 +00:00