Commit Graph

1585 Commits

Author SHA1 Message Date
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
thorpej 6489500f0a 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:43:04 +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 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
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 b2781586c4 Normalize include paths. 1999-07-09 02:32:28 +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
thorpej 30f651d5b0 Const poison local printf prototype. 1999-07-01 20:46:42 +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
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 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 985f839e63 Add a comment explaining why INTRSAFE isn't needed here. 1999-05-26 19:23:13 +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 a79a728c6c Copy alignment fix from dev/ic/i82586.c (Um, this extra copy should die,
too, but at least it's not as bad as the podulebus ie driver).
1999-05-21 21:33:59 +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
mrg 95e0190e23 split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd.  zero functional changes and mostly involves moving code around
a bit.  tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.
1999-05-14 06:42:02 +00:00
nisimura 7a50b38cbd - Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.
1999-05-14 02:11:59 +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
gwr 44844fc8f7 Fix warning 1999-05-08 18:46:17 +00:00
kleink 6290fed1b6 SVR4-related typo in previous. 1999-05-06 14:16:07 +00:00
christos bf88b9104e Include opt_compat_sunos.h 1999-04-30 09:21:54 +00:00
christos d27f70c075 Include opt_compat_sunos.h 1999-04-29 16:22:03 +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
kleink ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00
kleink 5e7ff129c8 Normalize path of files.sunos. 1999-04-16 11:13:38 +00:00
gwr 748b14525c Fix unused variable warning 1999-04-12 01:30:22 +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
gwr a8d683c525 Fix compile error in: sys/lkm/vfs/miscfs/procfs 1999-04-10 02:15:46 +00:00
gwr 4fd30baf02 Better implementation of driver "match" function,
and warning/error cleanup.
1999-04-09 04:26:27 +00:00
gwr 1578ea0b12 Make sure Debugger is declared (even if no DDB).
The sun3 has one regardless of the DDB option.
Fixes kernel compile warning/errors.
1999-04-09 04:01:09 +00:00
gwr 0a16f42840 Slim this down so it can be used as an Xkernel. 1999-04-08 07:10:20 +00:00
gwr c8cdcb1f4c sync with GENERIC 1999-04-08 07:00:58 +00:00
gwr ab812ca7f3 sync with GENERIC3X 1999-04-08 06:49:54 +00:00
gwr f6422020e5 Add opt_ddb.h 1999-04-08 05:07:35 +00:00
gwr 4d67424412 Make "dma" a real device so it can attach before esp.
Also pull in some changes from the sparc version.
1999-04-08 04:46:41 +00:00
gwr 6b0a331b5c Make "dma" a real device so it can attach before esp. 1999-04-08 04:37:00 +00:00
gwr fed408f387 Use the string kernel_arch to determine "sun3" vs "sun3x"
and leave the machine string as it was (make uses it).
1999-04-08 04:17:43 +00:00
gwr 8b27f916e1 Fix the IDPROM checksum. It should check only the first 16 bytes.
Also try to make the sun3 and sun3x versions more similar.
1999-04-08 04:08:01 +00:00
gwr 0678dfb266 That last commit left pagemove() entering random mappings... 1999-04-07 06:07:59 +00:00
gwr bcd555184b Add the address of the DMA gate array (used by the esp driver). 1999-04-06 02:07:51 +00:00
gwr 95e8060c58 Move VM_PHYSSEG_MAX to the common vmparam.h (needed by LKMs). 1999-04-05 14:35:13 +00:00
gwr 2cc28dc7b6 Make it clear that MSGBUFSIZE is not user-adjustable. 1999-04-05 14:34:18 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
gwr c5eaccc017 Arrange for "sysctl hw.machine" to show sun3x.
(Needed by the miniroot, etc.)
1999-03-30 06:12:40 +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
thorpej 587eda7c3f Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:11:51 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
gwr c19324e6bb Fix prototype mismatch. 1999-03-23 05:54:11 +00:00
chs ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
minoura e518820ca8 Pullin m68k/ieee.h. 1999-03-15 11:55:53 +00:00
kleink 9fe70fa4aa Need to include DDB headers only if DDB is defined. 1999-03-04 23:18:28 +00:00
gwr 3828f3a600 Add idprom.c and libsa files that are now separate
(sprintf.c subr_prf.c ...)
1999-03-04 08:19:38 +00:00
gwr 8cf14656b3 On Sun3X machines, use the PROM sif_macaddr function,
but only on PROM 3.0 or later.  With older PROMs, ask
the idprom module to find it (just like on the Sun3).
1999-03-04 08:13:42 +00:00
gwr 631e2be71e Separate checksum function from the fetch/copy functions.
Compute the checksum on only IDPROM_CKSUM_SIZE bytes.
1999-03-04 08:06:59 +00:00
gwr 78eab1b1b9 Replace sun3_etheraddr with sun3_getidprom (used by idprom.c) 1999-03-04 07:56:41 +00:00
gwr 69dc3a4695 Add IDPROM_CKSUM_SIZE 1999-03-04 05:57:18 +00:00
is 0fe440926c Correct type of 3rd argument. 1999-02-27 19:31:58 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
is f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is d04273bac7 sun3 part of fix for PR 6152 1999-02-26 22:03:28 +00:00
gwr 5cf3f8e3b2 It appears that pmap_physseg is now required in userland. Too bad. 1999-02-18 07:13:21 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
mycroft 2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
bouyer f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
fair 14ec3b84b7 Bracket calls to Debugger() with #ifdef DDB (won't compile otherwise;
the prototype isn't there without DDB).
1999-02-02 04:57:11 +00:00
thorpej 2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
chuck 90ddaed9b5 MNN is no longer optional, remove dead code 1999-01-16 20:43:21 +00:00
thorpej c84a74b16b Don't define "mc68020". Nothing uses it. 1999-01-15 23:21:25 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
thorpej e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
mrg 9ec7c3c814 move sun3 to UVM by default. only pica/arc & x68k left. 1998-12-23 06:00:03 +00:00
fair 7a738d840b Make gcc happy by changing %x to %lx hiding in a DEBUG. 1998-12-23 04:53:44 +00:00
drochner 0f6572f2b1 COMPAT_xxx option review: add missing opt_compat_netbsd.h 1998-12-18 15:49:40 +00:00
gwr 271b8ff5ba Sync with GENERIC 1998-12-17 06:46:55 +00:00
gwr ec630d208f Fix some "unused variable" warnings (if !HAVE_CACHE) 1998-12-17 06:17:45 +00:00
itohy 36416d8500 Added options COMPAT_LINUX and EXEC_ELF32 as comments
to GENERIC configuration files.
1998-12-15 19:50:00 +00:00
itohy c05dadc113 Added COMPAT_LINUX support. 1998-12-15 19:36:36 +00:00
kleink a2aacaedde Add -Werror and -Wmissing-prototypes, like most other ports do. 1998-12-13 19:19:38 +00:00
kleink adddbfb644 obio_find_mapping(): int -> vaddr_t where appropriate. 1998-12-13 19:08:43 +00:00
kleink 58f85c298a Printf format warning cleanup: the type of the result of a shift operation is
that of the promoted left operand.
1998-12-13 18:14:30 +00:00
kleink 072888839b Printf format warning cleanup. 1998-12-13 18:00:10 +00:00
kleink 1bf1bbfc56 xdc_piodriver: sync function definition with declaration; also eliminates
the use of a char as an array subscript.
1998-12-13 17:57:19 +00:00