Commit Graph

43337 Commits

Author SHA1 Message Date
rsm
994db9de13 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
784a236d6b 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
3aad82f2d7 Tweak the version string output for ioapic devices. 2003-11-04 19:22:20 +00:00
jhb
743fdcba0f 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
3bff6e7e3f - 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
652f67cad1 use nd6log().
Obtained from:	KAME
2003-11-04 14:09:37 +00:00
ume
0456c6b93e - 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
7ad8130aa1 Fix LINT 2003-11-04 14:02:13 +00:00
nyan
66958184e3 'options APIC_IO' is replaced by 'device apic'. 2003-11-04 13:52:09 +00:00
nyan
3b507e0811 'options APIC_IO' is replaced by 'device apic'. 2003-11-04 13:31:44 +00:00
nyan
abc2d660ef MFi386: revision 1.206 2003-11-04 13:15:12 +00:00
nyan
2e1dbc4f02 MFi386: revision 1.580 2003-11-04 13:14:14 +00:00
nyan
b9212f2f54 Fix to support pc98. 2003-11-04 13:13:04 +00:00
nyan
2866f53bdf MFi386: revision 1.456 2003-11-04 13:11:58 +00:00
nyan
b9cd1904c7 Split pc98 support into pc98/pc98/nmi.c. 2003-11-04 13:01:41 +00:00
nyan
7007675ff8 MFi386: revision 1.200 2003-11-04 12:19:54 +00:00
mckusick
7a29336ed9 Get rid of DIAGNOSTIC that gives false positives on slow CPUs. 2003-11-04 08:03:11 +00:00
jeff
b02317efca - Add initial support for pinning and binding. 2003-11-04 07:45:41 +00:00
jeff
b49d49308c - 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
40b4578074 Update avail_ssize for rstacks after growing them. 2003-11-04 06:48:58 +00:00
green
702cf84221 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
6e3870ba99 Use %#jx for both args.
Non-use of %# mocked by: bde
2003-11-04 06:30:59 +00:00
mckusick
e724f0397a 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
1863735ae3 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
857e5d73f3 ppbus_if.c is necessary if you are loading submodules. 2003-11-04 02:55:03 +00:00
sam
31a5cf4b02 disable MPSAFE network drivers; we aren't ready yet` 2003-11-04 02:01:42 +00:00
cognet
c71cdd9d82 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
52f5454e29 Module for cs driver 2003-11-04 01:36:35 +00:00
cognet
94afb226fd 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
5b8a965e2c Make this compile with PAE. 2003-11-04 01:07:04 +00:00
green
5ff4bdc4e8 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
e6489fa5a9 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
a2c2cbd826 Remove old APIC header. 2003-11-03 23:10:34 +00:00
jhb
acb3e9bfdd Remove remaining bits of old interrupt and APIC code. 2003-11-03 22:51:25 +00:00
jhb
a7ffd106b0 Remove the SMP kernel config as SMP is now enabled in GENERIC. 2003-11-03 22:49:51 +00:00
jhb
ec4ca85067 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
24e624f4d4 - 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
14ae90e2a3 Replace APIC_IO with 'device apic'. 2003-11-03 22:47:19 +00:00
jhb
eb7711f9f6 - 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
4fdcd82151 - Remove APIC_IO option.
- Add NO_MIXED_MODE, DEV_ACPI, and DEV_APIC options.
2003-11-03 22:45:54 +00:00
jhb
aad3a4affa 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
689f5b05cf 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
9c6544378d Update spin lock order list for new i386 interrupt and SMP code. 2003-11-03 22:38:30 +00:00
jhb
bb2012550e Update includes for new interrupt code. 2003-11-03 22:38:00 +00:00
jhb
8dd68d8d8e Catch up to interrupt code changes. 2003-11-03 22:37:28 +00:00
jhb
ad7efe2a36 - 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
fe029a290a Catch up to i386 interrupt and SMP code changes. 2003-11-03 22:34:53 +00:00
jhb
574f680dcb 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
jhb
f673a3b0be Don't probe PnP BIOS devices for PICs for now to avoid problems with those
devices claiming resources that they don't actually use.  The PIC drivers
only register valid interrupt sources, so we don't need to rely on these
drivers to claim invalid IRQs to prevent their use by other drivers.
2003-11-03 22:22:04 +00:00
jhb
ab260c506b - Remove explicit enabling of the BSP's APIC in the APIC_IO case and the
slave pin on the master PIC in the !APIC_IO case.  The PIC drivers now
  manage these details internally.
- Remove an spl0() that hasn't done anything since SMPng was first
  committed.
- Update some comments that have rotted since SMPng.
2003-11-03 22:20:50 +00:00