summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Introduce a kernel config for the Mandatory Access Control framework.csjp2005-09-181-0/+28
| | | | | | | | This kernel config briefly describes some of the major MAC policies available on FreeBSD. The hope is that this will raise the awareness about MAC and get more people interested. Discussed with: scottl
* Expose legacy_pcib_alloc_resource, and use it in the mptable pci busimp2005-09-173-2/+4
| | | | | | | implementation, like other routines in the legacy bus. This should fix problems with resource allocation on MP systems without ACPI enabled.
* Commit a workaround to a problem with resource allocation. This helpsimp2005-09-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | with some Dell servers that booted w/o a problem[*] on 5.4, but failed with 6.0-BETA. On the PCI bus, when we do lazy resource allocation, we narrow the range requested as we pass through bridges to reflect how the bridges are programmed and what addresses they pass. However, when we're doing an allocation on a bus that's directly connected to a host bridge, no such translation can take place. We already had a fallback range for memory requests, but none for ioports. As such, provide a fallback for I/O ports so we don't allocate location 0, which will have undesired side effects when the resources are actually used. This fixes a problem with booting a Dell server with usb in the kernel. However, it is an unsatisfying solution. I don't like the hard coded value, and I think we should start narrowing the resources returned to not be in the so-called isa alias area (where the ranage & 0x0300 must be 0 iirc). Doing such filtering will have to wait for another day. This may be a good 6 candidate, maybe after its had a chance to be refined. Tested by: glebius@
* Stop using the '+' constraint modifier with inline assembly. The '+'jhb2005-09-151-22/+27
| | | | | | | | | | constraint is actually only allowed for register operands. Instead, use separate input and output memory constraints. Education from: alc Reviewed by: alc Tested on: i386, alpha MFC after: 1 week
* - Adjust a comment, we do program the performance counter LVT entry nowjhb2005-09-151-3/+7
| | | | | | | | if hwpmc(4) is included. - Don't recursively panic if we are unable to send an IPI, just bail and hope for the best. MFC after: 1 week
* Explicitly switch to the new TSS by updating the current CPU's TSS selectorjhb2005-09-152-4/+7
| | | | | | | | | | | | | and reloading it in i386_extend_pcb() rather than trying to force a context switch to reload the TSS via the TDF_NEEDRESCHED flag. Optimizations to avoid calling cpu_switch() when the new thread was identical to the old thread defeated the attempt to force a TSS reload. Explicitly loading the new TSS is what we really want to do anyway. PR: i386/84842 Reported by: Alexander Best arundel at h3c dot de MFC after: 1 week Reviewed by: bde (mostly)
* opt_pc98.h is not needed.nyan2005-09-121-3/+0
|
* MFamd64: use register_t's.obrien2005-09-121-42/+42
|
* Canonize the include of acpi.h.obrien2005-09-114-4/+4
|
* Move the prototypes of db_md_set_watchpoint(), db_md_clr_watchpoint()marcel2005-09-101-3/+0
| | | | and db_md_list_watchpoints() to ddb/ddb.h.
* Note that pc98 specific defines maybe would be better in a header file.imp2005-09-081-0/+1
|
* Eliminate unnecessary TLB invalidations by pmap_enter(). Specifically,alc2005-09-041-16/+23
| | | | | | | | | eliminate TLB invalidations when permissions are relaxed, such as when a read-only mapping is changed to a read/write mapping. Additionally, eliminate TLB invalidations when bits that are ignored by the hardware, such as PG_W ("wired mapping"), are changed. Reviewed by: tegge
* de(4) is now properly busdma'ed.obrien2005-09-041-1/+0
| | | | Reviewed by: jhb
* Pass a value of type vm_prot_t to pmap_enter_quick() so that it determinealc2005-09-031-2/+2
| | | | whether the mapping should permit execute access.
* MFamd64 revision 1.526alc2005-08-271-0/+1
| | | | | When pmap_allocpte() destroys a 2/4MB "superpage" mapping it does not reduce the pmap's resident count accordingly. It should.
* Remove the el(4) driver for 3Com 3c501 ISA NICs from HEAD as threatenedjhb2005-08-263-891/+0
| | | | | | | | earlier as no one has stepped up to test recent changes to the driver. Oddly, the module was actually turned on on ia64 though I'm fairly certain that no ia64 machine has ever had or will ever have an ISA slot. Axe borrowed from: phk
* Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and renamestefanf2005-08-202-8/+6
| | | | | | | | | | it to __MINSIGSTKSZ. Define MINSIGSTKSZ in <sys/signal.h>. This is done in order to use MINSIGSTKSZ for the macro PTHREAD_STACK_MIN in <pthread.h> (soon <limits.h>) without having to include the whole <sys/signal.h> header. Discussed with: bde
* Avoid code duplication and implement bitcount32() function in systm.h only.pjd2005-08-191-53/+1
| | | | | Reviewed by: cperciva MFC after: 3 days
* Rename variables:rodrigc2005-08-181-12/+13
| | | | | | | | | | | | r_gdt -> saved_gdt r_idt -> saved_idt r_ldt -> saved_ldt in order to prevent clashes with variables with same names defined in <machine/segments.h>. This fixes compilation of this file with GCC 4.0. Reviewed by: njl
* Fix locking in el(4) and mark mpsafe.jhb2005-08-171-45/+79
| | | | | | | | | | | | | | | | | | - Add locked variants of el_init and el_start. - Don't initialize the mutex and lock it during el_probe(). - Do initialize the mutex during attach. (el_probe() did destroy the mutex to cleanup, so this meant the driver was always using a destroyed mutex when it was running.) - Setup the interrupt handler after ether_ifattach(). - Fix locking in el_detach() and el_ioctl(). Note: Since I couldn't actually find anyone with this hardware, I'm going ahead and committing these changes so they won't be lost. I'll remove the driver in a week (real purpose of the MFC after below) unless someone pipes up to test this. MFC after: 1 week Tested by: gcc(1)
* Clarify a comment.jhb2005-08-161-1/+1
|
* Simplify the page table page reference counting by pmap_enter()'s change ofalc2005-08-141-7/+7
| | | | | | | | mapping case. Eliminate a stale comment from pmap_enter(). Reviewed by: tegge
* Eliminate unneeded diagnostic code.alc2005-08-111-7/+0
| | | | | Eliminate an unused #include. (Kernel stack allocation and deallocation long ago migrated to the machine-independent code.)
* Eliminate unneeded diagnostic code.alc2005-08-111-7/+0
| | | | Reviewed by: tegge
* Decouple the unrefing of a page table page from the removal of a pv entry.alc2005-08-111-23/+14
| | | | | | | In other words, change pmap_remove_entry() such that it no longer unrefs the page table page. Now, it only removes the pv entry. Reviewed by: tegge
* Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE andrwatson2005-08-091-8/+8
| | | | | | | | | | | | | | IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field. Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so. Reviewed by: pjd, bz MFC after: 7 days
* When support for 2MB/4MB pages was added in revision 1.148 an error wasalc2005-08-071-1/+0
| | | | | | | | | made in pmap_protect(): The pmap's resident count should not be reduced unless mappings are removed. The errant change to the pmap's resident count could result in a later pmap_remove() failing to remove any mappings if the errant change has set the pmap's resident count to zero.
* Revert last change, I will turn ULE on as default after 6.0-R.davidxu2005-08-061-2/+2
| | | | Noticed by: scottl
* Make ULE as default scheduler, allow it to be tested more widely.davidxu2005-08-061-2/+2
|
* Make kernel build suceed when with "options CPU_DISABLE_SSE".tobez2005-08-041-0/+2
| | | | | | PR: 84010 Submitted by: Sergey Gluschenko <deen@freebsd.org.ua> MFC after: 1 week
* - Add support for saving stack traces and displaying them via printf(9)jeff2005-08-031-0/+23
| | | | | | | and KTR. Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com>
* Propagate error code of kern_execve() to the caller properly.sobomax2005-08-011-1/+1
| | | | | | PR: 81670 Submitted by: Andrew Bliznak <andriko.b@gmail.com> Pointy hat to: sobomax
* Print cpu_vendor and the MSR value if we don't support this processorcperciva2005-07-311-1/+1
| | | | | | even though we're not asking people to contact us. Requested by: njl
* Remove the instruction to "contact the maintainer" for unrecognizedcperciva2005-07-311-3/+1
| | | | | CPUs. Intel refuses to give me the information I need, and getting more emails about this doesn't help.
* Add missing dependencies on the SYSVIPC modules.jhb2005-07-291-0/+4
|
* Move MODULE_DEPEND() statements for SYSVIPC dependencies to linux_ipc.cjhb2005-07-291-3/+0
| | | | | so that they aren't duplicated 3 times and are also in the same file as the code that depends on the SYSVIPC modules.
* Fix a bug in pmap_protect() in the PAE case where it would try to look upjhb2005-07-291-2/+2
| | | | | | | | | the vm_page_t associated with a pte using only the lower 32-bits of the pte instead of the full 64-bits. Submitted by: Greg Taleck greg at isilon dot com Reviewed by: jeffr, alc MFC after: 3 days
* Add a tunable 'hw.apic.enable_extint' that can be set from the loader tojhb2005-07-291-2/+12
| | | | | | | | | not mask the ExtINT pin on the first I/O APIC as at least one PIII chipset seems to need this even though all of the pins in the 8259A's are masked. The default is still to mask the ExtINT pin. Reported by: Mike Tancsa mike at sentex.net MFC after: 3 days
* Don't compile ral and ural in the PAE kernel, becauseimura2005-07-281-0/+2
| | | | | | they have dependency on wlan and usb. Reported by: make universe
* Rewrite the acpi_battery interface to allow for other battery typesnjl2005-07-231-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (i.e., smart battery) and fix various bugs found during the cleanup. API changes: * kernel access: Access to individual batteries is now via devclass_find("battery"). Introduce new methods ACPI_BATT_GET_STATUS (for _BST-formatted data) and ACPI_BATT_GET_INFO (for _BIF-formatted data). The helper function acpi_battery_get_battinfo() now takes a device_t instead of a unit # argument. If dev is NULL, this signifies all batteries. * ioctl access: The ACPIIO_BATT_GET_TYPE and ACPIIO_BATT_GET_BATTDESC ioctls have been removed. Since there is now no need for a mapping between "virtual" unit and physical unit, usermode programs can just specify the unit directly and skip the old translation steps. In fact, acpiconf(8) was actually already doing this and virtual unit was the same as physical unit in all cases since there was previously only one battery type (acpi_cmbat). Additionally, we now map the ACPIIO_BATT_GET_BIF and ACPIIO_BATT_GET_BST ioctls for all batteries, if they provide the associated methods. * apm compatibility device/ioctls: no change * sysctl: no change Since most third-party applications use the apm(4) compat interface, there should be very few affected applications (if any). Reviewed by: bruno MFC after: 5 days
* Fix build (including both asm.h and asmacros.h is evil).ru2005-07-221-2/+0
|
* Make the facility for recognizing BIOS-signatures more generalphk2005-07-214-22/+171
| | | | | | | | | | | | | | and return a printable representation. This fixes recognition of the PC Engines WRAP and improves the recognition of the Soekris boards (Bios version can now be seen in the dmesg output for instance). Also, add watchdog support for PCM-582x platforms. Submitted by: Adrian Steinmann <ast@marabu.ch> Slightly changed by: phk PR: 81360
* Fix smbios(4) and add support for amd64jkim2005-07-211-4/+22
| | | | Approved by: anholt (mentor)
* Add the latest r300 code from r300.sf.net. This is based on the patch suppliedanholt2005-07-201-1/+1
| | | | | | by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h. Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
* Add entries for smbios, smapi and vpd drivers.mdodd2005-07-201-0/+6
|
* Convert the atomic_ptr() operations over to operating on uintptr_tjhb2005-07-151-52/+18
| | | | | | | | | | variables rather than void * variables. This makes it easier and simpler to get asm constraints and volatile keywords correct. MFC after: 3 days Tested on: i386, alpha, sparc64 Compiled on: ia64, powerpc, amd64 Kernel toolchain busted on: arm
* Add recently invented COMPAT_FREEBSD5 option.kensmith2005-07-141-0/+1
| | | | MFC after: 3 days
* Regen.jhb2005-07-1311-210/+210
|
* Make a pass through all the compat ABIs sychronizing the MP safe flagsjhb2005-07-134-199/+199
| | | | | | | with the master syscall table as well as marking several ABI wrapper functions safe. MFC after: 1 week
* Fixup some more fallout from the lapic/i8254 changes:jhb2005-07-131-24/+20
| | | | | | | | | | | | - Make sure timer0_max_count is set to a correct value in the lapic case. - Revert i8254_restore() to explicitly reprogram timer 0 rather than calling set_timer_freq() to do it. set_timer_freq() only reprograms the counter if the max count changes which it never does on resume. This unbreaks suspend/resume for several people. Tested by: marks, others Reviewed by: bde MFC after: 3 days
OpenPOWER on IntegriCloud