summaryrefslogtreecommitdiffstats
path: root/sys/i386
Commit message (Collapse)AuthorAgeFilesLines
* Fix Typo.takawata2006-10-311-1/+1
| | | | Pointed out by: ru
* Add conf file entries for acpi_aiboost drivers.takawata2006-10-301-0/+3
|
* regen after linux_io_* backoutnetchild2006-10-293-47/+8
|
* Backout the linux aio stuff. Several problems where identified and thenetchild2006-10-292-7/+5
| | | | | | | | | | | | | | | dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is. All this will be done in P4. Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree. Requested by: rwatson Discussed with: rwatson
* Removed some SMP ifdefs so that using the TSC as a cputime clock isbde2006-10-291-9/+10
| | | | | | | | | | | | | | | not completely decided at config time. Just don't default to using the TSC if there are multiple active CPUs. Also, don't default to using the TSC if it is broken. SMP ifdefs are still used to disallow using perfmon since perfmon is always broken if SMP is just configured. This only helps much for SMP kernels running on 1 CPU. The overheads for using the i8254 cputime clock were a bit too high on 486/33's, and now on multi-GHz CPUs they are usually in the 99-99.9% range. Switching from the old default of an i8254 clock to the TSC works poorly because the overheads are not recalibrated. Use the same condition for declaring perfmon stuff as for using it.
* regen (prctl addition)netchild2006-10-283-5/+9
|
* i386/include/profile.h:bde2006-10-281-5/+1
| | | | | | | | | | | | Fixed a syntax error for the (!__KERNEL && !__GNUCLIKE_ASM) case in rev.1.36. Apparently, this case has never been reached even by lint. Submitted by: stefanf {amd64,i386}/include/profile.h: In case the above case is actually reached, break it properly by providing null support that will fail at link time instead of a stub that gives wrong (null) profiling at runtime.
* MFP4:netchild2006-10-282-2/+2
| | | | | | | Implement prctl(). Submitted by: rdivacky Tested with: LTP
* In MCOUNT_OVERHEAD(label), actually use the `label' parameter. We werebde2006-10-281-1/+1
| | | | | still using the global label named "profil", and this worked accidentally because all callers use the same name.
* Cleaned up includes. <machine/profile.h> was unused. <machine/timerreg.h>bde2006-10-281-7/+4
| | | | | | | | was only used in the GUPROF case, so the messes to get its i386 prerequisites included shouldn't have been needed. Fixed some style bugs. Quote #error contents, and don't repeat an #error directive on amd64.
* Removed all traces of HIDENAME() in amd64 and i386 kernel code. Usingbde2006-10-282-23/+12
| | | | | | | | | | | | | | | | this used to be slightly cleaner than using ifdefs in a few places to support both a.out and elf, but using it now just causes messes and unportabilities. It seems to be impossible to implement the elf HIDENAME() portably in cpp (since token pasting of "." and <name> is invalid). */prof_machdep.c: - Removed all uses of CNAME(). CNAME() is easy enough to use in pure asm code, but using it in inline asm requires messy quoting. The core pure asm code has been hacked on more and all uses of CNAME() in it have already gone away. Just assume the elf convention here too. - Removed now-uneeded include of <machine/asmacros.h>. - Removed the workaround for a namespace conflict with this include.
* Don't call mexitcount or provide a stub mexitcount to call whenbde2006-10-272-11/+4
| | | | | | profiling is configured but high resolution profiling is not configured. Only functions in *.[Ss] called the stub, so efficiency was not significantly affected.
* Remove the KSE option now that it's in DEFAULTS on these arches/machines.jb2006-10-261-1/+0
| | | | | | | | | The 'nooption' kernel config entry has to be used to turn KSE off now. This isn't my preferred way of dealing with this, but I'll defer to scottl's experience with the io/mem kernel option change and the grief experienced over that. Submitted by: scottl@
* Add 'options KSE' to the kernel config DEFAULTS on all arches/machinesjb2006-10-261-0/+3
| | | | | | | | | | | except sun4v. This change makes the transition from a default to an option more transparent and is an attempt to head off all the compliants that are likely from people who don't read UPDATING, based on experience with the io/mem change. Submitted by: scottl@
* Make KSE a kernel option, turned on by default in all GENERICjb2006-10-263-0/+9
| | | | | | | kernel configs except sun4v (which doesn't process signals properly with KSE). Reviewed by: davidxu@
* Move "device splash" back to MI NOTES and "files", it's MI.ru2006-10-231-2/+0
|
* Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.hrwatson2006-10-222-2/+3
| | | | | | | | | | | | | begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitions, with all in-kernel interfaces moved to mac_framework.h, which is now included across most of the kernel instead. This change is the first step in a larger cleanup and sweep of MAC Framework interfaces in the kernel, and will not be MFC'd. Obtained from: TrustedBSD Project Sponsored by: SPARTA
* Eliminate unnecessary PG_BUSY tests.alc2006-10-221-1/+1
|
* Fix a recent regression regarding valid signals.netchild2006-10-201-1/+1
| | | | Submitted by: rdivacky
* Move more MD devices and options out of MI NOTES.des2006-10-201-6/+57
|
* Don't show debug registers in "show registers". Special registers shouldbde2006-10-201-1/+2
| | | | | | | be displayed specially, and debug registers are among of the least interesting special registers (far behind %cr3). The debug registers are still accessible as variables and displayed in another bogus place ("show watches").
* The VGA_DEBUG option only exists on {amd64,i386,ia64}.des2006-10-201-0/+3
| | | | Also remove 'device io' from amd64 NOTES; DEFAULTS takes care of it.
* Add missing acpi_wakecode.o: assym.s dependency, so that if assym.sru2006-10-191-1/+1
| | | | | | is newer than acpi_wakecode.h, the latter is rebuilt. Reported by: bde
* Remove references to pccard.confimp2006-10-191-2/+2
|
* o Add keyword volatile for user mutex owner field.davidxu2006-10-171-2/+2
| | | | | | o Fix type consistent problem by using type long for old umtx and wait channel. o Rename casuptr to casuword.
* regen (linux AIO stuff)netchild2006-10-153-8/+47
|
* MFP4 (with some minor changes):netchild2006-10-152-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS. From the submitter: ---snip--- DESIGN NOTES: 1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue. When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code. 2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2). 3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID. To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads: Ben will hate me for this REFERENCE: 1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c) 2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2)) 3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt 4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls. 5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip--- Submitted by: Li, Xiao <intron@intron.ac>
* MFP4 (106538 + 106541):netchild2006-10-152-0/+11
| | | | | | Implement CLONE_VFORK. This fixes the clone05 LTP test. Submitted by: rdivacky
* Revert my previous commit, I mismerged this to the wrong place.netchild2006-10-151-1/+0
| | | | Pointy hat to: netchild
* MFP4 (106541): Fix the clone05 test in the LTP.netchild2006-10-151-0/+1
| | | | Submitted by: rdivacky
* MFP4 (107144[1]): Implement CLONE_FS on i386[1] and amd64.netchild2006-10-151-1/+7
| | | | Submitted by: rdivacky [1]
* MFP4 (107868 - 107870):netchild2006-10-151-1/+1
| | | | | | Use a macro to test for a valid signal instead of doing it my hand everywhere. Submitted by: rdivacky
* Change the x86 interrupt code to suspend/resume interrupt controllersjhb2006-10-107-42/+97
| | | | | | | | | | | | | | | | | | (PICs) rather than interrupt sources. This allows interrupt controllers with no interrupt pics (such as the 8259As when APIC is in use) to participate in suspend/resume. - Always register the 8259A PICs even if we don't use any of their pins. - Explicitly reset the 8259As on resume on amd64 if 'device atpic' isn't included. - Add a "dummy" PIC for the local APIC on the BSP to reset the local APIC on resume. This gets suspend/resume working with APIC on UP systems. SMP still needs more work to bring the APs back to life. The MFC after is tentative. Tested by: anholt (i386) Submitted by: Andrea Bittau <a.bittau at cs.ucl.ac.uk> (3) MFC after: 1 week
* Oops, fix sign bug in #ifdef for value of INTRCNT_COUNT.jhb2006-10-101-2/+2
| | | | | | PR: kern/99870 Submitted by: jkim MFC after: 3 days
* - Remove SCHED_ULE from GENERIC to better avoid foot-shooting bysimon2006-10-051-1/+0
| | | | | | | | | | | unsuspecting users. - Add a comment in NOTES about experimental status of SCHED_ULE. - Make warning about experimental status in sched_ule(4) a bit stronger. Suggested and reviewed by: dougb Discussed on: developers MFC after: 3 days
* PR:jb2006-10-041-32/+0
| | | | | | | | | | | | | | Submitted by: Reviewed by: Approved by: Obtained from: MFC after: Security: Move the relocation definitions to the common elf header so that DTrace can use them on one architecture targeted to a different one. Add the additional ELF types defines in Sun's "Linker and Libraries" manual.
* Use calendaric calculation support from subr_clock.c instead of home-rolled.phk2006-10-021-88/+33
| | | | Eventually, this RTC should probably use subr_rtc.c as well
* Second part of a little cleanup in the calendar/timezone/RTC handling.phk2006-10-022-23/+0
| | | | | | | | | | | Split subr_clock.c in two parts (by repo-copy): subr_clock.c contains generic RTC and calendaric stuff. etc. subr_rtc.c contains the newbus'ified RTC interface. Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock} sysctls and associated variables into subr_clock.c. They are not machine dependent and we have generic code that relies on being present so they are not even optional.
* First part of a little cleanup in the calendar/timezone/RTC handling.phk2006-10-026-3/+5
| | | | | | Move relevant variables to <sys/clock.h> and fix #includes as necessary. Use libkern's much more time- & spamce-efficient BCD routines.
* Remove the no longer relevant or correct bootinfo sysctls.phk2006-09-301-3/+0
|
* Extend comment explaining why code is conditional at !defined(SCHED_ULE).sobomax2006-09-271-0/+4
| | | | Suggested by: ru
* Since ULE doesn't honor hlt_cpus_mask don't compile code that preventssobomax2006-09-271-1/+1
| | | | | | | | timer interrupt servicing for disabled HTT cores in ULE case. Should be probably fixed in ULE code instead, but we have no real maintainer for ULE to do it. PR: 103697
* The need to run a filter also implies that bouncing could be possible, soscottl2006-09-261-5/+4
| | | | | | just use the COULD_BOUNCE flag for both and retire the USE_FILTER flag. This fixes the problem that rev 1.81 introduced with the if_bfe driver (and possibly others).
* Added COMPAT_FREEBSD6 option.ru2006-09-261-0/+1
|
* Add a newline to the printf.imp2006-09-241-1/+1
|
* Update the ipmi(4) driver:jhb2006-09-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Split out the communication protocols into their own files and use a couple of function pointers in the softc that the commuication protocols setup in their own attach routine. - Add support for the SSIF interface (talking to IPMI over SMBus). - Add an ACPI attachment. - Add a PCI attachment that attaches to devices with the IPMI interface subclass. - Split the ISA attachment out into its own file: ipmi_isa.c. - Change the code to probe the SMBIOS table for an IPMI entry to just use pmap_mapbios() to map the table in rather than trying to setup a fake resource on an isa device and then activating the resource to map in the table. - Make bus attachments leaner by adding attach functions for each communication interface (ipmi_kcs_attach(), ipmi_smic_attach(), etc.) that setup per-interface data. - Formalize the model used by the driver to handle requests by adding an explicit struct ipmi_request object that holds the state of a given request and reply for the entire lifetime of the request. By bundling the request into an object, it is easier to add retry logic to the various communication backends (as well as eventually support BT mode which uses a slightly different message format than KCS, SMIC, and SSIF). - Add a per-softc lock and remove D_NEEDGIANT as the driver is now MPSAFE. - Add 32-bit compatibility ioctl shims so you can use a 32-bit ipmitool on FreeBSD/amd64. - Add ipmi(4) to i386 and amd64 NOTES. Submitted by: ambrisko (large portions of 2 and 3) Sponsored by: IronPort Systems, Yahoo! MFC after: 6 days
* Regenerate.rwatson2006-09-213-5/+5
|
* Use AUE_CREAT instead of AUE_O_CREAT for linux_creat().rwatson2006-09-211-1/+1
| | | | Obtained from: TrustedBSD Project
* Regenerate.rwatson2006-09-213-15/+15
|
* Use AUE_GETDIRENTRIES instead of AUE_O_GETDENTS and AUE_NULL for a numberrwatson2006-09-211-13/+14
| | | | | | | | | | | | | of directory reading system calls. Respell a mis-spelled event name. Clean up white space/line wraps in a couple of places. Assign event numbers to some new system call entries that have turned up in the list since audit support was added. Obtained from: TrustedBSD Project
OpenPOWER on IntegriCloud