Commit Graph

43339 Commits

Author SHA1 Message Date
peter
3932235fbc Move the inline limit default variable to a per-arch place. For example,
the amd64 implementation of the pcpu macros is even more verbose than on
i386 and that causes gcc to way overestimate the complexity of this
2-instruction macro.  The other platforms can probably lower their
default values.
2003-11-04 23:29:17 +00:00
green
2f6cf5f97e Despite making the card not lock up, thae workaround from 1.153 didn't
actually make hostap mode work again.  Back it out while I try to find
a solution.
2003-11-04 22:36:48 +00:00
rsm
97d0304090 Convert XE_DEBUG define to hw.xe.debug sysctl, to set debug logging level
from the xe driver.  Should probably be removed when current probe/attach
problems with the driver are fixed, but is useful now when requesting
diagnostic information from users.

Reviewed by:	imp (mentor)
2003-11-04 21:09:37 +00:00
ume
41930d5085 source address selection part of RFC3484.
TODO: since there is scope issue to be solved, multicast and
link-local address are treated as special for workaround for
now.

Obtained from:	KAME
2003-11-04 20:22:33 +00:00
jhb
041bc7551e Tweak the version string output for ioapic devices. 2003-11-04 19:22:20 +00:00
jhb
c84c9e3246 Use a wrapper around the driver interrupt handler. The wrapper accepts the
isa_device pointer as its argument and uses that to call the driver's
interrupt handler passing the unit number as its argument.  This should
fix COMPAT_OLDISA devices with a unit number of 0.

Reviewed by:	peter
Reported by:	bde
2003-11-04 19:04:54 +00:00
ume
373abd9403 - cleanup SP refcnt issue.
- share policy-on-socket for listening socket.
- don't copy policy-on-socket at all.  secpolicy no longer contain
  spidx, which saves a lot of memory.
- deep-copy pcb policy if it is an ipsec policy.  assign ID field to
  all SPD entries.  make it possible for racoon to grab SPD entry on
  pcb.
- fixed the order of searching SA table for packets.
- fixed to get a security association header.  a mode is always needed
  to compare them.
- fixed that the incorrect time was set to
  sadb_comb_{hard|soft}_usetime.
- disallow port spec for tunnel mode policy (as we don't reassemble).
- an user can define a policy-id.
- clear enc/auth key before freeing.
- fixed that the kernel crashed when key_spdacquire() was called
  because key_spdacquire() had been implemented imcopletely.
- preparation for 64bit sequence number.
- maintain ordered list of SA, based on SA id.
- cleanup secasvar management; refcnt is key.c responsibility;
  alloc/free is keydb.c responsibility.
- cleanup, avoid double-loop.
- use hash for spi-based lookup.
- mark persistent SP "persistent".
  XXX in theory refcnt should do the right thing, however, we have
  "spdflush" which would touch all SPs.  another solution would be to
  de-register persistent SPs from sptree.
- u_short -> u_int16_t
- reduce kernel stack usage by auto variable secasindex.
- clarify function name confusion.  ipsec_*_policy ->
  ipsec_*_pcbpolicy.
- avoid variable name confusion.
  (struct inpcbpolicy *)pcb_sp, spp (struct secpolicy **), sp (struct
  secpolicy *)
- count number of ipsec encapsulations on ipsec4_output, so that we
  can tell ip_output() how to handle the packet further.
- When the value of the ul_proto is ICMP or ICMPV6, the port field in
  "src" of the spidx specifies ICMP type, and the port field in "dst"
  of the spidx specifies ICMP code.
- avoid from applying IPsec transport mode to the packets when the
  kernel forwards the packets.

Tested by:	nork
Obtained from:	KAME
2003-11-04 16:02:05 +00:00
ume
6c2d58b0b2 use nd6log().
Obtained from:	KAME
2003-11-04 14:09:37 +00:00
ume
665d96e2ec - update comments to refrect recent BSDs.
- nuke unused macro PSUEDO_SET().
- I believe our if_xname stuff is nothing strange against other BSDs.

Obtained from:	KAME
2003-11-04 14:08:31 +00:00
nyan
a54c0d973e Fix LINT 2003-11-04 14:02:13 +00:00
nyan
708e6127be 'options APIC_IO' is replaced by 'device apic'. 2003-11-04 13:52:09 +00:00
nyan
a1d3ace09a 'options APIC_IO' is replaced by 'device apic'. 2003-11-04 13:31:44 +00:00
nyan
2e3e36d4ab MFi386: revision 1.206 2003-11-04 13:15:12 +00:00
nyan
ea0509b82b MFi386: revision 1.580 2003-11-04 13:14:14 +00:00
nyan
9a0462c2a3 Fix to support pc98. 2003-11-04 13:13:04 +00:00
nyan
23b761f21d MFi386: revision 1.456 2003-11-04 13:11:58 +00:00
nyan
52ef645f2c Split pc98 support into pc98/pc98/nmi.c. 2003-11-04 13:01:41 +00:00
nyan
a0b6a626c4 MFi386: revision 1.200 2003-11-04 12:19:54 +00:00
mckusick
609a7ca3c1 Get rid of DIAGNOSTIC that gives false positives on slow CPUs. 2003-11-04 08:03:11 +00:00
jeff
23d5b83434 - Add initial support for pinning and binding. 2003-11-04 07:45:41 +00:00
jeff
8cecbe7498 - Clean up comments to reflect the KSE pushout.
- Add the following functions to the api: sched_bind(), sched_unbind(),
   sched_pin(), and sched_unpin().  Bind/unbind are used for traditional
   cpu binding.  Pin and unpin are meant to allow the kernel to hold a thread
   on a particular cpu so that it may cache per-cpu data without fear of
   being migrated.
2003-11-04 07:18:18 +00:00
marcel
f8f0614f00 Update avail_ssize for rstacks after growing them. 2003-11-04 06:48:58 +00:00
green
1e01559458 Add a "-f" flag for asf(8) which performs a search to find the each module
no matter where in the directory structure it may be.  Use this and the "-k"
flag in the generated gdbinit files so that the "getsyms" function in gdb
requires no user intervention to run and will find every module if they're
in the kernel build's module directory.  This is still quite useful for
cases where gdb knows that the path for some modules is /boot/kernel and
others are in the object directory for /usr/src/sys/$ARCH/compile/kernel.

Approved by:	grog
2003-11-04 06:38:37 +00:00
imp
954c37da29 Use %#jx for both args.
Non-use of %# mocked by: bde
2003-11-04 06:30:59 +00:00
mckusick
993e4dcc97 Allow the bufdaemon and update daemon processes to skip the
waitrunningbufspace() calls so that they are always able to
proceed and clean up buffer space.

Submitted by:	Brian Fundakowski Feldman <green@freebsd.org>
2003-11-04 06:30:00 +00:00
imp
d8b13dab5a o Add sysctl to allow ignoring checksum of eeprom.
o Fix minor type problems
o Fix minor problem with a couple debug printfs.
o Default to a sane media type when none is reported.
o Minor style changes

The PR complains this will fix the IBM 300GL cards.

Submitted by: Max Gotlib
PR: 11462
2003-11-04 02:59:57 +00:00
imp
9298a6e1c1 ppbus_if.c is necessary if you are loading submodules. 2003-11-04 02:55:03 +00:00
sam
0faeaa0329 disable MPSAFE network drivers; we aren't ready yet` 2003-11-04 02:01:42 +00:00
cognet
8a3fa16a0a I believe kbyanc@ really meant this in rev 1.58.
Use zpfind() to see if the process became a zombie if pfind() doesn't find it
and if the caller wants to know about process death, so that the caller knows
the process died even if it happened before the kevent was actually registered.

MFC after:	1 week
2003-11-04 01:41:47 +00:00
imp
b9868649e8 Module for cs driver 2003-11-04 01:36:35 +00:00
cognet
a3a383926f Do not attempt to report proc event if NOTE_EXIT has already been received.
This fixes a race condition (specifically with signal events) that could
lead to the kn being re-inserted into the list after it has been destroyed,
which is not something we want to happen.

PR:		kern/58258
2003-11-04 01:14:58 +00:00
peter
001816b2ac Make this compile with PAE. 2003-11-04 01:07:04 +00:00
green
482fc15052 Fix wi(4)'s WI_RID_SCAN_RES ioctl (wicontrol -L). The wrong length
is computed, so the user thinks that for non-PRISM cards there are
more APs represented than exist.
2003-11-04 00:31:58 +00:00
green
6f7aa7fb6c On my ZoomAir-branded Intersil PRISM2 cards, if you try to set the
operating mode to HostAP, the card will lock up indefinitely (but
the wi(4) driver can recover if you eject the card).  The problem is
that the card needs to be "reset" in a way before you even change the
media to hostap.  In practice this isn't as noticeable because you
probably do some operation beforehand which prevents the lock-up
before you enable hostap mode.

e.g.:
"ifconfig wi0 up media autoselect mediaopt hostap" will lock up
(if you just inserted the card).
"ifconfig wi0 up ssid foo media autoselect mediaopt hostap" won't lock up.
2003-11-04 00:24:13 +00:00
jhb
cf6dec8a88 Remove old APIC header. 2003-11-03 23:10:34 +00:00
jhb
65dadc1a3a Remove remaining bits of old interrupt and APIC code. 2003-11-03 22:51:25 +00:00
jhb
8dcebebfbc Remove the SMP kernel config as SMP is now enabled in GENERIC. 2003-11-03 22:49:51 +00:00
jhb
d426070135 Remove references to SMP and APIC_IO since GENERIC (which this file
includes) already has those enabled by default.
2003-11-03 22:49:19 +00:00
jhb
967ae7515a - Enable SMP and 'device apic' by default.
- Compile 'device acpi' into GENERIC by default as well.  Note that
  the beastie loader menu item to disable ACPI still works if ACPI is
  compiled into the kernel.
2003-11-03 22:48:25 +00:00
jhb
6d6987f0a8 Replace APIC_IO with 'device apic'. 2003-11-03 22:47:19 +00:00
jhb
6017173d27 - Remove references to old interrupt and SMP code.
- Add entries for new interrupt and SMP code.
2003-11-03 22:46:43 +00:00
jhb
0ca760bba8 - Remove APIC_IO option.
- Add NO_MIXED_MODE, DEV_ACPI, and DEV_APIC options.
2003-11-03 22:45:54 +00:00
jhb
7592e4e21a Temporarily disable the acpi(4) module on i386 until issues revolving
SMP probing and the MADT table can be sorted out.  For now, if you want
ACPI, you must compile it into your kernel statically using 'device acpi'.
2003-11-03 22:44:09 +00:00
jhb
da7c66355b Don't require INTR_FAST handlers to be exclusive in the MI layer. Instead,
let the MD code choose whether or not to implement such a policy.  The new
i386 interrupt code allows multiple FAST handlers for a given source for
example.  However, the code does not allow FAST and non-FAST handlers to be
mixed.
2003-11-03 22:42:58 +00:00
jhb
1d8b4454d7 Update spin lock order list for new i386 interrupt and SMP code. 2003-11-03 22:38:30 +00:00
jhb
72b80b4f65 Update includes for new interrupt code. 2003-11-03 22:38:00 +00:00
jhb
c91a0dffde Catch up to interrupt code changes. 2003-11-03 22:37:28 +00:00
jhb
2a63f6f972 - Always allocate the maximum size for the IRQ resource manager. Ideally
we would manage this better by having the interrupt code add each
  interrupt vector to the resource map when each source is registered.
- Use the new interrupt code API for registering and tearing down interrupt
  handlers.
2003-11-03 22:36:43 +00:00
jhb
b9072d94e6 Catch up to i386 interrupt and SMP code changes. 2003-11-03 22:34:53 +00:00
jhb
7aa75d514a New i386 SMP code:
- The MP code no longer knows anything specific about an MP Table.
  Instead, the local APIC code adds CPUs via the cpu_add() function when
  a local APIC is enumerated by an APIC enumerator.
- Don't divide the argument to mp_bootaddress() by 1024 just so that we
  can turn around and mulitply it by 1024 again.
- We no longer panic if SMP is enabled but we are booted on a UP machine.
- init_secondary(), the asm code between init_secondary() and ap_init()
  in mpboot.s and ap_init() have all been merged together in C into
  init_secondary().
- We now use the cpuid feature bits to determine if we should enable
  PSE, PGE, or VME on each AP.
- Due to the change in the implementation of critical sections, acquire
  the SMP TLB mutex around a slightly larger chunk of code for TLB
  shootdowns.
- Remove some of the debug code from the original SMP implementation
  that is no longer used or no longer applies to the new APIC code.
- Use a temporary hack to disable the ACPI module until the SMP code has
  been further reorganized to allow ACPI to work as a module again.
- Add a DDB command to dump the interesting contents of the IDT.
2003-11-03 22:32:04 +00:00