Commit Graph

65711 Commits

Author SHA1 Message Date
chs 14ee4005a1 make sp_tlb_flush() work for profiling kernels:
when we're profiling, the compiler creates a stack frame for us,
so doing a "retl" isn't so good in that case.
2003-08-24 18:10:31 +00:00
chs f217b85c1f make this build with GEM_DEBUG. fix rxhist counters. 2003-08-24 18:07:03 +00:00
chs 2ab420f918 recognize the latest version of the GMAC. 2003-08-24 18:02:00 +00:00
chs 939df36e55 add support for non-executable mappings (where the hardware allows this)
and make the stack and heap non-executable by default.  the changes
fall into two basic catagories:

 - pmap and trap-handler changes.  these are all MD:
   = alpha: we already track per-page execute permission with the (software)
	PG_EXEC bit, so just have the trap handler pay attention to it.
   = i386: use a new GDT segment for %cs for processes that have no
	executable mappings above a certain threshold (currently the
	bottom of the stack).  track per-page execute permission with
	the last unused PTE bit.
   = powerpc/ibm4xx: just use the hardware exec bit.
   = powerpc/oea: we already track per-page exec bits, but the hardware only
	implements non-exec mappings at the segment level.  so track the
	number of executable mappings in each segment and turn on the no-exec
	segment bit iff the count is 0.  adjust the trap handler to deal.
   = sparc (sun4m): fix our use of the hardware protection bits.
	fix the trap handler to recognize text faults.
   = sparc64: split the existing unified TSB into data and instruction TSBs,
	and only load TTEs into the appropriate TSB(s) for the permissions.
	fix the trap handler to check for execute permission.
   = not yet implemented: amd64, hppa, sh5

 - changes in all the emulations that put a signal trampoline on the stack.
   instead, we now put the trampoline into a uvm_aobj and map that into
   the process separately.

originally from openbsd, adapted for netbsd by me.
2003-08-24 17:52:28 +00:00
uwe 4b28d28d70 defflag RASTERCONSOLE. 2003-08-24 17:36:32 +00:00
marcus 7973c3321c Added AICA sound driver contributed by Ryo Shimizu. 2003-08-24 17:33:27 +00:00
uwe 65aeb1d742 #include "opt_rcons.h" 2003-08-24 17:31:59 +00:00
chs fd825b0f1e avoid taking the kernel lock for MPSAFE syscalls.
add missing unlock in fancy case.
2003-08-24 16:36:10 +00:00
chs 3cf764618d remove bogus code that terminates stack trace too early on OEA. 2003-08-24 16:33:41 +00:00
chs 4ffa07757d mprotect()'s "len" is really a size_t, and we can't do any useful
bounds-checking on it.
2003-08-24 16:32:50 +00:00
he cb53c3ac12 The new ufs.o also needs memset, so add it. 2003-08-24 15:19:46 +00:00
he d871277d7d Adapt to new ufs.c needing memcmp and memmove. 2003-08-24 15:11:18 +00:00
he 47a6e783ff Adapt to const-ification of the first arg of the open function of fs_ops. 2003-08-24 14:43:29 +00:00
tron 6948b33a95 Add a missing blank line between two functions. 2003-08-24 09:38:53 +00:00
itojun e5255bfd47 make proc.curproc.* check more strict. atatat 2003-08-24 06:11:19 +00:00
mrg b5076a98db 64 bit number literals need a "ULL" suffix 2003-08-24 00:41:43 +00:00
cjep a94f967897 Make this compile with options DEBUG (part of PR#22582 from Frank Kardel). 2003-08-23 20:37:18 +00:00
martin f5a54fd742 When trying to (re-)establish a session cope with intermediate output
failures of the underlying ethernet interface - just keep trying.
2003-08-23 16:42:41 +00:00
he 75219318a9 Add memmove.c, needed by new ufs.c. 2003-08-23 09:10:51 +00:00
uwe 8dccb95e85 French keydesc for Jornada 680/690. Written based on photos and
descriptions of WinCE behavior from Ge'rard Gambaro (jornada.free.fr).
Not tested on an actual ABF unit.

Hidden under #if 0, as we don't have a platform id for French Jornadas yet.
But I think it's better off committed before it's got lost.
2003-08-23 02:48:47 +00:00
itojun 3e76200c67 need sys/domain.h for FAST_IPSEC case; jonathan 2003-08-23 01:41:10 +00:00
dogcow 80f2705ab1 regen (add VIA VT6105) 2003-08-23 00:14:42 +00:00
dogcow 171b7c3fa5 add VT6105 support to vr(4) 2003-08-23 00:14:28 +00:00
itojun a3bad645a4 make sure so is properly initialized 2003-08-22 22:49:34 +00:00
itojun 58f57a60fd tp could be null in tcp_respond() 2003-08-22 22:27:07 +00:00
itojun 4e6aca94c2 correct missing inclusion of opt_ipsec.h 2003-08-22 22:11:44 +00:00
itojun cabb25918f no need for opt_ipsec.h any longer 2003-08-22 22:05:11 +00:00
itojun 11ede1ed88 remove ipsec_set/getsocket. now we explicitly pass socket * to ip{,6}_output. 2003-08-22 22:00:36 +00:00
itojun 82eb4ce914 change the additional arg to be passed to ip{,6}_output to struct socket *.
this fixes KAME policy lookup which was broken by the previous commit.
2003-08-22 21:53:01 +00:00
itojun 9329caaf20 typo in log message 2003-08-22 21:50:42 +00:00
dsl db4706faf9 Reduce memory footprint:
- use file buffer for all block reads
- only save a small amount of the indirect block list
Allows i386 bootxx_ufs code to load /boot from a filesystem with 32k blocks
while still fitting inside 64k of memory.
Code size reduced as well (by ~1k on i386).
It ought to be possible to use a buffer that is smaller than a filesystem
block.  This might be needed in order to boot from filesystems with larger
block sizes.
2003-08-22 21:33:52 +00:00
dsl f3404c9f63 Fix same breakage as previous (need memmove for symlink handling in ufs.c)
but use (probably) smaller footprint code from libsa.
2003-08-22 21:14:35 +00:00
dsl 6c51a53afa Add memmove - needed for symlink processing in ufs.c 2003-08-22 21:00:26 +00:00
jonathan e3ec783e41 (Accidentally-omitted change): update for ip6_output() to match commit below.
replace the set_socket() method of passing an extra struct socket*
argument to ip6_output() with a new explicit struct in6pcb* argument.
(The underlying socket can be obtained via in6pcb->inp6_socket.)

In preparation for fast-ipsec.  Reviewed by itojun.
2003-08-22 20:49:03 +00:00
jonathan 9339ef0381 Change KAME code for ip_output()/ip6_output() to obtain struct socket*
from the explicit inpcb*/in6pcb* argument.  set_socket() becomes redundant.
2003-08-22 20:29:00 +00:00
jonathan 902669955f Replace the set_socket() method of passing an extra struct socket*
argument to ip6_output() with a new explicit struct in6pcb* argument.
(The underlying socket can be obtained via in6pcb->inp6_socket.)

In preparation for fast-ipsec.  Reviewed by itojun.
2003-08-22 20:20:09 +00:00
he b372f2beaa Adapt to const-ification of first arg of open function in fs_ops. 2003-08-22 08:06:19 +00:00
itojun 8ebd15f8cd add udav* 2003-08-22 07:52:48 +00:00
itojun 52f8075c5a allow userland to specify SPD ID. more readable debugging messages. 2003-08-22 06:22:21 +00:00
itojun 80e0659dae KNF 2003-08-22 06:21:09 +00:00
itojun 616adf38ee backout; committed by mistake 2003-08-22 05:48:27 +00:00
itojun 190b098134 do not quit from key_sendup() even if writes to non-target socket fails.
from SEIL team
2003-08-22 05:46:37 +00:00
itojun 96467c96c7 add udav* 2003-08-22 05:14:00 +00:00
itojun 413787298f udav*, for ether w/ Davicom DM9601 chipset. Shingo WATANABE 2003-08-22 05:13:29 +00:00
itojun 714f2369d3 on netbsd, major # for /dev/crypto depends on arch 2003-08-22 05:07:26 +00:00
itojun 4440262659 create /dev/crypto 2003-08-22 05:06:22 +00:00
jonathan 215937cb45 Check in hooks to fix checksum offload on bge devices. Empirical
observation is that some 570x devices can get themselves into a state
where they miscompute off-loaded TCP or UDP checksums on packets so
small that Ethernet padding is required.  Further obsevation suggests
that the bge checksum-offload hardware is adding those padding bytes
into its TCP checksum computation. (Once a 5700 gets in this state,
even a warm boot won't fix it: it needs a hard powerdown.)

Work around the problem by padding such runts with zeros: even if the
checksum-offload adds in extra zeros, the resulting sum will be correct.

Also, dont trust the checksum-offload on received packets smaller than
the minimum ethernet frame, in case the Rx-side has a similar bug.

Finally, on packets where we do trust the outboard Rx-side TCP or UDP
checksum, the bge did not include the pseudo-header. Set the
M_CSUM_NO_PSEUDOHDR bit as well as M_CSUM_DATA, and rely on
udp_input() or tcp_input() adding in the sum via in_cksum_phdr().
2003-08-22 03:32:35 +00:00
jonathan 25eeb02c06 Fix a bug in compaction of `DMA runt' fragmented packet chains:
if we m_dup() a packet to compactify it, and later run out of DMA
descriptors, bge_encap() will return ENOBUFS, hoping the driver will
try again later.  But we have just m_freem()'d the original chain
which was m_dup()'d, leaving a pointer to the just-freed packet header
in the tx queue.

Fix by always walking the chain, shuffling data towards the head;
except if we find a runt in the very last mbuf, we must borrow data
from its predecessor.

(Patch is verbatim from a third-party tree, apologies for any style woes.)
2003-08-22 03:03:20 +00:00
junyoung d366db246b TNF & remove trailing spaces. 2003-08-22 02:01:32 +00:00
petrov 53514f157f Don't set and check absent interrupts on sabre. 2003-08-22 00:46:25 +00:00
petrov 051f6b8a9a Cosmetic: move DEBUG defines. 2003-08-22 00:45:40 +00:00
he 1c6c843936 Adapt to const-ification of first arg of open function in fs_ops. 2003-08-21 23:28:27 +00:00
he 09c6022868 Add memcmp, memmove and bcmp to handle the new ufs.c. 2003-08-21 23:24:36 +00:00
he b6643fd4d3 Adapt to const-ification of first arg of open function in fs_ops. 2003-08-21 23:15:18 +00:00
he 25d9b10ee9 Add casts of LINUX_USRSTACK and USRSTACK to handle the cases
where these are not constants.
2003-08-21 23:00:07 +00:00
he 241ad00001 Adapt to const'ing of the first argument of the open function in fs_ops. 2003-08-21 22:34:48 +00:00
jonathan 9dbddd495b Remove #ifdef _OpenBSD__ code which sets the softc pointer `sc' by
passing an index into ubsec_cd.cd_devs[]: that causes too much
confusion with the checks that sc is non-null.
2003-08-21 20:00:15 +00:00
jonathan 6f179aea24 Pull in FreeBSD sys/opencrypto/cryptodev.h, revision 1.2.2.5 -> 1.2.2.6.
Sam Leffler's FreeBSD commit message was
  ``to eliminate context switch when returning results from the
     software crypto driver''
but the patch also contains the CRYPTO_SESID*() macros used in newer
ubsec and hifn drivers.
2003-08-21 19:44:14 +00:00
jonathan 412d30185b Pull up `done' flag for crypto operations from FreeBSD. FreeBSD deltas:
cryptodev.c: 1.4.2.3 -> 1.4.2.4
  cryptodev.h: 1.4.2.4 -> 1.4.2.5
2003-08-21 16:08:05 +00:00
yamt a7f9b1d8e0 don't make zero-sized mappings. 2003-08-21 15:17:03 +00:00
dsl dc46f864d1 Hide prototype of linux_exec_setup_stack() inside #ifdef _KERNEL so
that sbin/sysctl will compile.
2003-08-21 15:08:25 +00:00
jonathan 6196bbe72d Honour the M_CSUM_NO_PSEUDOHDR, if set on inbound TCP and UDP packets.
Tested against  bcm5700 with patched if_bge.c.
2003-08-21 14:49:49 +00:00
dsl 92c5eba410 Split CGSIZE definition so it can be used with 64bit fpg values.
Split cg_start so magic can be done in libsa when it is known that the
filesystem isn't UFS2.
2003-08-21 14:41:00 +00:00
he 395b0c6682 Now that ufsboot / ufs.c uses memmove(), we need to include it here. 2003-08-21 13:12:32 +00:00
pk 84ab67f557 sun4/sun4c DIAGNOSTIC: fix tally of locked down pmegs.
pmap_page_protect: DIAGNOSTIC: show `pg' argument in panic.
pmap_unwire: for now, only used for sun4/sun4c MMUs.
2003-08-21 09:36:28 +00:00
hannken 1a2d1be737 Fix syscall_vm86 argument:
struct trapframe -> struct trapframe *
2003-08-21 08:36:56 +00:00
elric 72e3ec4b0c Should call ufs_close() if it isn't being built in. 2003-08-21 00:01:28 +00:00
elric 2a56d40c5c make 'path' argument to cd9660_open 'const char *' and fix the fallout. 2003-08-21 00:00:52 +00:00
itojun 109461480a expose CBQ_MAXPRI to userland 2003-08-20 23:32:25 +00:00
jonathan 65d419641b regen from pcidevs 1.567 with fix for typo in bcm5823 product-id. 2003-08-20 22:58:22 +00:00
jonathan fcc087c11d Fix typo (s/5822/5823/) in line for bcm5823 device. 2003-08-20 22:56:13 +00:00
jonathan c23a2c9c86 opt_inet6.h is FreeBSD-specific, so wrap it with #ifdef __FreeBSD__/#endif. 2003-08-20 22:33:40 +00:00
fvdl c43b35423e Pass pointers to frames from assembly, do not use the 'frame on stack
as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions
about the stack that will not be true. Costs 2 instructions per trap/syscall
on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64,
2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better
optimization (it'd better..)

While here, make amd64 compile again by using subr_mbr_disk.c
2003-08-20 21:48:35 +00:00
drochner 544307ba64 make the vlan stuff work 2003-08-20 17:41:38 +00:00
matt a1bba8f344 Relax things so that OFW implementations that don't conform to the OFW PCI
bindings will work.
2003-08-20 14:41:56 +00:00
yamt 7847549d35 use LSDEAD instead of SDEAD for lwp state. 2003-08-20 14:04:00 +00:00
yamt 611b0b9f15 don't use a space char in wmesg.
it makes outputs of SIGINFO confusing.
2003-08-20 13:54:48 +00:00
yamt be09ed029e fix indent. 2003-08-20 13:50:53 +00:00
itojun 1403d9d920 KNF 2003-08-20 13:32:33 +00:00
ragge e7bd9c8c0f Add Makefile. 2003-08-20 12:29:08 +00:00
erh a22558465d Add entry for Intel 82801EB AC-97 audio. Audio sounds fine with this,
although the mixer settings are a bit odd: outputs.master doesn't do anything,
but outputs.surround does.
2003-08-19 21:04:22 +00:00
dsl 40bac1084c When writing the disklabel:
- Write label to all netbsd (type 169) mbr partitions (even if they don't
  already have a label).
- Update any label found in sector LABELSECTOR and sector 0.
Latter change makes DIOCWDINFO (etc) work on raidframe (fixing bin/22529).
2003-08-19 11:49:24 +00:00
ragge a9e5513c6b Kerner library files for pdp10. 2003-08-19 10:59:26 +00:00
ragge 7ea6b903f5 Basic machine-dependent code for pdp10.
Lots of stuff here not yet finished.
2003-08-19 10:54:59 +00:00
ragge a08c4b9e22 Header files for pdp10. 2003-08-19 10:53:04 +00:00
ragge 7a599d2c3e Simple ebus, Massbus adapter and Massbus disk drivers.
The Massbus disk drivers should be merged with the vax Massbus disk drivers
when the 4.4BSD Massbus code gets free.
2003-08-19 10:51:57 +00:00
ragge ab103e8af7 Configuration files for pdp10. 2003-08-19 10:49:57 +00:00
itojun b83dd2f98b remove unneeded #ifdef __NetBSD__ 2003-08-19 08:00:54 +00:00
itojun ade8129bdc make ip_fragment public (it is for coming PF integration) 2003-08-19 01:20:03 +00:00
christos ae572737ba make ip_fragment static and add prototype. 2003-08-19 00:54:41 +00:00
itojun 4f8ba921cd correct ip_multicast_if fix to always set ifp (tnx Shiva) 2003-08-19 00:17:38 +00:00
eeh 677644de4b Increase the size for the symbol table so we don't overflow anymore. 2003-08-18 23:20:06 +00:00
itojun 449b5c43d4 since we cope with packets with addess on !IFF_UP interface in ip_input()
properly, IFF_UP check in INADDR_TO_IA is obsolete (or too much).
2003-08-18 22:28:51 +00:00
itojun 122edbc337 fix problem we can't drop membership on !IFF_UP interface.
reported by Shiva Shenoy

while we're here, fix another problem when the same interface address is
assigned to !IFF_MULTICAST and IFF_MULTICAST interface.  if ip_multicast_if()
returns the first one, join/leave will fail, which is not an desired effect.
2003-08-18 22:23:22 +00:00
matt 121c8942a6 Not all PPC ports (e.g. macppc) equate IPL_NONE with 0. 2003-08-18 22:10:33 +00:00
eeh 26ed6e652b Do not rely on an address from one particular firmware version. 2003-08-18 21:34:11 +00:00
eeh e898bed96b Use the only documented method to get the board data from the firmware. 2003-08-18 21:30:51 +00:00
he 6d211e7dbf Re-balance parens. 2003-08-18 20:34:18 +00:00
dsl fc94061686 Further fallout from making 'path' arg to 'ufs_open' 'constchar *'.
There may be fallout in other builds....
2003-08-18 15:47:41 +00:00
dsl 8453fb0040 make 'path' argument to ufs_open 'const char *' and fix the fallout. 2003-08-18 15:45:27 +00:00
taca 88b2ae484d make ahc(4) to recognize Adaptec 2915LP Ultra160 SCSI adapter. 2003-08-18 09:16:22 +00:00
oki f3dd49b44c Add exec_setup_stack in execsw for lkm. Hi christos! 2003-08-18 09:04:45 +00:00
dsl d678060c05 KNF, fix a comment or two 2003-08-18 08:00:52 +00:00
matt 93b63570a0 Properly walk the OF tree to map a PCI node's interrupt property into the
proper settings for the interrupt-controller.
2003-08-18 07:08:11 +00:00
itojun dc4bf37abf support new quirk bits on debug output 2003-08-18 05:39:07 +00:00
elric 73d81f8b40 Ensure that the IV is aligned for strict alignment machines. 2003-08-18 02:36:17 +00:00
mrg ef0f504703 allow DEBUG to be set to "-gstabs" or "-gstabs+", to enable building
netbsd.gdb.  (you need "-gstabs" for gcc3.3 and old gdb.)
2003-08-18 00:15:41 +00:00
hannken d56baf4735 Add a placeholder for lpt, char 20.
Requested by: Matt Thomas
2003-08-17 19:15:50 +00:00
chs e02e4ecc2b lots-o-stuff:
- fix opcodes_base[10] to allow us to find "cmpli".
 - fix "cmp" definition.
 - add various missing SPRs.
 - use the right bits for the "BI" operand.
 - fix operand calculation for "rlwinm" and friends, and display
   the operands in the same order as the manuals do.
 - make the buffer bigger to avoid overflow.
2003-08-17 18:23:17 +00:00
chs f96eebf908 use the value of the "soft-reset" property (if it exists) to locate
the reset vector (needed on my shiny new G4).  from tsubai.
2003-08-17 18:12:34 +00:00
chs 86bd9c4a5e recognize the product ID used on the latest G4s. 2003-08-17 18:10:09 +00:00
chs 4ba6255f14 add some 745x-specific MSSCR0 bits. 2003-08-17 18:08:17 +00:00
chs f19809f0fa remove an unused proto. 2003-08-17 18:07:11 +00:00
chs 0e431087e5 regen 2003-08-17 18:06:22 +00:00
chs b27931b073 add the uninorth ATA found in the latest G4s, and a highpoint IDE. 2003-08-17 18:03:29 +00:00
pk dd51ebce3f sun4/sun4c MMU: keep `wired' status per page, implemented by defining a bit
in the PTE word that is not used by the hardware. Use it to unlock a `pmeg'
if the wired count in a segment drops to zero.
2003-08-17 18:00:51 +00:00
bouyer 1f8e327374 Add support for VIA VT8237 (KT600) IDE controller. From Stephen Degler in
PR port-i386/22453.
2003-08-17 15:52:06 +00:00
bouyer 104faa2485 Regen: Add 3com 3c940 Gigabit Ethernet, and VIA KT600 PCI devices. 2003-08-17 15:48:41 +00:00
bouyer 1a1c011785 Add 3com 3c940 Gigabit Ethernet, and VIA KT600 PCI devices. From Stephen Degler
in PR port-i386/22453
2003-08-17 15:47:11 +00:00
kochi 35312b5efa make shutdown error messages clearer (idea from Christoph Egger) 2003-08-17 14:23:16 +00:00
kochi 1cc19c34e0 Try shutdown with ACPI only when ACPI is enabled.
Patch from Masanori Kanaoka (with a little modification by me).
2003-08-17 14:15:43 +00:00
hannken efc0a23c7d Add lpt (for explora) as char 20.
This major number is unused in macppc.
2003-08-17 11:06:46 +00:00
kochi 42ade8383d check return value of AcpiEnterSleepStatePrep() to catch
any failure
2003-08-17 03:45:19 +00:00
pk fda797e0a4 sun4/sun4c MMU: keep `wired' status per page, implemented by defining a bit
in the PTE word that is not used by the hardware. Use it to unlock a `pmeg'
if the wired count in a segment drops to zero.
2003-08-16 19:21:21 +00:00
yamt 1877d60129 use sizeof() instead of a hardcorded constant. 2003-08-16 18:09:14 +00:00
yamt 3fcbf88d41 current trylater/jukebox retry delay is way too long and
it has a bug in the backoff calculation. so,
- clip it to 1-60 sec. (suggested by Rick Macklem)
- use a constant multiplier instead of nfs_backoff, which
  is already exponential.
- move some related constant definations to nfs.h from nqnfs.h and
  prefix with NFS_ instead of NQ_ because they are not nqnfs-specific.
2003-08-16 18:08:27 +00:00
hannken af69915880 Add bus_dmamap_sync as dma regions are no longer uncached. 2003-08-16 15:40:41 +00:00
itojun 3bcba4f62b do not disconnect L4 connections on IP address removal. the behavior
is too extreme (consider DHCP/PPP-based fixed address allocation).
see tech-net for more info.
2003-08-16 11:30:35 +00:00
dsl 72fa43211e gcc for sparc seems to barf at 'int_var * 0x100000000ull' so do
'(uint64_t)(uint)int_var << 32' even though it generates twice as many
instructions on i386!
2003-08-16 07:04:17 +00:00
itojun 8fb8c94387 regen 2003-08-16 06:39:12 +00:00
itojun 9a9c255e39 Corega USB-TXC (uses Davicom DM9601E, does not work with existing driver) 2003-08-16 06:36:29 +00:00
jonathan f4c2260f8a Make if_loop MTU settable via SIOCSFMTU/ifconfig. Useful for testing,
and for regression-testing performance at various MTUs.

NB: route MTU may not track MTU changes, which may cause problems for
AF_ISO if loopback MTU is decreased. I've never seen problems with IP,
in various tests going back to around NetBSD 1.3.
2003-08-15 19:22:08 +00:00
kochi e7df232658 'struct acpi_resources' will have references to malloc'ed memory.
So it's better to not to allocate on stack.
2003-08-15 17:22:23 +00:00
jonathan 2ea4c76684 Fix bug with IP_DF handling which was breaking TCP: on FreeBSD, ip_off
is assumed to be in host byteorder during the input(?) path.  NetBSD
keeps ip_off and ip_len in network order.  Add (or remove) byteswaps
accordingly.  TCP over fast_ipsec now works with PMTU, as well as without.
2003-08-15 17:14:31 +00:00
kochi 77db8900ab Correct calculation of timeout. 2003-08-15 17:07:04 +00:00
martti 03506a6ef3 Fix return-rst for IPv6 (PR#22157 by Peter Postma). 2003-08-15 08:11:09 +00:00
itojun f80fd2c5ea accept 1518-byte frames (needed for vlan). Valtteri Vuorikoski 2003-08-15 07:29:34 +00:00
itojun c2ab035d77 - check HDRTYPE early, and ignore if it is not supported (n > 2).
- defer access to interrupt configuration register, as its existence depends on
  HDRTYPE.
- add "skip particular funtion in multifunction device" functionality
  to quirk table.
- add GEODE/NS SC1100 quirk (now boots on soekris Net4801).
2003-08-15 07:17:21 +00:00
jonathan f3ab6286e9 Change ipsec4_common_input() to return void (not int with errno,
as in FreeBSD), to match NetBSD protosw prototype.
2003-08-15 03:50:20 +00:00
jonathan 28b5f5dfab (fast-ipsec): Add hooks to pass IPv4 IPsec traffic into fast-ipsec, if
configured with ``options FAST_IPSEC''.  Kernels with KAME IPsec or
with no IPsec should work as before.

All calls to ip_output() now always pass an additional compulsory
argument: the inpcb associated with the packet being sent,
or 0 if no inpcb is available.

Fast-ipsec tested with ICMP or UDP over ESP. TCP doesn't work, yet.
2003-08-15 03:42:00 +00:00
simonb bc73aa40f5 Return NULL instead of 0 for functions that return pointers.
Sprinkle some KNF whitespace.
2003-08-15 02:59:32 +00:00
itojun 277f295364 regen 2003-08-14 23:39:47 +00:00
itojun 7f5e474ef7 s,PCI/ISA,PCI-ISA, 2003-08-14 23:39:22 +00:00
itojun 17b77b454e add National Semiconductors SC1100 (GEODE) PCI devices. 2003-08-14 23:38:34 +00:00
hannken 58f4f18578 Fix a typo: sm->sg_npte -> sp->sg_npte 2003-08-14 11:00:02 +00:00
itojun 7094514d4d aha and le uses isadma 2003-08-14 10:03:03 +00:00
tsutsui 143adabe3d If BUS_DMA_ALLOCNOW is specified with nsegments > 1
in jazz_bus_dmamap_create() disable BUS_DMA_ALLOCNOW for now
rather than return ENOMEM.  Required by some PCI devices (like pciide(4)).
XXX needs re-think how BUS_DMA_ALLOCNOW should be handled.
XXX (we should use another flag for the jazz internal DMAC?)
2003-08-14 09:35:26 +00:00
nonaka fcfc3fe7cb Add support for another Intel Pro/100 variant. 2003-08-14 07:59:39 +00:00
itojun fd3f06dabb enforce ipsec policy on raw wildcard. 2003-08-14 07:57:40 +00:00
itojun 230da08946 correct number range handling. David Young 2003-08-14 07:39:22 +00:00
itojun 95758d3554 avoid oldlenp mixup (in-kernel pointer and userland pointer). from atatat 2003-08-14 05:14:52 +00:00
christos 329946a58b remove the args from the macro. 2003-08-14 02:17:07 +00:00
itojun 25e6c004c4 fix INT_MAX check in if_clone_lookup 2003-08-14 00:19:43 +00:00
itojun 326e7bdf59 correct if_clone_lookup(). based on diff from Quentin Garnier 2003-08-14 00:13:34 +00:00
jonathan 23f68da565 Make sure one (potentially) overlapping copy is safe. 2003-08-13 20:13:59 +00:00
jonathan 740290313e Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4.
Fast-IPsec is a rework of the OpenBSD and KAME IPsec code, using the
OpenCryptoFramework (and thus hardware crypto accelerators) and
numerous detailed performance improvements.

This import is (aside from SPL-level names) the FreeBSD source,
imported ``as-is'' as a historical snapshot, for future maintenance
and comparison against the FreeBSD source.  For now, several minor
kernel-API differences are hidden by macros a shim file, ipsec_osdep.h,
which (aside from SPL names) can be targeted at either NetBSD or FreeBSD.
2003-08-13 20:06:49 +00:00
wrstuden 2d11b64df0 Include correct file for defopt. 2003-08-13 19:44:12 +00:00
yamt e6483a7858 - leave a compiler which register is used for an asm argument.
- use correct asm constraints.
- eliminate usage of dummy variables.
2003-08-13 12:40:31 +00:00
yamt fd72624430 use correct asm operand indexes.
(previously 'GLptr' was used as mask.)
this long standing bug seems to be uncovered by
my previous change(rev.1.2) on some machines.

PR/22457 from Matthias Scheler, and tested by him.
2003-08-13 12:38:35 +00:00
ragge 303f533292 sys/types.h -> sys/param.h to get vax inlines correct. 2003-08-13 11:35:25 +00:00
ragge bc830a1980 Do not use the builtins for the mem* functions on vax, the compiler gets
confused with the static inline functions vax uses.
2003-08-13 11:34:24 +00:00
ragge f69577d50c Include the C versions of the string instructions.
Replace blkcpy() with a version that can handle overlapping data areas.
2003-08-13 11:32:23 +00:00
ragge 923106363e Some of the vax-specific mem*() functions did not check for len > 65535,
and when MAXDSIZ were increased memcpy() length sometimes were larger
than 64k (like in amap_extend()) All functions now checks the length.
This fixes PR#19968.

Disable the inline string functions and use the C versions instead.
2003-08-13 11:30:50 +00:00
ragge c049e276e3 Improved driver with much better error handling, from Jochen Kunz
(the original author of the driver).
2003-08-13 08:08:48 +00:00
itojun 4d754cb259 in6_pcbrtentry() now returns IPv4 rtentry if in6pcb is connected to IPv4 mapped
address.  PR kern/22431 from Andreas Gustafsson
2003-08-13 04:59:34 +00:00
scw 031f751a7d Lmapped_start is used in db_trace, so mark as a 'function'. 2003-08-12 21:48:07 +00:00
martin c52fa54bfe Make it compile on alpha. 2003-08-12 19:49:27 +00:00
matt 1d1029332d Remove this. The architecture specific ones are now used. 2003-08-12 18:35:51 +00:00
matt 47483092bd Cleanup/rework cpu_switch*, switch_exit, Idle routine. Remove pcb_psl
since it was write-only.  When setting up a process, make sure the fake
callframes are properly linked together.

Only lower SPL when in Idle loop.  Raise spl to previous level (which would
be IPL_SCHED) when exiting Idle loop.  Never lower SPL anyplace else.
2003-08-12 18:34:47 +00:00
matt b986a8c215 D'oh! The PCB can't be accessed with the MMU off. So get the pmap pointer
*before* disabling the MMU.
2003-08-12 15:40:02 +00:00
pk 87d5e88b94 sun4/sun4 mem_fault(): on kernel faults we now need to try to page in a
a `pmeg' too. See also sparc/pmap.c, rev 1.265.
2003-08-12 15:34:32 +00:00
pk 98d3a23993 Extensive rewrite of the sun4/sun4c pmap code to allow non-wired kernel
mappings to use the pre-emptable pool of `PMEG' MMU resources.
2003-08-12 15:31:56 +00:00
pk fe30a2e6c1 Use pmap_remove_all() to flush the cache by context and set a flag to
avoid subsequent user space cache flushes by page or segment in pmap_remove().
2003-08-12 15:13:11 +00:00
scw 10e88b305a copy{in,out} and kcopy should return success if 'len' is zero. 2003-08-12 13:51:52 +00:00
scw 8d5dbf5382 An FPUEXC leaves the PC pointing to the FP instruction
which caused the exception. To avoid an endless loop if
the user is ignoring or catching SIGFPE, adjust the saved
PC to skip over the offending instruction.

XXX: It's not clear that this is the correct behaviour,
XXX: but it's the only way to make sh5 pass the IEEEFP
XXX: regression tests in regress/lib/libc/ieeefp/except.
2003-08-12 13:50:23 +00:00
dsl 744ee27288 Try looking RF_PROTECTED_SECTORS further down the partition if /boot
cannot be found.
Lets the system boot directly from a rad set.
2003-08-12 10:03:03 +00:00
dsl 85b06a40e5 Let boot code include raidframe.h to get RF_PROTECTED_SECTORS. 2003-08-12 10:01:08 +00:00
tls 062dab3c81 Remove RND_FLAG_NO_ESTIMATE and comment claiming we can't estimate (which
means "count", in this context) the entropy we're adding because we poll the
device periodically.  Sure, we poll it periodically, but it's a hardware
RNG -- the data returned should be random no matter when we read the
register!
2003-08-12 09:46:46 +00:00
bsh e1cdd07843 use CLZ insn to find a pending interrupt. 2003-08-12 08:24:04 +00:00
matt a3a18840be Remove SPILLSTK leftovers. 2003-08-12 05:15:41 +00:00
matt c0d6cb285d Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist.  for few uses that need CURPM, use CURPCB/PCB_PM
2003-08-12 05:06:53 +00:00
fvdl 8655b27bf5 SA fixes from Stephan Uphoff. Quoting him:
The patch below (hopefully) improves some signaling problems
found by Nathan.

It also contains some cleanup of the sa_upcall_userret() function
removing any sleep calls using PCATCH.

Unblocked threads now only use an upcall stack after they
acquire the virtual CPU.
This prevents unblocked threads from stealing all available
upcall stacks.


Tested by Nick Hudson.
2003-08-11 21:18:18 +00:00
fvdl 8c1a2eef97 Fix deadlock issue. Slight variation on patch by Stephan Uphoff. 2003-08-11 21:15:50 +00:00
drochner 657c8bd72c fix a memory deallocation botch in the realloc-ldt case,
plus some cosmetics
from Stephen Ma per PR port-i386/19724
2003-08-11 17:26:24 +00:00
drochner 6fb41457ab arrgh - KERNBASE_LOCORE! 2003-08-11 16:56:46 +00:00
pk d022b5caad uao_pagein_page() & anon_pagein():
* return failure if the page cannot be retrieved.
	* wakeup any waiters when releasing a page after successful page in.
2003-08-11 16:54:10 +00:00
pk 96f1796f30 Only deactivate pages if their wired count is zero. 2003-08-11 16:48:05 +00:00
pk 3bef941831 Make sure to call uvm_swap_free() and uvm_swap_markbad() with valid (i.e.
positive) slot numbers.
2003-08-11 16:44:35 +00:00
pk 5869d91cb9 Introduce uvm_swapisfull(), which computes the available swap space by
taking into account swap devices that are in the process of being removed.
2003-08-11 16:33:30 +00:00
matt 3527dc3950 When getting the lwp to switch to, test to see if the scheduling queue is
empty, and if so panic.  Change references to "proc/process" to lwp.
2003-08-11 15:39:24 +00:00
itojun 9ec3d05b38 remove weird #define MNULL/PCBNULL (NULL should do it just fine) 2003-08-11 15:17:29 +00:00
itojun 497e73e9cf rm extra blank line 2003-08-11 15:14:16 +00:00
itojun bdbf60398b minor knf 2003-08-11 15:13:59 +00:00
yamt 44d0d57217 do wakeup() only when someone is waiting for us. 2003-08-11 15:07:14 +00:00
yamt 104f2a80df introduce SME_FLAG_BUSY and set it during operations
instead of keeping sysmon_envsys_list_slock spinlock held
because some drivers might sleep in sysmon_envsys ops,

XXX sysmon_envsys_lock is now redundant
2003-08-11 14:24:41 +00:00
drochner e8d0979bed Fix stack location for VM86 processes in the !sigaltstack case.
I doubt it makes much sense to use the VM's stack for this, but the
old code was doubtless wrong because it potentially overwrote random
user memory.
(It might be a good idea to use the process' pre-vm86()-call stack,
but atm the infrastructure for this is missing.)
2003-08-11 14:09:18 +00:00
christos cdf5cfc132 Kill another stray setup_stack. Thanks @@@. 2003-08-11 13:27:58 +00:00
atatat 3e5ef14f22 Make sure to wrap include opt_foo.h in _KERNEL_OPT. 2003-08-11 13:20:39 +00:00
christos 2b16e874b8 I don't understand why there this is here, since we have exec_ecoff.c in kern,
but remove the stack setup function anyway.
2003-08-11 12:58:43 +00:00
dsl 3530472a3b Rework VTIME calculations so that they don't hit numeric overflow (ok now
for hz < ~200kHz).  Old code failed VTIME > 214 even with hz=100.
Fixes kern/12285.
2003-08-11 10:49:06 +00:00
pk 9f987d0ac0 Workaround to prevent a lockup in pipelock() in the case that signals are
pending while we must wait for the lock.
2003-08-11 10:24:41 +00:00
augustss 6100a552cc Add Sony Ericsson DCU10 USB Cable. PR kern/22432. 2003-08-11 08:16:34 +00:00
augustss 3a0b9f8c20 Regen. 2003-08-11 08:15:00 +00:00
augustss d35ae49748 Add Sony Ericsson DCU10 USB Cable. PR kern/22432 2003-08-11 08:13:42 +00:00
chs b90614b54e catch up with changes elsewhere. 2003-08-11 05:13:20 +00:00
matt 341742a7e9 Add PTEGCOUNT defparam for opt_pmap.h 2003-08-11 01:33:30 +00:00
scw 927c51ccaf Explicitly declare some symbols used by db_stack_trace_print()
as functions so they can be picked up as such.
2003-08-10 22:24:50 +00:00
scw 27479ae035 64-bit db_addr_t makes life much easier now that ddb uses ksyms. 2003-08-10 22:22:31 +00:00
scw 7f2011899c In PIC_GET_GOT, use a local numeric label which is very unlikely to
clash with other labels in code which uses it.
2003-08-10 22:18:12 +00:00
matt f70606090a Add a memset.S (does not use dcbz; to be added later). It does both bzero
and memset.
2003-08-10 21:17:08 +00:00
jdolecek c336185a31 regen - added wrapper for Linux ftruncate64() 2003-08-10 20:17:21 +00:00
jdolecek 94b152275c add Linux compat arg wrapper for ftruncate64(), and change linux compat
truncate64() wrapper to translate args structure
NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have
to do the argument translation

Problem found and patch supplied in PR kern/22360 by Ales Krenek

This is the last of syscalls with hidden 'pad' arg we didn't have
wrapper for; all the others (lseek, mmap, pwrite, pread) already had
wrapper before.
2003-08-10 20:16:20 +00:00
martin 965abb5c4c Avoid intermediate (void*) casts.
Replace aliased pointer magic with shift/mask arithmetic.
2003-08-10 15:17:55 +00:00
martin 7406b873ca Replace strict-alias bug prone pointer magic with (IMHO clearer)
shift/mask arithmetic.
2003-08-10 15:14:02 +00:00
martin c26dc73c1d Remove unecessary intermediate (void*) casts. 2003-08-10 14:53:12 +00:00
bouyer 395a6a0006 Corect offset for the promise "magic registers" (it depends on channel number).
This makes cable detect work properly for newer promise (pdc268 and newer).
2003-08-10 14:51:55 +00:00
martin 7a1600bb14 Remove unecessary intermediate (void*) casts. 2003-08-10 14:50:09 +00:00
martin 785cae7ed0 Sync with userland version. 2003-08-10 14:20:03 +00:00
tsutsui 5b7e87e535 Fix a leftover comment. 2003-08-10 12:00:03 +00:00
tsutsui 37b01430e9 Call prep_bus_space_init() and consinit() after oea_batinit() and oea_init()
because powerpc/bus_space.c:bus_space_init() checks BAT maps. (from mvmeppc)
2003-08-10 11:41:36 +00:00
dsl 8d9878ecb4 Remove only (last?) use of SETHIGH and SETLOW before gcc starts warning
about the odd construct.  Also fixes kern/6525.
2003-08-10 09:54:06 +00:00
chs 792f9a7f05 remove some leftover cruft. 2003-08-10 02:30:51 +00:00
chs 78a835abdc fix typos in comments. 2003-08-10 02:03:31 +00:00
chs a883716eb4 track changes in libsa Makefile. 2003-08-10 02:01:26 +00:00
uwe e4bd28ac72 Undo previous. It breaks profiling, but I managed to test against the
wrong tree and so missed it.
2003-08-10 01:22:03 +00:00
uwe 147642d466 Real _PROF_PROLOGUE so that assembly language functions can be profiled. 2003-08-10 00:00:26 +00:00
uwe 9cd06ccd7e For ELF put RCSID strings into .ident section. 2003-08-09 23:04:43 +00:00
dsl 221f1dff47 Some systems (esp. those with a Promise IDE controller card) seem to
destroy %dl (drive number) across the 'disk reset' command.
Preserve %dl across that call and all registers across the disk reads.
Reorder the code to remove some long conditional jumps to save space.
2003-08-09 20:57:45 +00:00
bsh 7061f16abb enable LCD, PCMCIA, CF and PS/2 keyboard. 2003-08-09 19:41:44 +00:00
bsh eab266e671 add following drivers for Intel Lubbock.
LCD
	on-board SA-1111 companion chip
	PCMCIA/CF slots
2003-08-09 19:38:53 +00:00
dsl 5638922967 Stop panic if 'mknod xxx b 0 0' done on a full filesystem.
panics in ffs_full_fsync because v_specmountpoint requires that the NULL
v_specinfo be followed.
Tidy up in the same order in all error paths so compiler can merge the
code sequences.

Fixes PR kern/22419
2003-08-09 19:02:53 +00:00
christos 27ffe34f72 Fix problem with OSIOCIFCONF where it tried to copyout addresses that
did not fit in struct osockaddr. Fixes linux emulation issue where bogus
addresses where returned for the interfaces [AF_LINK, AF_INET6]. While
I am here, change ioctl, so if the ifconf buffer passed is NULL, then it
computes how much space is needed and returns it in ifc_len.
2003-08-09 18:13:03 +00:00
yamt b1eb92cb46 in ACPI_ACQUIRE_GLOBAL_LOCK,
don't assume that the reserved bits of the global lock are all zero.
it's actually needed for, at least, IBM Thinkpad X21 (2662-64J).
2003-08-09 17:35:43 +00:00
jdolecek 64bb562b50 fix linux_sys_p{read|write}() to actually call correct syscall after
arg massage, i.e. sys_p{read|write} as appropriate; up to now, the functions
called sys_{read|write}() by mistake
2003-08-09 17:11:51 +00:00
christos c626c860b1 LINUX_USRSTACK is only defined on i386. Thanks Izumi! 2003-08-09 16:28:49 +00:00
christos a24080409e Only choose the linux usrstack if the netbsd usrstack was higher. 2003-08-09 14:17:28 +00:00
christos 36e09d1a2c Explain a diagnostic message a bit better, and make it a debug only message. 2003-08-09 14:16:44 +00:00
christos 9897a5425c Change the way we compute the top of the stack. This makes java-1.4.2 work. 2003-08-09 13:44:39 +00:00
igy aabdcf8773 bump the version number 2003-08-09 11:38:16 +00:00
igy 07f9797566 add bootp support 2003-08-09 11:37:57 +00:00
pk f18213d166 Simplify the definitions of VA_VPG() and VA_OFF(). 2003-08-09 09:30:04 +00:00
martin a26ce66da3 KERNBASE -> KERNBASE_LOCORE (make it compile again) 2003-08-09 08:58:50 +00:00
igy 8f53455cfb netboot support 2003-08-09 08:01:42 +00:00
jonathan 3a6b5e631c Config hooks for ubsec (Bluesteelnet, Broadcom 582x) driver. 2003-08-08 20:46:09 +00:00
yamt a01f6f4ea5 - make this a bit MP friendly.
(although no actual changes under the kernel lock)
- remove a test that isn't meaningful anymore.
2003-08-08 20:19:56 +00:00
yamt 1f08924c29 arrange namecache lru before vget (and releasing namecache_slock)
since our namecache entry can go away during we're sleeping on the vnode.

the bug pointed by enami tsugutomo.
tested by Matthias Scheler.
PR/22363.
2003-08-08 20:18:19 +00:00
christos c23ca09f5a use KERNBASE_LOCORE 2003-08-08 20:14:06 +00:00
christos bbb5cbabcf cleanup the mess with KERNBASE and KERNBASE_LOCORE. 2003-08-08 20:13:04 +00:00
christos 3b9c3c5aab - GC all the setup_stack functions
- add one for linux/i386
2003-08-08 18:57:01 +00:00
christos 6f1990af06 Conditionally declare function that is not used all the time. 2003-08-08 18:55:26 +00:00