Age | Commit message (Collapse) | Author |
|
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
|
|
ok deraadt@
|
|
free the softc before we return. While here, make the allocation
code a bit prettier too.
OK deraadt@
|
|
as the high/low guessing won't be done on these processors due to MSR
differences.
|
|
prefer binutils-compatible options in STRIPFLAGS (now that our non-binutils
strip(1) can handle them too)
ok drahn; miod kettenis (for parts)
|
|
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
|
|
to genassym.sh
ok deraadt
|
|
the differences between these files. You will need a newer config(8) binary
to be able to build kernels.
ok kettenis miod
|
|
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
|
|
idea that came out of discussion with drahn
|
|
delete the archaic links: target which is easily misused
handle special .[sS] files in a portable way
|
|
on the ramdisks.
ok deraadt@
|
|
|
|
|
|
ok various people, tested by fewer people, tested by me on 15.
|
|
|
|
Also move towards passing $PARAM around in CPPFLAGS, instead
of compiling param.c in a special way, as discussed with miod
|
|
|
|
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.
|
|
the weird "pass by reference" that causes problems with gcc4.
ok nicm@, tom@
|
|
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.
|
|
ok 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@
|
|
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.
|
|
"Absolutely, don't forget i386" kettenis@.
|
|
ok deraadt@
|
|
Makefile.* files
|
|
but required for gcc4.
ok kettenis@ deraadt@ marco@, log2 suggested by robert@
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
arch and machine dependent files (and add the missing files)
ok miod drahn
|
|
ok miod drahn
|
|
ok miod
|
|
since it is time to start transitioning away from the no-op behaviour.
ok oga kettenis
|
|
identifier, allowing the disk to be identified without relying on the
device name.
ok deraadt@ krw@ beck@ marco@ todd@
|
|
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.
|
|
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
|
|
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)
|
|
bit set. While there, add an #ifdef MULTIPROCESSOR to make the diff between
amd64 and i386 smaller.
ok art@
|
|
flush the TLB immediately after doing so, to make sure there are no stale
TLB entries. Suggested by art@
ok art@, oga@, deraadt@, weingart@
|
|
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.
|
|
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.
|
|
from mlarkin@ and me, with some amd64 fixes thrown in by deraadt@
ok marco@, deraadt@, pirofti@, mlarkin@
|
|
tested by ratchov@
|
|
|
|
<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.
|