Age | Commit message (Collapse) | Author |
|
|
|
by deraadt so the stack will be sane during suspend/resume with gcc4.
Noticed on i386 due to the lack of general purpose registers compared
to amd64.
ok deraadt@ mlarkin@
|
|
tell, based on vendor/product/subvendor/subproduct ids, how the video reposting
should be done: via the emulator or the bios video call in locore. The default
is to do none of those, which is how most machines work.
Okay kettenis@, deraadt@.
|
|
ok deraadt@
|
|
testing.
Note: aesni is not in a usable state yet!
OK deraadt@
|
|
We check a bunch of things, where most archs are a lot more simple.
Also, we get problems sometimes: My x201 can't map the framebuffer BAR
from the aperture with the chunk that checks the bios sections, meaning
the bios is claiming something about it.
Kettenis@ and I are pretty sure that the rest of the checks are more than
sufficient, so just nuke that one.
for the record, in the same situation i386 just checks again VGA_START,
BIOS_END and physmem.
ok kettenis@
|
|
|
|
|
|
fixup arguments to the fpu_kernel_enter/exit.
from mike
|
|
|
|
ok kettenis, deraadt
|
|
via driver for supporting the AES-NI instructions found
on recent Intel cores.
I would like to thank Huang Ying at Intel for getting the
assembly code relicensed from GPL to a more suitable license!
Inital diff by myself, but Mike Belopuhov beat this into a
usable shape and fixed many bugs.
Not enabled yet.
|
|
the FPU in the kernel.
From Mike Belopuhov; Little bits by myself.
Comments/OK kettenis@
|
|
|
|
Dell r815, which causes all sorts of nasty effects like instant reboots, NMIs
and PCI BARs being set to zero.
ok dlg@
|
|
nfs client support (yes, it becomes the root device too, but for ramdisks
this is OK because they are not a swap generic configuration)
Discussion with reyk and halex
|
|
|
|
doing thread-local storage and fix a typo in one that was already defined.
ok kettenis@ drahn@
|
|
which contains the constraints for DMA/memory allocation for each
architecture, and dma_constraints which contains the range of addresses
that are dma accessable by the system.
This is based on ariane@'s physcontig diff, with lots of bugfixes and
additions the following additions by my self:
Introduce a new function pool_set_constraints() which sets the address
range for which we allocate pages for the pool from, this is now used
for the mbuf/mbuf cluster pools to keep them dma accessible.
The !direct archs no longer stuff pages into the kernel object in
uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages.
Tested heavily by my self on i386, amd64 and sparc64. Some tests on
alpha and SGI.
"commit it" beck, art, oga, deraadt
"i like the diff" deraadt
|
|
it defines. In some cases, this means pulling in uvm.h or pcb.h
instead, but most of the inclusions were just noise. Tested on
alpha, amd64, armish, hppa, i386, macpcc, sgi, sparc64, and vax,
mostly by krw and naddy.
ok krw@
|
|
on resume. Fail early if this is detected, so that we have a chance to
catch it.
ok kettenis@, deraadt@
|
|
ok kettenis@, pirofti@, marco@
|
|
ok dlg@
|
|
boot messages can be too big to fit.
sure deraadt@
|
|
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@
|
|
ok kettenis@
|
|
properly restore it in sigreturn. Lots of deep digging by matthieu,
otto, guenther, kettenis and I.. and I am certain I forgot some other
people.
ok kettenis otto matthieu
|
|
as the high/low guessing won't be done on these processors due to MSR
differences.
|
|
deraadt@ in one of the big restructuring diffs.
ok marco@, millert@, marco@
|
|
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
|
|
and thus should be using spltty()
from Matthew Dempsky
ok oga 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
|
|
|
|
ok various people, tested by fewer people, tested by me on 15.
|
|
compiler. Also move towards passing $PARAM around in CPPFLAGS, instead
of compiling param.c in a special way, as discussed with miod
|
|
|
|
for now.
When we get bouncebuffers/decent iommu this can be revised to either
fall back (bouncebuffers) or just grab any memory (iommu), but for now
it is one less thing to worry about for turning bigmem back on.
ok kettenis@ and beck@
|
|
reservation, we don't need to stick to transferring single pages during boot
dump anymore.
so bump the limit up to MAXPHYS (64k). Dramatically speeding up boot
dump/crash on amd64. (my 4gig machine went from 13.5 minues to just over
1min with this diff)
ok toby, marco. Discussed with miod.
|
|
tested by ckuethe@, ok oga@
|
|
more to come later)
Specfically, there is no reason to reserve a special virtual address just so we
can do boot dump, we have a direct map of every page anyway.
since pmap_map is deprecated and MD only anyway, this means we can remove that
interface too. If anything this should increase reliability since pmap_enter
won't fail under memory pressure during dump (unlikely but possible). It is also
simpler and smaller ;)
Tested by myself and ckuethe, no regressions.
ok 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.
|
|
ok jsg
|
|
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.
|