summaryrefslogtreecommitdiffstats
path: root/sys/i386/include
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some junk defines, and GC the TPR options.peter2003-01-231-23/+0
|
* Nuke CHEAP_TPR stuff, including LOPRIO_LEVEL (bogus) and ALLHWI_LEVELpeter2003-01-232-34/+0
| | | | | (which we never used). There is no need to tweak the TPR anymore and only causes problems.
* - Move enable_sse()'s prototype to machine/md_var.h.jhb2003-01-222-4/+3
| | | | | | | | - Sort definition of cpu_* variables appropriately. - Move cpu_fxsr out of the magic non-BSS set of variables and stick it in the BSS along with hw_instruction_sse (make the latter static as well). Submitted by: bde (partially)
* Rename cpuid_cpuinfo to cpu_procinfo. bde requested that I rename thisjhb2003-01-222-2/+2
| | | | | | | variable to something in the cpu_* namespace since that's what all the other cpuid variables were named and cpu_procinfo is what I came up with. Requested by: bde
* Bah, add in a missing space char I noticed when MFC'ing this.jhb2003-01-221-1/+1
|
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-4/+4
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* o Move the contents of <machine/floatingpoint.h> over tomarcel2003-01-192-88/+80
| | | | | | | | | | | | | | | <machine/ieeefp.h> where it belongs. o Remove the i386 specific inclusion of <machine/floatingpoint.h> from <ieeefp.h>, now that including <machine/ieeefp.h> is enough for all architectures. o Allow <machine/ieeefp.h> to inline the functions exposed by the headers by checking for _IEEEFP_INLINED_ in the MI header. When defined, prototypes are not given and it is assumed that the MD headers, when inlining only a subset of the functions provide prototypes for the functions not being inlined. Based on patch from: Terry Lambert <tlambert2@mindspring.com> Tested with: make release.
* A driver for the System Management Application Programmdodd2003-01-171-0/+91
| | | | | | | | Interface (SMAPI) BIOS, which is present on some IBM Thinkpad models (560, 600, 770 to name a few.) The SMAPI BIOS provides access to System Information, System Configuration, and Power Management.
* Rework part of the previous processor name changes so that we readjhb2003-01-091-1/+0
| | | | | | | | cpu_exthigh and cpu_brand in printcpuinfo() instead of in identify_cpu(). We also only do it for known-good values of cpu_vendor which is a bit more conservative. Reviewed by: bde (mostly)
* - Add a cpu_exthigh variable to hold the highest extended cpuid valuejhb2003-01-081-0/+2
| | | | | | | | | returned from cpuid 0x80000000. - Add a cpu_brand char array to hold the processor name returned by cpuid 0x80000002-0x80000004 on AMD, Intel, Transmeta, and possibly other CPUs. - Use cpuid to set cpu_exthigh and read the processor name if it is present in identify_cpu().
* Enumerate logical hyperthread CPUs manually if they aren't already listedjhb2003-01-081-0/+80
| | | | | | | | | | | | | | | | in the mptable. The way this works is that we determine if the system has hyperthreading and how many logical CPU's should be in each physical CPU by using the information returned by cpuid. During the first pass of the mptable, we build a bitmask of the APIC IDs of the CPUs listed in the mptable. We then scan that bitmask to see if the CPUs are already listed by the mptable, or if there are any APIC IDs already in use that would conflict with the APIC IDs of the logical CPUs. If that test succeeds, then we fixup the count of application processors. Later on during the second pass of the mptable we create fake processor entries for logical CPUs and add them to the system. We only need this type of fixup hack when using the mptable to enumerate CPUs. The ACPI MADT table properly enumerates all logical CPUs.
* Add a cpuid_cpuinfo variable to hold the results of %ebx from cpuid withjhb2003-01-081-0/+1
| | | | %eax of 1 and set it in identify_cpu().
* - Fix the name of the hyperthreading cpuid feature flag to be HTT insteadjhb2003-01-081-1/+9
| | | | | of HHT. - Document fields returned in %ebx by a cpuid with %eax of 1.
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-012-4/+4
| | | | especially in troff files.
* MB_LEN_MAX is not MD, move it to the MI limits.h.tjr2002-12-222-2/+0
|
* Align the FPU state in the ucontext and sigcontext to 16 bytesdeischen2002-12-022-6/+8
| | | | | | | | | to accomodate the new SSE/XMM floating point save/restore instructions. This commit is mostly from bde and includes some style nits. Approved by: re (jhb)
* Fix for non-GCC compilers.obrien2002-11-271-4/+3
| | | | Approved by: re (jhb)
* Add getcontext, setcontext, and swapcontext as system calls.deischen2002-11-162-12/+5
| | | | | | | | | | | Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin
* Properly parenthesize the DBREG_DRX macro's variables to allow foralfred2002-11-071-1/+1
| | | | DBREG_DRX(&dbregs, n) usage.
* 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code,davidxu2002-11-072-1/+2
| | | | | | | | | | remove global variable in_vm86call, set vm86 calling flag in PCB flags. 2.Fix vm86 BIOS calling preempted problem by changing vm86_lock mutex type from MTX_DEF to MTX_SPIN. vm86pcb is not remembered in thread struct, when the thread calling vm86 BIOS is preempted by interrupt thread, and later switching back to the thread would cause incorrect context be loaded into CPU registers, this leads to kernel crash.
* Note that the sched_lock protects md_ldt of struct mdproc.jhb2002-10-251-1/+1
|
* Split 4.x and 5.x signal handling so that we can keep 4.x signalpeter2002-10-254-4/+54
| | | | | | | | | | | | | | | | handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
* Use the correct values for LDBL_*. Libc doesn't completely supportimp2002-10-251-9/+10
| | | | | | | | | | | | | | long doubles at the moment (printf truncates them to doubles). However, long doubles to appear to work to the ranges listed in this commit on both -stable (4.5) and -current. There may be some slight rounding issues with long doubles, but that's an orthogonal issue to these constants. I've had this in my local tree for 3 months, and in my company's local tree for 15 months with no ill effects. Obtained from: NetBSD Not likely to like it: bde
* Very minor whitespace/style nit.markm2002-10-231-2/+1
|
* Change the definition of the debugging registers to be an array, sophk2002-10-201-9/+6
| | | | | | | that we can index into it, rather than do pointer gymnastics on a structure containing 8 elements. Verified by: MD5 hash on the produced .o files.
* Add the !define(COMPILING_LINT)pirzyk2002-10-171-1/+1
| | | | | | pass the pointy hat... Requested by: Juli Mallett <jmallett@FreeBSD.org>
* put an #error directive when SMP and CPU_DISABLE_CMPXCHG are setpirzyk2002-10-171-0/+3
| | | | | | | together. Requested by: Lars Eggart <larse@isi.edu> Enlighted how to do it by: John Baldwin <jhb@freebsd.org>
* Be consistent about functions being static.phk2002-10-161-1/+1
| | | | Spotted by: FlexeLint.
* The a.out md_coredump stuff isn't referenced anywhere anymore, andpeter2002-10-151-10/+0
| | | | hasn't been filled in for ages.. Nuked.
* Add a knob to turn on and off the CMPXCHG instruction on > i386 IA32 systems.pirzyk2002-10-141-1/+1
| | | | | | | This is most beneficial for vmware client os installs. Reviewed by: jmallet, iedowse, tlambert2@mindspring.com MFC After: never, -STABLE does not currently use this instruction
* Add standards visibility conditionals. Change any uses of sigset_t tomike2002-10-131-4/+8
| | | | struct __sigset to avoid depending on objects from <sys/signal.h>.
* Add conditionals to allow va_list to be defined in other headers.mike2002-10-061-0/+4
|
* o Add conditionals to allow va_list to be defined in other headers.mike2002-10-061-4/+10
| | | | | o Standardize on _MACHINE_STDARG_H_ to allow multiple header includes. o Restrict the definition of va_copy() to C99 environments.
* Fix namespace issues by using visibility conditionals frommike2002-10-051-1/+3
| | | | <sys/cdefs.h>.
* style(9) <machine/setjmp.h> headers so they look mostly the same.mike2002-10-041-5/+10
|
* New bus_dma interfaces for use by crypto device drivers:sam2002-10-041-0/+23
| | | | | | | | o bus_dmamap_load_mbuf o bus_dmamap_load_uio Test on i386. Known to compile on alpha and sparc64, but not tested. Otherwise untried.
* Add another temporary hack to allow running older i386 binaries.deischen2002-10-041-6/+6
| | | | | | | | This will be removed when new versions of syscalls sigreturn() and sigaction() are added (mini is working on this but is in the middle of a move). This should fix the problem of cvsupd dying.
* Removed bits related to MBRs now that they have a proper home inbde2002-10-021-20/+0
| | | | <sys/diskmbr.h>.
* It is too much work convincing lint why we would want empty structures,phk2002-10-012-0/+6
| | | | so make the non-empty #ifdef lint.
* Use long long to indicate 64bitness in #ifdef lint.phk2002-10-011-1/+6
|
* A more lint friendly #ifdef lint section.phk2002-10-011-19/+13
|
* Turn back on the "SMP: AP CPU #N Launched!" message on normal boots.obrien2002-09-301-2/+1
| | | | | Peter's rev 1.189 should fix the lost console on SCSI-based systems due to this message.
* Only print out the "SMP: AP CPU #N Launched!" message on verbose boots.obrien2002-09-301-4/+4
| | | | The kernel printf() isn't race-free
* There is no need for start/num to be signed in i386_ldt_args.peter2002-09-281-2/+2
|
* ISMEMSDP(), IS286GDP(), IS386GDP(), ISGDP(), ISSDP() and ISSYSSDP() arepeter2002-09-261-20/+0
| | | | not used anywhere anymore.
* Fix a declaration that is actually supposed to be a macro definition.markm2002-09-251-0/+1
| | | | Submitted by: marius@alchemy.franken.de
* use __packed.alfred2002-09-232-16/+16
|
* Update the nexus driver for the addition of the legacy driver:jhb2002-09-231-43/+0
| | | | | | | | | - nexus no longer has PCI bridges as direct children, so the PCI bus ivar is no longer used and is removed. - Don't attach default EISA, ISA, or MCA busses. Instead, if we do not have an acpi0 device after bus_generic_probe(), add a legacy0 child device. - Remove machine/nexusvar.h.
* Add a new legacy(4) device driver for use on machines that do not havejhb2002-09-231-9/+9
| | | | | | | | ACPI or for when ACPI support is disabled or not present in the kernel. Basically, the nexus device is now split into two with some parts (such as adding default ISA, MCA, and EISA busses if they aren't found as well as support for PCI bus device ivars) being moved to the legacy driver.
* PIC_GOTOFF is OBE.peter2002-09-231-2/+0
|
OpenPOWER on IntegriCloud