summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2014-03-14enable qla(4) and qle(4) in ramdisks, except on sgi where the cdfs overflowsJonathan Matthew
2014-03-14rework mplocks to use tickets instead of spinning. this providesDavid Gwynne
fairer access to the kernel lock between logical cpus, especially in multi socket systems. i first wrote this diff in 2011. it provided the model for the i386 and sparc64 ticket locks. ok n2k14 for post 5.5 (deraadt@ and kettenis@ in particular)
2014-03-13Unhook httpd(8) from build; man page bitsFlorian Obser
tweaks jmc@ OK krw@, gilles@, lteo@, tedu@, todd@, benno@, sthen@ "The time is right." and much help getting the show on the road deraadt@
2014-03-13get rid of the assumption that the head of the alldevs list is theDavid Gwynne
"mainbus" device. this breaks when mpath is enabled because it attaches before mainbus and therefore takes the head position. have autoconf provide device_mainbus() which looks up mainbus_cd, and use that instead. discussed with deraadt who just wants mpath stuff to move forward despite there being many ways to shine this particular turd.
2014-03-12enable qla(4) and qle(4) in GENERIC configs where isp(4) is alreadyJonathan Matthew
2014-03-11lint is gone, and the 'lint' conditional was never in the implementationPhilip Guenther
namespace, so stop changing behavior when it's #defined ok beck@ krw@
2014-03-11Synchronize the i386 and amd64 ddb disassemblers and add supportPhilip Guenther
for many newer instructions. With feedback from jsg@
2014-03-10acpi_saved_rsp was defined twice. The asm resume code was using the firstMike Larkin
definition and the C part of the resume code was using the second. This manifested itself as mysterious reboot and stack corruption problems on resume. ok deraadt@
2014-03-08Enable qlw(4) on alpha/amd64/i386/macppc/sgi/sparc64 to force people to test.Mark Kettenis
2014-03-07We already assume global mappings (PG_G) are supported, so pmap_pg_g isPhilip Guenther
unnecessary ok krw@ kettenis@
2014-02-23Give drm(4) a console locator just like wsdisplay(4) such that we can makeMark Kettenis
sure /dev/drm0 always matches the primary display. ok mpi@
2014-02-19add qla and qle everywhere we currently have isp, commented out except forJonathan Matthew
qle in GENERIC on i386, amd64 and sparc64, where it's reasonably well tested and likely to be useful. requested by deraadt@ and kettenis@, ok dlg@
2014-02-18Bump version numbers.Joel Sing
2014-02-18Actually check to see if the CPU supports tsc, rather than assuming thatJoel Sing
it does and triggering an illegal instruction trap when it does not. Found the hard way and fix tested by nick@
2014-02-17x86_atomic_testset_i32 and x86_atomic_testset_i are not used, so removeDavid Gwynne
them to unmuddy the waters a bit. ok guenther@
2014-02-13Some Linux i915 drm "fast" path code relies on being able to "disable" pageMark Kettenis
faults to avoid sleeping. Implement this functionality for i386 and amd64 for faults in the user address space. If the ci_inatomic flag is set in struct cpu_info, copyin(9) and copyout(9) will return EFAULT when a user-space address needs to be faulted in. Use this to properly implement __copy_to_user_inatomic() and __copy_from_user_inatomic_nocache() in the inteldrm(4) code. ok krw@, guenther@
2014-02-01Remove some of the excessive cache and TLB flushing going on duringMike Larkin
hibernate unpack - these were added a while ago when we were fighting different issues that have now been solved. Tested by myself and dcoppa on a variety of machines
2014-01-30Move declaration of struct vm_page_md from <machine/vmparam.h> toMiod Vallat
<machine/pmap.h> where it belongs, and compensate in <uvm/uvm_extern.h> by including <uvm/uvm_pmap.h> before <uvm/uvm_page.h>. Tested on all MACHINE_ARCH but amd64 and i386 (and hppa64).
2014-01-23unifdef -D__HAVE_VM_PAGE_MD - no functional change.Miod Vallat
2014-01-22tweak ubcmtp commentjoshua stein
2014-01-22CDIAGFLAGS= not neededTheo de Raadt
2014-01-22Use ljmp instead of ljmpq since binutils 2.17 doesn't like the latter.Mark Kettenis
ok mlarkin@
2014-01-21Add virtio random driverStefan Fritsch
OK mikeb@ "seems fine" matthew@
2014-01-21Disable lapic when halting CPUs. Allegedly this is necessary to makeMark Kettenis
suspend work on some machines. ok deraadt@
2014-01-20Add sdmmc support to the install media, as proposed by Florian StinglmayrTheo de Raadt
2014-01-20add ubcmtp, a USB driver for Broadcom multitouch trackpads found onjoshua stein
newer Apple MacBook laptops enabling two-finger scrolling and other multi-finger gestures with the synaptics(4) driver mostly done at the t2k13 hackathon input from and ok mpi@
2014-01-20Unlink the old amd64/i386 installboot.Joel Sing
2014-01-19Initialize ci_randseed better using arc4random() + a trick. Remove theTheo de Raadt
libkern srandom() API since it is not suitable for this use. ok kettenis miod
2014-01-18tweak comments a bitMike Belopuhov
2014-01-18Fix comment re size of input buffer.Joel Sing
2014-01-16Appease LLVM's integrated assembler. Matches the same code as it existsBrad Smith
for i386. error: ambiguous instructions require an explicit suffix (could be 'cmpb', 'cmpw', 'cmpl', or 'cmpq') ok mlarkin@
2014-01-10Resurrect the "park APs in realmode" idea that we explored back at t2k13Mike Larkin
(and which didn't work at that time due to a bug which has since been fixed). The APs are now demoted to real mode and placed in a HLT loop while the hibernated image is being unpacked. Helps my x230 significantly, no more spurious reboots on resume. ok deraadt
2014-01-06document random buffer must be multiple of 4 in sizeTheo de Raadt
2014-01-05HIBERNATE_SELTABLE is not used anymore. Remove, and reclaim its stolenMike Larkin
page.
2014-01-05Don't use the first 64KB for anything, including tramps. Move tramps andMike Larkin
hibernate goo up after 64KB to avoid posible corruption by buggy BIOS SMM code. Diff also ensures the first 64KB doesn't get handed to UVM either. ok deraadt@, tested by many with no regressions reported
2014-01-02crank version after random instruction fix from jsingTheo de Raadt
2014-01-02Simplify things slightly by using four byte indexing.Joel Sing
2014-01-02Ensure that we preserve callee-save registers.Joel Sing
2013-12-28Require an explicit PT_OPENBSD_RANDOMIZE program header in the kernel linkerMiod Vallat
script (note that the amd64 linker script is currently not used). Discussed with deraadt@
2013-12-28Further clean up and unification of the amd64 and i386 boot(8) makefiles.Joel Sing
2013-12-28crank the versionTheo de Raadt
2013-12-28Try to load entropy data from disk:/etc/random.seed, and additionallyTheo de Raadt
use a MD-supplied random function. Then, insert this into the ELF openbsd.randomdata of the kernel, so that it has entropy right from the start. Some help from jsing for the softraid aspects. Also tested by phessler
2013-12-28If we fail to decrypt the softraid keys, return EPERM rather than fallingJoel Sing
through and failing when we attempt to read and validate the disklabel. Also return ENOTSUP rather than EPERM if an attempt is made to write to a softraid volume.
2013-12-28Use preprocessor symbols where possible.Theo de Raadt
2013-12-28Add initial implementations of early MD random, for use in the boot code.Joel Sing
This makes use of rdrand if the CPU supports it, otherwise we fall back to using rdtsc. Further development will happen in the tree. Tested by phessler@ ok deraadt@
2013-12-26Back at t2k13, I wrote code to park APs in real mode before resuming aMike Larkin
hibernated image. We backed out the code because it was causing reboots on resume. Turns out the parking code had a bug that caused the CPU to jump to some bogus address (calculating a bad offset for the jump target), which was likely the source of the problem. This diff fixes the bad offset calculation (verified by looking at the resulting asm output). This will be the first step in attempting to resurrect the original idea (and eventually add i386 if/when it works). discussed with deraadt@
2013-12-23spellingTheo de Raadt
2013-12-20Add vioscsi(4) driver.Matthew Dempsky
Still a work-in-progress, but functional enough to work with both Google Compute Engine and RHEVM. Committing so additional testing and cleanup can be handled in tree. thx Jiri B for RHEVM testing ok dlg, deraadt
2013-12-19Mtrr stops being a pseudo-device. We need to probe the cpu type andTheo de Raadt
initialize the structures when we see the first cpu. We also need to initialize each cpu's properly (for PAT) before we setup mtrr on that cpu. On i386 (late hatch) we were getting this desperately wrong on the primary cpu. After suspend/resume, we also need to do the same work. re-initialize PAT before mtrr. On some laptops apparently PAT was not turned on by the BIOS, so we ended up with incorrect setup for the primary cpu. Oops. This makes mplayer on the x201 (and similar) machines work without weird pauses after a suspend/resume. Many other things are likely fixed. ok kettenis
2013-12-18Provide MI symbol _STACKALIGNBYTESTheo de Raadt