summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Module for cs driverimp2003-11-041-0/+9
|
* Do not attempt to report proc event if NOTE_EXIT has already been received.cognet2003-11-041-0/+7
| | | | | | | | 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
* Make this compile with PAE.peter2003-11-042-10/+12
|
* Fix wi(4)'s WI_RID_SCAN_RES ioctl (wicontrol -L). The wrong lengthgreen2003-11-041-9/+13
| | | | | is computed, so the user thinks that for non-PRISM cards there are more APs represented than exist.
* On my ZoomAir-branded Intersil PRISM2 cards, if you try to set thegreen2003-11-041-0/+3
| | | | | | | | | | | | | | 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.
* It seems when su executes in a shell scripts, there is a timing race,davidxu2003-11-031-0/+2
| | | | | | | | sometimes, su will receive a SIGTTOU when parent su tries to set child su's process group as foreground group, and su will be stopped unexpectly, ignoring SIGTTOU fixes the problem. Noticed by: fjoe
* Remove old APIC header.jhb2003-11-031-447/+0
|
* Add an entry dealing with the change from 'options APIC_IO' tojhb2003-11-031-0/+6
| | | | | 'device acpi' as well as the temporary disablement of the ACPI kernel module.
* Remove remaining bits of old interrupt and APIC code.jhb2003-11-037-2239/+0
|
* Remove the SMP kernel config as SMP is now enabled in GENERIC.jhb2003-11-031-12/+0
|
* Remove references to SMP and APIC_IO since GENERIC (which this filejhb2003-11-031-4/+0
| | | | includes) already has those enabled by default.
* - Enable SMP and 'device apic' by default.jhb2003-11-031-2/+3
| | | | | | - 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.
* Replace APIC_IO with 'device apic'.jhb2003-11-031-2/+2
|
* - Remove references to old interrupt and SMP code.jhb2003-11-031-3/+10
| | | | - Add entries for new interrupt and SMP code.
* - Remove APIC_IO option.jhb2003-11-031-2/+3
| | | | - Add NO_MIXED_MODE, DEV_ACPI, and DEV_APIC options.
* Temporarily disable the acpi(4) module on i386 until issues revolvingjhb2003-11-031-1/+0
| | | | | 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'.
* Don't require INTR_FAST handlers to be exclusive in the MI layer. Instead,jhb2003-11-031-7/+11
| | | | | | | 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.
* Update spin lock order list for new i386 interrupt and SMP code.jhb2003-11-031-3/+2
|
* Update includes for new interrupt code.jhb2003-11-031-4/+2
|
* Catch up to interrupt code changes.jhb2003-11-033-2/+2
|
* - Always allocate the maximum size for the IRQ resource manager. Ideallyjhb2003-11-031-16/+4
| | | | | | | 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.
* Catch up to i386 interrupt and SMP code changes.jhb2003-11-031-7/+6
|
* New i386 SMP code:jhb2003-11-039-4150/+822
| | | | | | | | | | | | | | | | | | | | | | - 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.
* Don't probe PnP BIOS devices for PICs for now to avoid problems with thosejhb2003-11-032-18/+6
| | | | | | 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.
* - Remove explicit enabling of the BSP's APIC in the APIC_IO case and thejhb2003-11-031-36/+3
| | | | | | | | 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.
* - Update includes.jhb2003-11-031-3/+4
| | | | | | - Use intr_suspend/resume() callouts to the interrupt code layer which suspends and resumes all the known interrupt sources instead of calling icu_reinit() directly.
* Add the ACPI MADT table APIC enumerator. This code uses the ACPI Multiplejhb2003-11-032-0/+1300
| | | | | | | | | | APIC Descriptor Table to enumerate both I/O APICs and local APICs. ACPI does not embed PCI interrupt routing information in the MADT like the MP Table does. Instead, ACPI stores the PCI interrupt routing information in the _PRT object under each PCI bus device. The MADT table simply provides hints about which interrupt vectors map to which I/O APICs. Thus when using ACPI, the existing ACPI PCI bridge drivers are sufficient to route PCI interrupts.
* Add the MP Table APIC enumerator. This code uses the BIOS MP Table tojhb2003-11-036-10692/+1724
| | | | | enumerate I/O APICs as well as local APICs. It also provides Host-PCI and PCI-PCI bridge drivers to use the MP Table to route PCI interrupts.
* - Export doreti as a global symbol.jhb2003-11-032-128/+1
| | | | | - Don't include isa/vector.s. Each PIC driver's entry points now live in their own standalone files.
* Update names of entry points for interrupt frames.jhb2003-11-031-2/+2
|
* Enable PCI interrupt routing for i386 SMP kernels.jhb2003-11-031-1/+1
|
* Fix two small style nits pointed out by bde: Remove spaces after cast andimp2003-11-031-1/+1
| | | | indent continued line 4 spaces instead of 2.
* New APIC support code:jhb2003-11-0320-1215/+3507
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The apic interrupt entry points have been rewritten so that each entry point can serve 32 different vectors. When the entry is executed, it uses one of the 32-bit ISR registers to determine which vector in its assigned range was triggered. Thus, the apic code can support 159 different interrupt vectors with only 5 entry points. - We now always to disable the local APIC to work around an errata in certain PPros and then re-enable it again if we decide to use the APICs to route interrupts. - We no longer map IO APICs or local APICs using special page table entries. Instead, we just use pmap_mapdev(). We also no longer export the virtual address of the local APIC as a global symbol to the rest of the system, but only in local_apic.c. To aid this, the APIC ID of each CPU is exported as a per-CPU variable. - Interrupt sources are provided for each intpin on each IO APIC. Currently, each source is given a unique interrupt vector meaning that PCI interrupts are not shared on most machines with an I/O APIC. That mapping for interrupt sources to interrupt vectors is up to the APIC enumerator driver however. - We no longer probe to see if we need to use mixed mode to route IRQ 0, instead we always use mixed mode to route IRQ 0 for now. This can be disabled via the 'NO_MIXED_MODE' kernel option. - The npx(4) driver now always probes to see if a built-in FPU is present since this test can now be performed with the new APIC code. However, an SMP kernel will panic if there is more than one CPU and a built-in FPU is not found. - PCI interrupts are now properly routed when using APICs to route interrupts, so remove the hack to psuedo-route interrupts when the intpin register was read. - The apic.h header was moved to apicreg.h and a new apicvar.h header that declares the APIs used by the new APIC code was added.
* Add the new atpic(4) driver for the 8259A master and slave PICs. Byjhb2003-11-035-403/+990
| | | | | | | | | | | | default we provide 16 interrupt sources for IRQs 0 through 15. However, if the I/O APIC driver has already registered sources for any of those IRQs then we will silently fail to register our own source for that IRQ. Note that i386/isa/icu.h is now specific to the 8259A and no longer contains any info relevant to APICs. Also note that fast interrupts no longer use a separate entry point. Instead, both fast and threaded interrupts share the same entry point which merely looks up the appropriate source and passes control to intr_execute_handlers().
* Add a per-thread variable for saving the state of eflags to support thejhb2003-11-031-3/+1
| | | | critical section code.
* Allocate space for the intrcnt array. This array is managed in thejhb2003-11-031-0/+11
| | | | | interrupt code layer as interrupt sources are added and handlers added to those sources.
* New device interrupt code. This defines an interrupt source abstractionjhb2003-11-034-0/+774
| | | | | | | | | | | | | | | | | | that provides methods via a PIC driver to do things like mask a source, unmask a source, enable it when the first interrupt handler is added, etc. The interrupt code provides a table of interrupt sources indexed by IRQ numbers, or vectors. These vectors are what new-bus uses for its IRQ resources and for bus_setup_intr()/bus_teardown_intr(). The interrupt code then maps that vector a given interrupt source object. When an interrupt comes in, the low-level interrupt code looks up the interrupt source for the source that triggered the interrupt and hands it off to this code to execute the appropriate handlers. By having an interrupt source abstraction, this allows us to have different types of interrupt source providers within the shared IRQ address space. For example, IRQ 0 may map to pin 0 of the master 8259A PIC, IRQs 1 through 60 may map to pins on various I/O APICs, and IRQs 120 through 128 may map to MSI interrupts for various PCI devices.
* - Always use 256 IDT entries since it is now a runtime decison as to howjhb2003-11-031-5/+2
| | | | | | many entries we use. - Add a constant IDT_IO_INTS for the first IDT entry used for device interrupts.
* Move the NMI handling code out to its own file.jhb2003-11-032-1172/+4
|
* Don't be so chatty about building includes.ru2003-11-031-1/+1
|
* Define IDTVEC() and TRAP() assembly macros so that they can be sharedjhb2003-11-031-0/+11
| | | | with several files.
* Revert the critical section implementation to disable interrupts viajhb2003-11-032-145/+9
| | | | cli/sti now that we support many more than 32 interrupt sources.
* Remove soon to be obsolete file to break kernel build while the newjhb2003-11-031-716/+0
| | | | interrupt code comes in.
* When printing ACLs, truncate user and group names if they're too long,rwatson2003-11-031-3/+5
| | | | | | | | | rather than generating an error. This is consistent with other tools printing user and group names, and means you can read the ACL using our tools rather than being up a creek. PR: 56991 Submitted by: Michael Bretterklieber <mbretter@a-quadrat.at>
* Change the DRM_ERROR about authenticator not found back to DRM_DEBUG. It'sanholt2003-11-032-2/+2
| | | | noisier than I expected, and I don't have the time to actually get it fixed.
* Override the root server address if an IP address is specified iniedowse2003-11-031-7/+9
| | | | | | | | | the root path. This is reported to make non-PXE netbooting, such as is used on sparc64 systems, work correctly when the TFTP server is not the same as the root server. PR: kern/57328 Submitted by: Per Kristian Hove <Per.Hove@math.ntnu.no>
* Note that when ip_output() is called from ip_forward(), it will alreadyrwatson2003-11-031-0/+2
| | | | | have its options inserted, so the opt argument to ip_output() must be NULL.
* Remove comment about desire for eventual explicit labeling of ICMPrwatson2003-11-031-4/+0
| | | | | | | header copy made on input path: this is now handled differently. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Unlock pipe mutex when failing MAC pipe ioctl access control check.rwatson2003-11-031-1/+3
| | | | | Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* More mdocery from Sergey (osa@)phk2003-11-031-8/+10
|
OpenPOWER on IntegriCloud