Commit Graph

272 Commits

Author SHA1 Message Date
wrstuden 87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
thorpej a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui 644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
msaitoh 0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
dbj b2236223c9 applied patch from "Christian Limpach" <chris@Nice.CH>:
I've fixed the problem that's been keeping me from using anything newer than
   1.4.1 now.  I tracked down the problem checkin, it's the big reorg of
   nextdma.c between 1.19 and 1.20.  It didn't introduce a new bug but it
   activated a check which wasn't activated before.  It's the
   is-the-limit-in-the-right-window-check which was ifdeffed before because
   some DMA-regs would sometimes have strange values.  I think I've fixed the
   DMA-reg stuff for now:   at the end of nextdma_intr, when the csr is poked
   to make DMA do something, I think the check for the ENABLE bit introduces a
   race condition.  I fixed this by unconditionally setting DMACSR_SETENABLE,
   this seems to work and also makes the code more readable.  I've also tried
   setting DMACSR_SETSUPDATE unconditionally and this also works well, but I
   don't know what it implies.  Unless you have reasons to not set SUPDATE all
   the time, I'd suggest making this change as well, it makes the code cleaner
   and faster...
I've tested this patch and it does stop the panics, although I don't think setting
SUPDATE all the tima as he suggests is a good idea.  The "SUPDATE" bit implies
a single update (i.e. the end of a dma chain.)
2000-01-12 19:18:00 +00:00
dbj 5a458d0c73 resync with with hp300 port 2000-01-08 12:41:14 +00:00
dbj 2b4d2c0c58 add % to register names
use cpp macros for all symbol access
2000-01-08 12:38:27 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
dbj cf7de63ef3 add files needed to use KGDB as suggested by Christian Limpach <chris@Nice.CH> 1999-12-14 11:17:26 +00:00
dbj 2e7a822ef2 applied patch from pr port-next68k/8962 from Christian Limpach <chris@nice.ch>
"boot fails on machines which do not have 32M of memory"
1999-12-07 06:27:33 +00:00
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
ragge 26e1b45757 clrnd()/clbase() discarding. 1999-12-05 11:56:30 +00:00
ragge fd58cf1b88 CL* discarding. 1999-12-04 21:36:00 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
is 14ed33e42e Fix typo (&& -> &). 1999-11-28 20:30:57 +00:00
is df61f0409e From the 68040 User Manual, page 4-10:
"To fully support self-modifying code in any situation, it is imperative that
a CPUSHA intrcution is executed before the execution of the first self-modified
instruction. The CPUSHA instruction has the effect of ensuring that there is
no stale data iin memory, the pipeline is flushed, and instruction prefetches
are repeated and taken from external memory."

I verified that this is the only way (I can think of) to make the sigtramp
regression test work on 68040. doing cpushl dc; cinvl ic; over the affected
address range, then nop (to synchronize the pipeline) is not enough; apparently
the nop does not FLUSH the pipeline and prefetch...

Note that the 68060 UM has copied the above cited passage, but in fact this is
not true. This might be connected to the fact that the 68060 does ensure
memory access order under most conditions.
1999-11-25 20:30:38 +00:00
itojun e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
fvdl 8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
thorpej 1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
kleink 1c2019b5a8 Rip protection against multiple inclusion from wrapper headers. 1999-11-09 21:34:03 +00:00
itohy cef3e31058 Fix the problem that single-step tracing of a trap instruction
drops the system into kernel debugger.
1999-10-26 00:20:34 +00:00
dbj 1ddcb8ee87 added a couple of functions missed when chuq removed PMAP_NEW 1999-09-21 11:03:53 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
chs b9604a3f30 make this compile again after PMAP_NEW cleanup. 1999-09-16 14:52:06 +00:00
thorpej 3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
mycroft c3e1f6741d A foolish consistency. 1999-08-30 18:58:01 +00:00
dbj 45ec8742b1 minor rework of dma driver
now uses the DMACSR_READ bit and no longer keeps _nd_dmadir in softc
unified transfer cleanup code, now in routine next_dma_finish_xfer()
fixed bounds checking on registers after transfer.
removed checking for bus errors since the bit is always set on some nexts
(specifically, on mourning, a 25mhz 68040 mono slab)
fixed a couple of dma bugs involving chaining dma buffers.
1999-08-29 05:56:26 +00:00
dbj ec9b8358dc made debugging printfs switchable at run time via the "xe_debug" variable. 1999-08-29 05:51:45 +00:00
dbj a47891200f fixed DMACSR_BITS definition to reflect DMACSR_READ bit renaming 1999-08-28 09:42:44 +00:00
dbj 3c215084bc discovered the purpose of another bit in the dma control register.
DMACSR_READ is now a CSR status bit which can be used to know if current transfer is
from cpu to device.
the old DMACSR_READ bit is renamed DMACSR_SETREAD.  This is a control bit that tells
the dma transfer to be from cpu to device.
1999-08-28 09:19:04 +00:00
thorpej 2cf3330a1b Garbage-collect reference to <sys/dmap.h>. 1999-08-23 22:29:37 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
dbj 383544139f remove some debugging hacks that were no longer being used. 1999-08-17 05:09:13 +00:00
dbj ab21be8e3c implement _bus_dmamap_load_raw_direct 1999-08-17 05:07:59 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
dbj 18221f52fc changed dma segment field "ds_read_len" to "ds_xfer_len" since it is valid for
either read or write transfers.
1999-08-05 01:50:59 +00:00
dbj dddabc6fbd sync with mvme68k/mvme68k/trap.c:1.32 1999-08-04 07:18:21 +00:00
dbj 677f2cf93d fixed prototype of allocate_sir() 1999-08-04 07:14:13 +00:00
dbj dd097da50a remove setting of WSDISPLAY_DEFAULTSCREENS 1999-08-04 06:49:50 +00:00
dbj 29ed3cd11b added define for %b bitfield labels 1999-08-03 10:03:22 +00:00
dbj 705311bcee resync bus_dma functions with current alpha versions.
added a field to a dma segment to return the actual length of that segment that
was successfully transferred.
1999-08-03 09:16:00 +00:00
dbj 34fbdba354 defopt SERCONSOLE 1999-08-03 09:02:10 +00:00
dbj 9eb133fc08 removed unused variable. 1999-08-03 06:55:21 +00:00
thorpej d721481d50 Make sure the branch target of the delay loop is aligned to a cache
half-line (8-byte) boundary.  Inspired by a discussion w/ Scott Reynolds.
1999-08-01 21:32:17 +00:00
augustss f641c4b3b6 Make two wsmux pseudo devices and add mux locators. 1999-07-29 19:36:58 +00:00
augustss 3652732791 Add wsmux device.
(Also add lots of missing chrtoblktbl[] entries.)
1999-07-29 19:14:35 +00:00
augustss a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
cgd f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
dbj 15c0ebc780 fixed TAGS target for emacs style tags 1999-07-20 08:55:30 +00:00
christos 41cc9a0eb8 enable PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER, PFIL_HOOKS, IPFILTER_LOG
on the GENERIC kernels that had them commented out.
XXX: Please note, that not all the kernels have all the options defined!
1999-07-20 07:40:34 +00:00
thorpej 0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
dbj fdba65aa8c renamed splscc to splserial to match spl(9) man page
changed most of the spl* to use _splraise to match current usage
this fixes an observed bug where zstty_attach was calling splzs causing
interrupts to be turned on prematurely.
1999-07-03 08:22:53 +00:00
itojun 5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
itojun 427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
abs b02dbae17e In xxx_mediachange(), if there is no callback to the front-end, just
return 0 instead of EINVAL.  In this case, there will only be one media
type, and the upper-level if_media code will ensure that the user is
setting to that type.
This matches changes Jason made a while back to sys/dev/ic/lance.c
1999-06-23 04:17:10 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
thorpej 602d8e81f7 Don't (ab)use uvm_map_pageable() to allocate PT pages. Instead, do
some internal reference counting on PT pages.  We still allocate them
with the page fault routine (a wire-fault, now), but no longer free
PT pages from pmap_pageable().
1999-06-15 22:18:07 +00:00
kleink 857dfc7058 Slightly rearrange the SSIR inline assembly implementation in order to avoid
making assumptions on C symbol name prefixes.
1999-06-15 15:26:34 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
kleink 6290fed1b6 SVR4-related typo in previous. 1999-05-06 14:16:07 +00:00
christos d27f70c075 Include opt_compat_sunos.h 1999-04-29 16:22:03 +00:00
bad c98240fc07 Don't use the direct console on color machines, which is currently not
supported.  Use serial console instead.
From Matt Debergalis PR 7488.
1999-04-29 14:51:20 +00:00
kleink e1529b8f93 Pull in the right generic m68k header. (Where was my mind?) 1999-04-29 14:38:39 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
simonb 5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
dbj 9176bfee30 add nextkbd flag to nextcons.c so that kernel can be cleanly
configured without a video console
patch submitted by Matt Debergalis
1999-04-24 17:55:10 +00:00
chs 05b971dd5f in pmap_pageable(), rather than marking a PT page as not modified
to trick the pagedaemon into freeing it later, just unmap the page
and free it immediately.  fixes PR 7337.
1999-04-22 04:24:52 +00:00
kleink ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
chs f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
drochner 010bce1d1a add BUS_SPACE_ALIGNED_POINTER() definitions for completeness 1999-04-10 14:06:27 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
mycroft 93768384ee Fix a bug in pmap_collect_pv(), even though nobody currently uses it:
When we put a page on the collection list, we must subtract NPVPPG from the
total free count: one for each pv_entry that's free in that page, and one for
each free pv_entry in other pages that we're going to eat by moving the ones
in the page being collected.
1999-03-27 05:57:02 +00:00
mycroft 9affa543a5 Oops; forgot to change some pmap_enter() calls. 1999-03-27 03:34:08 +00:00
dbj 2e0fe35095 added kgdb support. 1999-03-27 02:59:41 +00:00
wrstuden 2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft 12d512bbb7 Oops; vm_offset_t -> vaddr_t. 1999-03-27 00:30:06 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
dbj f1d7b3337a Disable non functional esp driver and scsi support. 1999-03-26 23:17:53 +00:00
dbj 25ea4fb7a7 tweaks to compile with egcs -Werror
minor changes to scsi driver register accesses.
1999-03-26 06:54:40 +00:00
dbj d1bbf5a190 Added support for using wscons as console.
Enabled wscons as default console.
Use option SERCONSOLE now to use serial console instead now.
1999-03-26 04:42:59 +00:00
dbj 5a7e7178c8 fix polled keyboard support 1999-03-26 04:17:46 +00:00
dbj 0fabf8441f add KS_bar and KS_backslash to default us keymap. 1999-03-26 04:15:27 +00:00
dbj 4717d3e130 fix typo allocating color framebuffer map. 1999-03-24 23:47:46 +00:00
dbj a859ba2b23 Applied patches from Matt Debergalis <deberg@mit.edu>.
These patches include:
  Added framebuffer mapping for color framebuffer to support color wscons
    which is coming soon.
  Renamed wskbdmap_mfii[ch] to wskbdmap_next[ch]
  Changed video to be white on black instead of black on white.
  Now handles and discards mouse interrupts.
  Video and keyboard is now working on mono machines.
1999-03-24 23:15:51 +00:00