summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* This commit was generated by cvs2svn to compensate for changes in r121966,mikeh2003-11-0313-108/+98
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Import latest CVS lukemftp.mikeh2003-11-0313-108/+98
| |
* | Thanks to the kind mdoc help of Sergey (osa@): led.4phk2003-11-032-0/+163
| |
* | Change a bogus -n parameter to echo(1).mux2003-11-031-1/+1
| |
* | Whitespace cleanup.des2003-11-032-33/+33
| |
* | Sync to 1.79imp2003-11-031-4/+4
| |
* | Add intel EtherExpress PRO PCMCIA card ID. Well, I don't know if itimp2003-11-031-1/+1
| | | | | | | | | | | | | | | | is really EtherExpress or EEPro or what, but it does appear in a couple of ethernet cards that have appeared recently on ebay. Silicom appears to make these cards, and they have the 82595TX chipset in them, and sometimes uarts. The ex driver needs some work to support these cards, but I thought I'd get the device into pccarddevs.
* | Sync to 1.78imp2003-11-031-1/+4
| |
* | o Use %j and uintmax_t rather than uint64_t for casting.imp2003-11-032-4/+4
| | | | | | | | | | | | o use more proper bus_size_t for iosize rather than bus_addr_t. Noticed by: bde
* | Fix prototypophk2003-11-031-1/+1
| |
* | Get word spacing right in morse mode.phk2003-11-032-1/+3
| | | | | | | | Fix a prototype.
* | Add AMD Features NX and LM.obrien2003-11-031-3/+3
| |
* | - Change driver name to fix if_xname breakage in the previous revision.simokawa2003-11-031-3/+3
| | | | | | | | | | | | - Don't call device_get_unit() twice. Tested by: nork
* | Catch up with the English version:rushani2003-11-031-327/+31
| | | | | | | | 1.184 -> 1.188 hardware/common/dev.sgml
* | Terminate the execl() argument list with (char *)NULL instead of 0.harti2003-11-031-2/+2
| | | | | | | | | | | | | | The later is wrong and may fail on sizeof(char *) != sizeof(int) machines. The patch has already been sent to and accepted by the diffutils author, but the file is already off the vendor branch, so correct it here in the meanwhile too.
* | Build address handling, traffic descriptor handling, encoding and decodingharti2003-11-031-5/+12
| | | | | | | | into the library.
* | Add a sub-directory for the NgATM message encoding/decodingharti2003-11-031-0/+2
| | | | | | | | header files.
* | This commit was generated by cvs2svn to compensate for changes in r121947,harti2003-11-034-0/+769
|\ \ | | | | | | | | | which included commits to RCS files with non-trunk default branches.
| * | Virgin import of NgATM user part 0.91harti2003-11-034-0/+769
| | |
* | | Put address handling, traffic descriptor handling and message encodingharti2003-11-031-0/+4
| | | | | | | | | | | | and decoding into the atmbase module when compiled directly into the kernel.
* | | Add a '-l' option suitable for use with /dev/led/* lamps.phk2003-11-032-17/+33
| | |
* | | Change /dev/soekris-errled to be /dev/led/error and make it conditionalphk2003-11-032-123/+26
| | | | | | | | | | | | | | | | | | | | | on CPU_SOEKRIS. Note the subtle change in semantfics for 'f%d' flash instruction and the new morse facility (see details in dev/led/led.c)
* | | Introduce new CPU_SOEKRIS option to tell soekris hardware from otherphk2003-11-033-0/+6
| | | | | | | | | | | | hardware based on similar chipsets.
* | | Free major#100phk2003-11-033-6/+1
| | |
* | | Add a generic LED driver for flashing lamps.phk2003-11-032-0/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hardware driver decides the name under /dev/led and provides the function to turn the lamp on/off. All leds are serviced by a single timeout which runs at a basic rate of hz/10. The LED is controlled by ascii strings as follows. 0 Turn off. 1 Turn on. f Flash: _- f2 Flash: __-- f3 Flash: ___--- f4...f9 etc. d%d Digits. "d12": -__________-_-______________________________ s%s String, roll your own: 'a-j' gives on for (1...10)/10 sec. 'A-J' gives on for (1...10)/10 sec. 'sAaAbBa': _-_--__- m%s Morse '.' dot '-' dash ' ' letter space '\n' word space My mdoc skills do not reach to express that.
* | | Move sysctl declarations next to the corresponding tunable declarations.des2003-11-032-7/+6
| | | | | | | | | | | | | | | | | | | | | Add a sysctl declaration for hw.ata.atapi_dma, which had gone MIA (though setting it in loader.conf still worked, it was not visible at runtime) Approved by: sos
OpenPOWER on IntegriCloud