summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Expand the scope of the critical section in the PCIe read and write methodsscottl2004-12-101-4/+14
| | | | on the advice of Alan Cox.
* If the parent process has the trap bit set (i.e. a debugger had singlekbyanc2004-12-081-0/+12
| | | | | | | | | | stepped the process to the system call), we need to clear the trap flag from the new frame unless the debugger had set PF_FORK on the parent. Otherwise, the child will receive a (likely unexpected) SIGTRAP when it executes the first instruction after returning to userland. Reviewed by: bde MFC after: 3 days
* add ath rate control module(s)sam2004-12-081-0/+2
|
* Avoid more than two pending IPI interrupt vectors per local APICups2004-12-074-103/+114
| | | | | | | | | | | as this may cause deadlocks. This should fix kern/72123. Discussed with: jhb Tested by: Nik Azim Azam, Andy Farkas, Flack Man, Aykut KARA Izzet BESKARDES, Jens Binnewies, Karl Keusgen Approved by: sam (mentor)
* NEC PC-98 machines do not have and cannot have an EISA bus. They haveimp2004-12-071-0/+2
| | | | | | | only C-Bus and PCI busses. Therefore, don't create an eisa0 node on the legacy bus that can never attach. PC-98 info verified by: nyan-san
* PNP BIOS devices are fundamentally different than ISA PNP devices.imp2004-12-071-1/+1
| | | | | | | These devices should be probed first because they are at fixed locations and cannot be turned off. ISA PNP devices, on the other hand, can be turned off and often can be flexible in the resources they use. Probe them last, as always.
* Move reading the current CPU mask in pmap_lazyfix() to where the threadups2004-12-071-1/+2
| | | | | | | is protected from migrating to another CPU. Approved by: sam (mentor) MFC after: 4 weeks
* Allow fast interrupts to cause preemption.ups2004-12-061-2/+0
| | | | | Reviewed by: jhb, scottl Approved by: sam (mentor)
* Due to a significant addition of code, add my copyright to this file. Alsoscottl2004-12-061-0/+1
| | | | | note that the PCIe work was made possible due to hardware donations from the FreeBSD Foundation and Intel. Thanks!
* Add support for the memory-mapped PCI Express configuration mechanism. Thisscottl2004-12-061-8/+211
| | | | | | | | | | | | | | actually is a property of the northbridge and applies to all PCI/PCI-X/PCIe devices in the system, though only PCIe devices will respond to registers higher than 256. This uses per-CPU pools of temporary mappings so that the whole 256MB of configuration space doesn't have to be mapped all at once. While the sf_buf API was considered for this, the fact that it requires sleep locks and can return failure made it unsuitable for this use. For now only the Intel Grantsdale and Lindenhurst (925 and 752x) chipsets are supported. Since there doesn't appear to be a compatible way to determine northbridge support, new chipsets will have to be explicitely added in the future.
* Enable amr(4) - scottl fixed when used with >4GB RAM.obrien2004-12-061-1/+0
|
* For efficiency move the call to pmap_pte_quick() out of pmap_protect()'salc2004-12-021-7/+6
| | | | | | and pmap_remove()'s inner loop. Reviewed by: peter@, tegge@
* Change gdb_cpu_setreg() to not take the value to which to set themarcel2004-12-012-5/+4
| | | | | | | | | | | | | | | | | | | | | specified register, but a pointer to the in-memory representation of that value. The reason for this is twofold: 1. Not all registers can be represented by a register_t. In particular FP registers fall in that category. Passing the new register value by reference instead of by value makes this point moot. 2. When we receive a G or P packet, both are for writing a register, the packet will have the register value in target-byte order and in the memory representation (modulo the fact that bytes are sent as 2 printable hexadecimal numbers of course). We only need to decode the packet to have a pointer to the register value. This change fixes the bug of extracting the register value of the P packet as a hexadecimal number instead of as a bit array. The quick (and dirty) fix to bswap the register value in gdb_cpu_setreg() as it has been added on i386 and amd64 can therefore be removed and has in fact been that. Tested on: alpha, amd64, i386, ia64, sparc64
* Remove now unused variable.njl2004-11-301-1/+0
| | | | Pointy hat: njl from nskyline_r35 at yahoo com
* MFamd64: Remove the cpu_reset_proxy cruft now that we run boot() onnjl2004-11-301-66/+12
| | | | cpu 0. Also, restructure cpu_reset to be cleaner (no functional change.)
* Don't flag alignment constraints as a reason for bouncing. This fixes thescottl2004-11-291-1/+1
| | | | | trigger for other misbehaviour in the sym driver that was causing freezes at boot. Thanks to phk@ for reporting and testing this.
* Don't include sys/user.h merely for its side-effect of recursivelydas2004-11-276-10/+7
| | | | including other headers.
* Axe the semblance of support for PECOFF and Linux a.out core dumps.das2004-11-271-52/+2
|
* Remove an extra #includescottl2004-11-211-1/+0
|
* MFC amd64:scottl2004-11-211-29/+45
| | | | | | | | Consolidate all of the bounce tests into the BUS_DMA_COULD_BOUNCE flag. Allocate the bounce zone at either tag creation or map creation to help avoid null-pointer derefs later on. Track total pages per zone so that each zone can get a minimum allocation at tag creation time instead of being defeated by mis-behaving tags that suck up the max amount.
* Maintain the broken state of backwards compatibilty for a.out (anddas2004-11-201-2/+3
| | | | | | | PECOFF!) core dumps. None of the old versions of gdb I tried were able to read a.out core dumps before or after this change. Reviewed by: arch@
* Remove references to U area and garbage collect includes.das2004-11-201-4/+2
| | | | Reviewed by: arch@
* Remove UAREA_PAGES.das2004-11-201-1/+0
| | | | Reviewed by: arch@
* U areas are going away, so don't allocate one for process 0.das2004-11-202-16/+4
| | | | Reviewed by: arch@
* Revert part of rev 1.57. The tag boundary is honored by splitting thescottl2004-11-191-9/+5
| | | | segment, not by bouncing.
* Initiate deorbit burn sequence for 80386 support in FreeBSD: Removejhb2004-11-1610-262/+9
| | | | 80386 (I386_CPU) support from the kernel.
* Add acpi_sony to the list of drivers that are built.imp2004-11-151-0/+3
|
* After discussions with Nate, repo copy the acpi assist drivers fromimp2004-11-153-1710/+0
| | | | | | | | | | i386 to dev/acpi_support. In theory, these devices could be found other than in i386 machines only as amd64 becomes more popular. These drivers don't appear to do anything i386 specific, so move them to dev/acpi_support. Move config lines to files so that those architectures that don't support kernel modules can build them into the kernel. At the same time, rename acpi_snc to acpi_sony to follow the lead of all the other specialty devices.
* o Change the strcmp() to a strncmp() to allow us to attach to 'E'philip2004-11-121-69/+67
| | | | | | | | | | models of laptops, which are essentially the same as the normal ones, as far as acpi_asus is concerned[1] o Use the above as an excuse to reshuffle the mess I made of the probe function when I originally wrote it. Reported by: Soeren Larsen <soeren@whiteswan.dk>
* Minor whitespace nitpicking to reduce my diffs of Real Changes[tm]philip2004-11-121-9/+6
|
* Spell _KERNEL correctly so that UP kernels are actually optimized again.jhb2004-11-121-1/+1
| | | | Submitted by: pjd
* - Use the SMP style ops for atomic_load/store() in userland so thatjhb2004-11-121-2/+1
| | | | | | | libraries and binaries will work on both UP and SMP machines. - Remove unnecessary gcc memory barrier from the UP atomic_store() op. Submitted by: bde
* - Place the gcc memory barrier hint in the right place in the 80386 versionjhb2004-11-111-8/+9
| | | | | | | | | | of atomic_store_rel(). - Use the 80386 versions of atomic_load_acq() and atomic_store_rel() that do not use serializing instructions on all UP kernels since a UP machine does need to synchronize with other CPUs. This trims lots of cycles from spin locks on UP kernels among other things. Benchmarked by: rwatson
* pbio has moved to dev/pbioimp2004-11-111-463/+0
| | | | Prodded by: peter
* cosmetic changes.nyan2004-11-101-6/+1
|
* Zero the tag when it's allocated. Also fix a printf format problem. Thisscottl2004-11-091-2/+3
| | | | should fix the problems introduced several hours ago.
* First pass at replacing the single global bounce pool with sub-pools that arescottl2004-11-091-36/+140
| | | | | | | | | | | | | | appropriate for different tag requirements. With the former global pool, bounce pages might get allocated that are appropriate for one tag, but not appropriate for another, but the system had no way to distinguish between them. Now zones with distinct attributes are created to hold pages, and each tag that requires bouncing is associated with a zone. New zones are created as needed if no existing zones can meet the requirements of the tag. Stats for each zone are tracked via the hw.busdma sysctl node. This should help drivers that are failing with mysterious data corruption. MFC After: 1 week
* Add support for gadgets on Asus L4R and M6R notebooks.philip2004-11-081-0/+22
|
* Introduce two new options, "CPU private" and "no wait", to sf_buf_alloc().alc2004-11-081-3/+5
| | | | | | Change the spelling of the "catch" option to be consistent with the new options. Implement the "no wait" option. An implementation of the "CPU private" for i386 will be committed at a later date.
* Add power profile support so that the LCD changes brightness levels basednjl2004-11-071-20/+86
| | | | | | | on the AC line state. Submitted by: OGAWA Takaya <t-ogawa@triaez.kaisei.org> MFC after: 1 week
* Begin an invasion of i386-land by amd64.peter2004-11-061-0/+11
| | | | | | Expose some of the amd64-specific sysarch functions to allow alternative implementations of the %fs/%gs code for TLS, threads, etc. USER_LDT does not exist on the amd64 kernel, so we have to implement things other ways.
* Fix support for the Asus-compatible gadgets in Samsung P30/P35 laptops.philip2004-11-051-9/+47
| | | | | PR: 73380 Submitted by: Sebastian Schulze Struchtrup <seb@struchtrup.com>
* Don't use atomic ops to increment interrupt stats. This was only done onscottl2004-11-031-3/+3
| | | | amd64 and i386 anyways. The stats are only kept for informational purposes.
* Streamline busdma a bit. Inline _bus_dmamap_load_buffer, optimize somescottl2004-11-021-18/+19
| | | | tests, replace a passed td with a passed pmap to eliminate some deferences.
* Reduce annoying SCSI probing delay from 15 to 5 seconds in all GENRIC kernels.andre2004-11-021-1/+1
| | | | Discussed on: -current
* Add support for Asus M6N laptopsphilip2004-11-021-0/+11
| | | | Submitted by: Andreas Dieling <snow@quantentunnel.de>
* - Change the ddb paging "support" to use a variable (db_lines_per_page) tojhb2004-11-013-3/+3
| | | | | | | | | | | | | | | | | control the number of lines per page rather than a constant. The variable can be examined and changed in ddb as '$lines'. Setting the variable to 0 will effectively turn off paging. - Change db_putchar() to force out pending whitespace before outputting newlines and carriage returns so that one can rub out content on the current line via '\r \r' type strings. - Change the simple pager to rub out the --More-- prompt explicitly when the routine exits. - Add some aliases to the simple pager to make it more compatible with more(1): 'e' and 'j' do a single line. 'd' does half a page, and 'f' does a full page. MFC after: 1 month Inspired by: kris
* Allow individual application processors to be disabled from the loaderjhb2004-11-011-1/+16
| | | | | | | via hints for 'lapicX'. For example, to disable the CPU with the local APIC ID of 7, use 'hint.lapic.7.disabled=1'. MFC after: 1 month
* Add TUNABLE_LONG and TUNABLE_ULONG, and use the latter for thedes2004-10-311-4/+3
| | | | | | | hw.pci.host_mem_start tunable. Add comments to TUNABLE_INT and TUNABLE_QUAD recommending against their use. MFC after: 3 weeks
* Whitespace cleanupdes2004-10-311-8/+8
|
OpenPOWER on IntegriCloud