Commit Graph

46390 Commits

Author SHA1 Message Date
thorpej f89ed957f1 - Keep cache/tlb info in the cpu_info structure.
- Add "associativity" to the cache_info structure.
- Add a (*cpu_cacheinfo)() function pointer, like we have a
  (*cpu_setup)() function pointer.  Cache info in the `cpuid'
  is vendor-specific.
2001-05-02 21:07:01 +00:00
bjh21 262c7835b0 In an ELF kernel, don't try to find an a.out symbol table. 2001-05-02 19:10:29 +00:00
ragge 5d8483d12a KA690 is not a Mariah. From Michael Kukat. 2001-05-02 17:35:12 +00:00
matt 2cc76644a2 Use the symtab info given by loadfile in the booter instead of assuming
we know where it is.  This is a requirement for ELF.
2001-05-02 16:05:07 +00:00
matt 504811fa55 Include ELF symbol in DDB is we are an ELF kernel. 2001-05-02 15:59:38 +00:00
matt 62b9bd04b1 Pass the numbers of syms down as well. 2001-05-02 15:33:14 +00:00
jdolecek 7cb5602067 Nuke biosboot_ps2 2001-05-02 13:43:10 +00:00
jdolecek 7e111aa959 Add function which uses bios call to get system configuration; this can
be used for presence of MCA bus, if ever needed to be done in bootblocks.
Not used at the moment, but may be in future.
2001-05-02 13:41:07 +00:00
minoura ff3917c60f Oops, it contained some debug code. 2001-05-02 13:34:33 +00:00
jdolecek 63a7c0b5ad Add IBM SCSI Adapter support to the list - this is the last thing
I'm aware Linux MCA supports and NetBSD not
2001-05-02 13:32:21 +00:00
minoura 3e3968872c Remove old obsolete audio driver. 2001-05-02 13:24:52 +00:00
jdolecek 63958eee01 One item off TODO list - we check for MCA bus presence via bios call 2001-05-02 13:20:31 +00:00
jdolecek 0d6051b7f7 Find out the presence of MCA bus via bioscall(9).
g/c some unneeded stuff, make comments more accurate.
2001-05-02 13:18:34 +00:00
jdolecek 8aa43b5a54 The system configuration block structure doesn't need to be public 2001-05-02 13:16:33 +00:00
minoura a7fc9909b6 Add/enable vs. 2001-05-02 13:15:24 +00:00
jdolecek 4caa2e3629 regen: add support for getting %es value from the bios call 2001-05-02 13:13:48 +00:00
jdolecek 0b26347639 Add support for getting %es value from the bios call. 2001-05-02 13:12:45 +00:00
jdolecek 9b12c80149 Move the initialization of bioscall stuff from cpu_startup() to init386(),
so that bioscall(9) is callable from mca_busprobe().
Only print the "biostramp installed @ ..." message #ifdef DEBUG_BIOSCALL.
2001-05-02 13:08:06 +00:00
minoura af80ef9d9a Add vs for x68k. 2001-05-02 13:01:19 +00:00
minoura b2cec36854 X68k built-in voice synthesizer. 2001-05-02 13:00:19 +00:00
minoura 1a9388aa50 Software codec for Oki MSM6258 voice synthesizer.
Recording untested.
2001-05-02 12:53:31 +00:00
minoura f4b1b4cef9 Do not use constants, but macros. 2001-05-02 12:50:24 +00:00
minoura 399af9e4a8 X68k built-in voice synthesizer supports 4bit ADPCM. 2001-05-02 12:49:41 +00:00
minoura 47d22455b3 Disable array chain mode by default, since it is unused by any of
the current devices.
Add more flexibility in the API.
2001-05-02 12:48:24 +00:00
bouyer 90b27e80b9 Redo attachement of scsi/atapibus, so that atapibus at umass works again 2001-05-02 11:24:01 +00:00
scw 40e04a2f6f Bump kernel version number due to `struct linesw' change. 2001-05-02 10:33:36 +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
bouyer 6baecd7e87 Don't forget to init chan_bustype. 2001-05-02 10:31:41 +00:00
bouyer 28d47d8db3 Use same type for first field of struct ata_atapi_attach and struct
scsipi_channel, so umass has better chances of working on big-endian systems.
2001-05-02 09:47:45 +00:00
matt 4bef52d8d5 Use loadfile with boot commands, not exec. 2001-05-02 06:56:54 +00:00
matt 4414a7f791 Keep around a version of boot with symbols. 2001-05-02 06:56:29 +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 31fafb678f Support dynamic sizing of the page color bins. We also support
dynamically re-coloring pages; as machine-dependent code discovers
the size of the system's caches, it may call uvm_page_recolor() with
the new number of colors to use.  If the new mumber of colors is
smaller (or equal to) the current number of colors, then uvm_page_recolor()
is a no-op.

The system defaults to one bucket if machine-dependent code does not
initialize uvmexp.ncolors before uvm_page_init() is called.

Note that the number of color bins should be initialized to something
reasonable as early as possible -- for many early memory allocations,
we live with the consequences of the page choice for the lifetime of
the boot.
2001-05-02 01:22:19 +00:00
thorpej 05dac31b1e Initialize the VM page size before calling the platform init routine. 2001-05-02 01:05:16 +00:00
bjh21 4928854ae3 Arrange to inline hardsplx() into raisespl() and lowerspl(). This should
make them slightly faster, and makes it easier to see how much of the time
apparently spent in hardsplx() actually comes from deferred statclock
interrupts.
2001-05-01 22:19:09 +00:00
kleink 5652bfe409 Re-add accidently removed line continuation in previous; noted by
"Valeriy E. Ushakow" <uwe@ptc.spbu.ru>.
2001-05-01 20:37:44 +00:00
thorpej 01e2971ba2 Add the number of page colors to uvmexp. 2001-05-01 19:36:56 +00:00
lukem 796f5b43a7 delint 2001-05-01 16:40:03 +00:00
lukem e106596e85 remove superfluous ; 2001-05-01 16:39:00 +00:00
enami 1132ef7f20 Use simple do {} while () loop instead of for {} loop + extra test/variable. 2001-05-01 14:02:56 +00:00
jmc 4dbb3cf591 Add a few more items 2001-05-01 13:57:41 +00:00
enami d211385f8a Fix second level indentation in recent commit. 2001-05-01 13:42:34 +00:00
enami e3e7ff2cff Don't descent into plantid_gen since
- it's not objdir safe.
- and it's not necessary since up-to-date generated files are
  commited to trunk.
2001-05-01 13:26:20 +00:00
enami 0b309ab610 Wrap long line. 2001-05-01 13:24:02 +00:00
ragge 2ea00c4d85 Add ka610, remove TS11. 2001-05-01 13:21:27 +00:00
ragge b07617dece More CPU definitions. From Michael Kukat. 2001-05-01 13:20:35 +00:00
ragge 9ee994852e Use linear memory mapping for MV1. No map registers. 2001-05-01 13:20:02 +00:00
ragge e0a272b2cb Support for MicroVAX 1. 2001-05-01 13:18:27 +00:00
ragge ecf0eb7abd CPU support file for KA610 (MicroVAX I). Very simple. 2001-05-01 13:17:55 +00:00
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