summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include
AgeCommit message (Collapse)Author
2008-06-09Remove fillw(). Bonus points if you do not remember what it was used for.Miod Vallat
2008-05-07Move i386 to __HAVE_GENERIC_SOFT_INTERRUPTSMark Kettenis
ok dlg@, tested by dlg@, oga@, jsg@, deraadt@
2008-04-26Remove softast; it's no longer used.Mark Kettenis
ok krw@
2008-04-25Make ipending per-cpu. Should fix PR 5788.Mark Kettenis
ok weingart@
2008-04-18Now that i386 has a per-process astpending, we can garbage collect ipi_astMark Kettenis
and do an ipi_nop cross-call from signotify() instead. ok miod@
2008-04-13garbage collect the cpus_running global variable;Thordur I. Bjornsson
pointed out by and ok drahn@, toby@;
2008-02-11g/c db_thread_fp_used()Miod Vallat
2008-01-13Kill <machine/mp.h>.Mark Kettenis
ok marco@
2007-12-09Add an empty pccbb_attach_hook.Mark Kettenis
2007-12-05Hang acpi(4) below bios(4) instead of mainbus(4). This lets us move acpi(4)Theo de Raadt
before pcibios(4), and then.... if acpi(4) attaches, skip pcibios(4) since it messes the machines up. Fixes claudio's HP dl320 G5, and almost assuredly others. ok kettenis
2007-11-28quite a bit of simplification by removing cpu classes.Ted Unangst
also assume that 386 cpus are really unknown, and promote them to 486 instead of panic.
2007-11-26Move the implementation of __mp_lock (biglock) into machine dependentArtur Grabowski
code. At this moment all architectures get the copy of the old code except i386 which gets a new shiny implementation that doesn't spin at splhigh (doh!) and doesn't try to grab the biglock when releasing the biglock (double doh!). Shaves 10% of system time during kernel compile and might solve a few bugs as a bonus. Other architectures coming shortly. miod@ deraadt@ ok
2007-11-25new files for acpiapm switcherTed Unangst
2007-11-25fake out the apm device to switch between apm and acpi on i386. nowTed Unangst
a single device node will talk to the right kernel code automatically. ok deraadt
2007-11-16fix the bus_space #define nightmare, so that amd64 and i386 are much moreTheo de Raadt
uniform. as a result shared code like acpi needs less #ifdef's ok marco kettenis
2007-11-15Split CPUID into 2 32 bit fields.Marco Peereboom
ok deraadt
2007-11-15Clarify when smbios added multi core support and add the missing stringMarco Peereboom
designations. ok deraadt
2007-11-15oops, processor structs need to be __packed.Marco Peereboom
prompted by deraadt
2007-11-15Add struct for processors.Marco Peereboom
ok deraadt
2007-11-03APM switchto cleanup diff. This uses the switchto functionality toTobias Weingartner
significantly clean up the APM idle loop things. I actually can make sense of what the APM idle loop is supposed to do. Ok gwk@, beck@, and theo says ramdisks compile.
2007-10-24Remove idle loop counter.Mike Belopuhov
ok art deraadt
2007-10-19remove vars from some prototypes.Federico G. Schwindt
2007-10-17more unification between amd64 and i386 (API changes, but we thinkTheo de Raadt
noone else uses this acpi except the command); from Mike Belopuhov
2007-10-17replacement for the pctr codebase that can handle amd64 processors asTheo de Raadt
well (in fact, all 4 combinations of codebase and processor) written by Mike Belopuhov and Aleksey Lomovtsev
2007-10-10Make context switching much more MI:Artur Grabowski
- Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
2007-10-03Add pcb_flags member to 'struct pcb', and set PCB_SAVECTX on contexts savedMark Kettenis
by savectx(). ok art@, miod@
2007-10-01more btoc -> atopMartin Reindl
2007-09-29At the requst of deraadt@, backpout the temporary hack for pcc.Otto Moerbeek
Paraphrasing, "make it clear this should be fixed in pcc asap".
2007-09-18As a temporary workaround, implement va_start not usingOtto Moerbeek
__builtin_next_arg for !GCC until pcc supports it. ok kjell@ miod@
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-09-07Remove some left-overs from the TSC based microtime. We don't needArtur Grabowski
to synchronize the tsc between CPUs anymore. While here, also remove the slow TLB IPI since it's been dead for a while. noticed by mickey toby@ ok
2007-09-01replace the machine dependant bytes-to-clicks macro by the MI ptoa()Martin Reindl
version for i386 more architectures and ctob() replacement is being worked on prodded by and ok miod
2007-09-01Remove stale comments; prompted by millert.Marco Peereboom
2007-08-22Add bus_space_vaddr to i386 arch.Marco Peereboom
Comments and ok kettenis, art & miod
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-06-07Replace magic bus clock constants in est related files with defines.Dimitry Andric
ok jsg
2007-06-01Provide carefully crafted DEADBEEF* values, this was initially forgotten inMiod Vallat
the commit which enabled DEADBEEF* overrides, then values have been discussed a bit more and improved; reminded by and ok art@
2007-05-31Forgot to commit the changes to this file with the rest of the ELF32+64Tom Cosgrove
pieces. Since this is where the "boot both ELF32 and ELF64" behaviour is turned on for i386, it is quite important. Bump version numbers too. Found by ckuethe@; thanks.
2007-05-29add support for core cpu temperature sensors.Ted Unangst
from a diff by pierre riteau, but updated to look like the amd64 version ok deraadt
2007-05-29Remove support for 80386 processors. Apologies if you have one ofTom Cosgrove
the rare 80386-bases system with enough memory, a 387 FPU, a useable disk subsystem, and the patience to wait for it to unpack the distribution .tgz files. approval from art@ and many others (esp. nick@); ok deraadt@
2007-05-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur I. Bjornsson
mbuf constants from MD param.h to MI param.h. Besides being the same on every arch, things will most probly break if any arch has different values then the others. The NMBCLUSTERS constants needs to be MD though; ok miod@,krw@,claudio@
2007-05-27We can now access curcpu() members through %fs instead of doing itArtur Grabowski
with the complicated and expensive macros. tom@ ok
2007-05-26Move cpu_info/curcpu to be mapped by the %fs segment. Extra input andTobias Weingartner
debugging by tom@, art@, kettenis@, and others. Testing by many others. ok art@, kettenis@, tom@
2007-05-25Replace the overdesigned and overcomplicated tlb shootdown code withArtur Grabowski
very simple and dumb fast tlb IPI handlers that have in the order of the same amount of instructions as the old code had function calls. All TLB shootdowns are reorganized so that we always shoot the, without looking at PG_U and when we're shooting a range (primarily in pmap_remove), we shoot the range when there are 32 or less pages in it, otherwise we just nuke the whole TLB (this might need tweaking if someone is interested in micro-optimization). The IPIs are not handled through the normal interrupt vectoring code, they are not blockable and they only shoot one page or a range of pages or the whole tlb. This gives a 15% reduction in system time on my dual-core laptop during a kernel compile and an 18% reduction in real time on a quad machine doing bulk ports build. Tested by many, in snaps for a week, no slowdowns reported (although not everyone is seeing such huge wins).
2007-05-16splassert_ctl defaults to 1 now, so dont wrap the checks forThordur I. Bjornsson
splassert_ctl > 0 in __predict_false(). ok deraadt@
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
2007-05-04Implement rw_cas for i386.Artur Grabowski
It uses a function pointer to choose between the 386 and 486 versions. The 386 version is not MP safe, but we're not expecting MP support for 386 cpus. miod@ ok (and prodding)
2007-04-26Switch i386 pmap to VM_PAGE_MD. We store the MOD/REF flags inArtur Grabowski
pg_flags, so we actually shave quite a few bytes from the memory we eat at boot. (a machine with 1GB memory saves 256k). deraadt@, pedro@, krw@ ok. Lots of testing.