summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2010-07-01Backout recent AML changes, breaks on R210 and othersJordan Hargrave
2010-07-01mark acpi_savecpu with the gcc returns_twice attribute as suggestedJonathan Gray
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@
2010-07-01Add a look-up table for machines that have special vga cards. This table willPaul Irofti
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@.
2010-07-01More accurate comment as to what happens with acpi_savecpuMike Larkin
ok deraadt@
2010-07-01Add things to enable aesni either ifdef'ed or commented out to easeThordur I. Bjornsson
testing. Note: aesni is not in a usable state yet! OK deraadt@
2010-06-30amd64_pa_used is weird.Owain Ainsworth
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@
2010-06-30Remove #ifdef CRYPTO. config will do this for us.Thordur I. Bjornsson
2010-06-30get rid of a few c++ comments and a few spacing nitsThordur I. Bjornsson
2010-06-30remove two useless defines.Thordur I. Bjornsson
fixup arguments to the fpu_kernel_enter/exit. from mike
2010-06-29make the xcrypt match the jsg code in opensslTheo de Raadt
2010-06-29Add support for mapping ACPI to PCI devicesJordan Hargrave
ok kettenis, deraadt
2010-06-29aesni, a driver for the crypto framework, similar to theThordur I. Bjornsson
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.
2010-06-29fpu_kernel_{enter,exit}; Functions to allow the use ofThordur I. Bjornsson
the FPU in the kernel. From Mike Belopuhov; Little bits by myself. Comments/OK kettenis@
2010-06-28Ah, this will not help the netboot caseTheo de Raadt
2010-06-27Disable uguru(4). Its probe touches an address used by something else on theMark Kettenis
Dell r815, which causes all sorts of nasty effects like instant reboots, NMIs and PCI BARs being set to zero. ok dlg@
2010-06-27Mark the PXE boot device as "netboot" even if we do not containTheo de Raadt
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
2010-06-27If you include <uvm/uvm.h>, you do not need to include any other <uvm/uvm_foo.h>Miod Vallat
2010-06-27Add the TPOFF* and DTP{MOD,OFF}* definitions that ld.so will need forPhilip Guenthe
doing thread-local storage and fix a typo in one that was already defined. ok kettenis@ drahn@
2010-06-27uvm constraints. Add two mandatory MD symbols, uvm_md_constraintsThordur I. Bjornsson
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
2010-06-26Don't #include <sys/user.h> into files that don't need the stuffPhilip Guenthe
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@
2010-06-26Don't try to halt an AP if holding sched_lock since that causes hangsMike Larkin
on resume. Fail early if this is detected, so that we have a chance to catch it. ok kettenis@, deraadt@
2010-06-26Fix 100% interrupt usage on amd64 MP resume.Mike Larkin
ok kettenis@, pirofti@, marco@
2010-06-24The new AMD Opteron CPUs have up to 4 HyperTransport links instead of 3.Mark Kettenis
ok dlg@
2010-06-22bump up the dmesg buffer size. new boxes have lots of crap in them, soDavid Gwynne
boot messages can be too big to fit. sure deraadt@
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-07space nit and use nitems().Thordur I. Bjornsson
ok kettenis@
2010-06-05Pass signal handlers a more clean FPU state (ie. the right modes) andTheo de Raadt
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
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-02Add back -fno-omit-frame-pointer, which was accidentally deleted byMark Kettenis
deraadt@ in one of the big restructuring diffs. ok marco@, millert@, marco@
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-31there is no spllpt(), since lpt's are just tty devices (call tty functions,Theo de Raadt
and thus should be using spltty() from Matthew Dempsky ok oga 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-24Unify the dependency time check for whether an architecture has SFILESTheo 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-23no need for -Dx86_64 or -Damd64, since __amd64__ is supplied by theTheo de Raadt
compiler. Also move towards passing $PARAM around in CPPFLAGS, instead of compiling param.c in a special way, as discussed with miod
2010-05-22this is amd64, not i386, and the protection was all bustedTheo de Raadt
2010-05-20Force max physical memory allocation for bus_dmamem_alloc() to be 4gigOwain Ainsworth
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@
2010-05-18Since we're direct mapped and don't need to worry about kva availability orOwain Ainsworth
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.
2010-05-18tweak dumpsys's countdown to cope with upcoming speedupAlexander Hall
tested by ckuethe@, ok oga@
2010-05-13Synchronise amd64 more with other PMAP_DIRECT architectures. (step 1,Owain Ainsworth
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@
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-09Fix packed use and unbreak with gcc4, same as i386.Nicholas Marriott
ok jsg
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.