summaryrefslogtreecommitdiff
path: root/sys/arch/i386
AgeCommit message (Collapse)Author
2010-06-10Declare safepri at the MD level on each platform, so that the kern_synch.cTheo de Raadt
does not have to deal with it as a common. Some platforms may be missed by this commit... if you spot one, fix it the same way. ok miod
2010-06-09Wire up device nodes for disk mapper.Joel Sing
ok deraadt@
2010-06-08in viac3_crypto_setup(), if we fail to get a crypto driverid,Thordur I. Bjornsson
free the softc before we return. While here, make the allocation code a bit prettier too. OK deraadt@
2010-06-04Don't warn about not knowing what the bus clock is on core i7/i5/i3Jonathan Gray
as the high/low guessing won't be done on these processors due to MSR differences.
2010-06-01use --warn-common for linking (some arch's will show new warnings), andTheo de Raadt
prefer binutils-compatible options in STRIPFLAGS (now that our non-binutils strip(1) can handle them too) ok drahn; miod kettenis (for parts)
2010-05-31Completely rewrite the tags file creation process. use config(8) againstTheo de Raadt
a fat kernel (GERERIC or GENERIC.MP) into a temporary dir, then extract some variables using make -V, and after some more singing and dancing use this full and (more) correct list of files with ctags. Don't read this code. ok guenther
2010-05-28${PARAM} is now included in ${CPPFLAGS}, so stop passing it separatelyPhilip Guenthe
to genassym.sh ok deraadt
2010-05-25The _arch and _mach variables now come from config(8), decreasing even furtherTheo de Raadt
the differences between these files. You will need a newer config(8) binary to be able to build kernels. ok kettenis miod
2010-05-25Hand-list the two-step assym.h -> .[Ss] -> .o dependencies. TheTheo de Raadt
result: kernels built without 'make depend'-provided information (ie. the .depend file) are more likely to have their *.[Ss] file compilations track changes to *.h files. The "*.o: assym.h" dependencies listed are gotten from reading the .depend output --- from the biggest kernel possible (ie. GENERIC.MP). When an architecture changes in a substantial way (new .[sS] files), the list should be updated in the prettiest way possible. This is not encouraging people to skip 'make depend'; other issues are not resolved and may be solved later with a change guenther is working on. You can still screwed really easily, so continue running make depend as config tells you. Idea from a discussion with drahn ok drahn, kettenis likes the idea too
2010-05-25${SRCS} is only used once, and fits onto the line where it is usedTheo de Raadt
idea that came out of discussion with drahn
2010-05-24give up on -Wvariable-declTheo de Raadt
delete the archaic links: target which is easily misused handle special .[sS] files in a portable way
2010-05-24Remove PHYs which don't have an associated driverJonathan Gray
on the ramdisks. ok deraadt@
2010-05-24Unify the dependency time check for whether an architecture has SFILESTheo de Raadt
2010-05-24stupid typo snuck inTheo de Raadt
2010-05-24Reduce differences between the Makefile.* files for all architectures.Theo de Raadt
ok various people, tested by fewer people, tested by me on 15.
2010-05-23seteconf() died years agoTheo de Raadt
2010-05-23no need for -D__i386__ since it is supplied by the compiler.Theo de Raadt
Also move towards passing $PARAM around in CPPFLAGS, instead of compiling param.c in a special way, as discussed with miod
2010-05-22protection should use the upper case namesTheo de Raadt
2010-05-10Continue with the horrible habit of using agp_machdep.c for agp related MDOwain Ainsworth
things that there really isn't a decent api for elsewhere. Since on recent intel IGPs the gtt aperture is too big (256meg is not uncommon) to be mapped on a kva-constrained arch like i386, introduce an agp mapping api that does things depending on arch. On amd64 which can afford the space (and will use the direct mapping again soon)just do bus_space_map() on init, then parcels things out using bus_space_subregion(), thus avoiding map/unmap overhead on every call (this is how inteldrm does things right now). On i386, we do bus_space_map() and bus_space_unmap as appropriate. Linux has some tricks here involving ``atomic'' maps that are on only one cpu and that you may not sleep with to avoid the ipi overhead for tlb flushing. For now we don't go down that route but it is being considered. I am also considering if it is worth abstracting this a little more, improving the api and making it a general MD interface. Tested by myself on i386 and amd64 and by drahn@ (who has one of the machines with an aperture that is too big) on i386.
2010-05-09Make i386 use a pointer to the trap frame like everybody else instead ofMark Kettenis
the weird "pass by reference" that causes problems with gcc4. ok nicm@, tom@
2010-05-08Page Attribute Tables (PAT) support for x86.Owain Ainsworth
PAT allows setting per-mapping cachability bits. Our main interest in it for write combining mappings so we do not have to rely so heaviliy on mtrrs (which are stupidly set up on more and more machines). MD flags to pmap allow setting these bits (which bus_space now uses for PREFETCHABLE maps), if a vm page has a bit set, then we will use WC for all mappings of a page (used for userland mappings). We also check for known errata and fall back to UC- mappings in that case. comments from kettenis@, tedu@ and william@. kettenis@, tedu@ ok.
2010-05-07fix packed use as pointed out by gcc4.Jonathan Gray
ok kettenis@
2010-05-02The Cyrix "coma bug" workaround code has a really convoluted way to write 0Mark Kettenis
into a magic register. Simplify the code by making this explicit, but keep the dummy read just in case this has a magic side-effect. And yes, as far as I can tell, writing 0 is really what was intended here. Makes gcc4 happy. No binary change with gcc3. ok jsg@
2010-04-30Right now, if anything internal changes with a uvm object, diverseOwain Ainsworth
places in the tree need to be touched to update the object initialisation with respect to that. So, make a function (uvm_initobj) that takes the refcount, object and pager ops and does this initialisation for us. This should save on maintainance in the future. looked good to fgs@. Tedu complained about the British spelling but OKed it anyway.
2010-04-29Add the CR_PAT MSR to the list of defined msrs.Owain Ainsworth
"Absolutely, don't forget i386" kettenis@.
2010-04-28We no longer need -Di386.Mark Kettenis
ok deraadt@
2010-04-28clean up more more subtle and stupid differences between the variousTheo de Raadt
Makefile.* files
2010-04-27Disable builtin malloc and log2 on gcc3 arches, a no-op for gcc3Jonathan Gray
but required for gcc4. ok kettenis@ deraadt@ marco@, log2 suggested by robert@
2010-04-27shorten preambleTheo de Raadt
2010-04-27noone needs comments about QUOTA and TRACETheo de Raadt
2010-04-27over the years we have moved to a machine+architectures scheme that hasTheo de Raadt
two directories. in reality, because of how we place files, it has four: .../arch/A, .../arch/A/A, .../arch/M, and .../arch/M/M formalize this A/A and M/M scheme directly in the Makefiles, which makes them a lot more similar drahn likes the idea a lot
2010-04-27use -f assymp.dep again; worked out with miodTheo de Raadt
2010-04-27alpha/conf/Makefile.alphaTheo de Raadt
2010-04-26even cleaner mach/arch/machdir/archdirTheo de Raadt
2010-04-26next step towards unification: make all the genassym chunks handle bothTheo de Raadt
arch and machine dependent files (and add the missing files) ok miod drahn
2010-04-26next unification step: move all MD naming _mach, _machdir, _arch, and _archdirTheo de Raadt
ok miod drahn
2010-04-26first step of unification: spaces at end of lines; comments, etc.Theo de Raadt
ok miod
2010-04-23Merge the only relevant (for now) parts of simplelock.h into lock.hTheo de Raadt
since it is time to start transitioning away from the no-op behaviour. ok oga kettenis
2010-04-23Recycle unused disklabel fields in order to create a disklabel uniqueJoel Sing
identifier, allowing the disk to be identified without relying on the device name. ok deraadt@ krw@ beck@ marco@ todd@
2010-04-22Committing on behalf or ariane@.Owain Ainsworth
recommit pmemrange: physmem allocator: change the view of free memory from single free pages to free ranges. Classify memory based on region with associated use-counter (which is used to construct a priority list of where to allocate memory). Based on code from tedu@, help from many. Useable now that bugs have been found and fixed in most architecture's pmap.c ok by everyone who has done a pmap or uvm commit in the last year.
2010-04-20remove proc.h include from uvm_map.h. This has far reaching effects, asTed Unangst
sysctl.h was reliant on this particular include, and many drivers included sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed. ok deraadt
2010-04-20Instead of using PWT|PCD for uncached (which is wrong on old cpus andOwain Ainsworth
HARD uncached on anything since the P3), use just PCD which is UC- (uncached but mtrrs can override it to write combining). Now kernel mappings of WC-mtrred memory actually get write combining memory. the speed up is very very nice. ok kettenis@, deraadt@, beck@ (who likes his scrollbars non-wibbly)
2010-04-16Use a somewhat bigger hammer and als flush tlb entries that have the globalMark Kettenis
bit set. While there, add an #ifdef MULTIPROCESSOR to make the diff between amd64 and i386 smaller. ok art@
2010-04-08Since we only start doing tlb shootdowns after setting the CPUF_RUNNING flag,Mark Kettenis
flush the TLB immediately after doing so, to make sure there are no stale TLB entries. Suggested by art@ ok art@, oga@, deraadt@, weingart@
2010-04-08Fill in the bus_dma_sync for intagp to use clflush instead of wbinvd()Owain Ainsworth
if supported. When we do memory management on intel this would lead to a LOT of wbinvd() to deal with gpu->cpu incoherency. no one wants that. Needed for sanity of inteldrm memory management which is coming up next.
2010-04-08On amd64, move the bus_dma buftype stuff that is only used by sg_dmaOwain Ainsworth
into the sg_dma code instead of main bus_dma. Add identical code to i386 since this will be used in the next commit. ok kettenis@ back in december.
2010-04-07Make suspend/resume work on MP machines (running an MP kernel). Joint workMark Kettenis
from mlarkin@ and me, with some amd64 fixes thrown in by deraadt@ ok marco@, deraadt@, pirofti@, mlarkin@
2010-04-05Make this work properly after the cpu_info indexing change.Mark Kettenis
tested by ratchov@
2010-04-02Put se(4) onto these ramdisksTheo de Raadt
2010-04-02SiS 190 ethernet driver ported from FreeBSD by Christopher ZimmermannTheo de Raadt
<madroach@zakweb.de>. SiS 191 is not verified to work yet because he does not have the hardware; if anyone has it, please contact him.