summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2011-04-03Move PPWAIT flag from struct proc to process, so that rthreads inPhilip Guenthe
a vforked child behave correctly. Have the parent in a vfork() wait on a (different) flag in *its* process instead of the child to prevent a possible use-after-free. When ktracing the child return from a fork, call it rfork if an rthread was created. ok blambert@
2011-04-03Re-enable bce(4) now that it is fixed.Claudio Jeker
2011-04-02just some spaces; no binary change.Marco Peereboom
2011-04-02Remove the AMD GART based iommu code.Owain Ainsworth
With current strategies to put memory in the ``correct'' place it isn't needed. There's also the problem that it did not work on all machines, failing completely on some and utterly breaking DMA. So just remove it. If anyone needs it it will be in the Attic. ok deraadt@
2011-04-02Enable bigmem by default on amd64.Bob Beck
ok deraadt@
2011-04-02Constraint checking - ensure that physical addresses for dma are belowBob Beck
the top of the dma constraint range and panic if they are not. ok deraadt@, thib@, oga@
2011-04-01Fix comment: amd64's list of callee-saved registers isn't the same as i386Philip Guenthe
2011-03-24remove whitespaceRobert Nagy
2011-03-23Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.Paul Irofti
Discussed and okay drahn@. Okay deraadt@.
2011-03-22renegade spaces; no binary changeMarco Peereboom
2011-03-20When reading MXCSR from userland sigcontext or a ptrace request,Philip Guenthe
mask out invalid bits to prevent a protect fault. Original diff by joshe@; further feedback and ok kettenis@
2011-03-19Make amd64/i386 installboot error out if /boot would cross theKenneth R Westerback
BOOTBIOS_MAXSEC line. ok deraadt@.
2011-03-18Old-style MTRRs were never used on amd64, so remove the remaining tracesPhilip Guenthe
of them, as well as some other unused proc md_flags bits: MDP_COMPAT and MDP_SYSCALL. ok mikeb@
2011-03-17Make the various findopenbsd() functions non-recursive, eliminatingKenneth R Westerback
a global, a couple of parameters, and opening up possibility of traversing much longer EBR lists without blowing the stack. Make seach algorithm the same as used in kern/subr_disk.c by checking all primary partitions in the MBR/EBR before moving to next EBR. This makes it more likely that everybody finds the same OpenBSD partition. Largely from a diff posted to tech@ by ucsavl.
2011-03-15Bunch of white space and style adjustments to make amd64 versionKenneth R Westerback
the same as i386 version. No change to .o file except for the one %lld -> %u format fix.
2011-03-14Clamp BIOS io attempts to < 2 ^28 - 1 sectors (a.k.a. 128GB forKenneth R Westerback
512-byte sectors) as some BIOSen get confused when we ask for sectors higher up. Uss u_int throughout the boot code to calculate sector addresses, since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks for wraparound. I can now install and boot from the 7th extended partition below 128GB. Much feedback & guidance from deraadt@. Also from weingart@ on BIOS io. ok deraadt@ (less a couple of minor tweaks found in testing)
2011-03-14Fix spelling in commentPhilip Guenthe
2011-03-13Change daddr_t to daddr32_t. The bootblocks on our architectures onlyTheo de Raadt
do 32-bit block spanning. If later on we get some that can/should do 64-bit, that can be done now using daddr64_t (but of course, we are taking this step to finalize the daddr_t 64-bit conversion). ok miod krw
2011-03-12Implement swap64 with the bswapq instruction. (Commit stolen from mikeb@)Philip Guenthe
Add missing __statement modifiers and correct %1 to %0 in the asm. ok mikeb@, pirofti@, drahn@
2011-03-11Zap stack garbage before passing buffer to biosd_io(), which mayKenneth R Westerback
be lied to by the BIOS about successfully reading data. ok deraadt@ weingart@
2011-03-11Use _MACHINE_ENDIAN_H_ for this is The Right Thing To Do.Paul Irofti
Okay guenther@, millert@.
2011-03-08Fix extended partition searching so we don't get lost. The offsetKenneth R Westerback
of the next EBR is relative to the start of the extended partition described in the first MBR, not relative to the EBR specifying the offset in its extended partition entry. Clean up installboot -v output. Use daddr64_t for all sector numbers. Not a complete fix, but better than what we had. More tweaks to come. Inspired by a diff and cluebat from uscav on tech@ a few weeks ago. Feedback from matthew@, weingart@. ok deraadt@
2011-03-06The global_int information acpi collects is not used by amd64.Theo de Raadt
ok ketttenis
2011-03-02- change recieved -> received in comments, as well as two unused definesJasper Lievisse Adriaanse
in pxe.h. ok deraadt@ sthen@
2011-02-26Force the DUID cache used to generate hw.disknames to be updatedKenneth R Westerback
after every disklabel read or write. This keeps the DUID cache more in sync with the physical world. De-syncing noted by drahn@ while zapping disklabels with dd. ok jsing@ deraadt@
2011-02-17Disable sbt and ubt devices. The bluetooth code will sometimes sleep whileMiod Vallat
holding locks, this is not allowed, and nobody has stepped up to fix this, so better not lure people into using bluetooth devices.
2011-01-28you use ; to end a statement, not a :.David Gwynne
2011-01-27Atom uses the same value for bus clock 200 MHz as Core, thoughJonathan Gray
this is not documented by Intel. tested by henning on d525
2011-01-23Add support to installboot(8) for installing biosboot(8) and boot(8) onJoel Sing
softraid volumes. If installboot is run on a softraid volume, a fake single inode FFS filesystem is constructed to contain boot(8). This is then installed onto the softraid volume via the BIOCINSTALLBOOT ioctl. biosboot(8) is then patched and installed onto each disk that is a member of the softraid volume. Joint work with otto@ who came up with the concept of constructing a fake FFS filesystem and wrote the code to do so. No objection from miod@
2011-01-14- use nitems()Jasper Lievisse Adriaanse
"doesn't hurt" deraadt@
2011-01-13set lkm_end to the end of the jumpable virtual space; tested by me and marcoMike Belopuhov
2011-01-12use explicit_bzero() for the session, in drivers where struct sessionTheo de Raadt
contains key material (note, that is not true in all drivers... hence not always neccessary) discussed with mikeb
2011-01-11for key material that is being being discarded, convert bzero() toTheo de Raadt
explicit_bzero() where required ok markus mikeb
2011-01-10Only use MMCFG extended PCIe config space. Gets us back the on-CPU PCI ↵Mark Kettenis
devices on AMD Family 0Fh processors.
2011-01-09Only use memory mapped extended PCIe config space access for the bussesMark Kettenis
advertised in the MCFG table, and fall back on the traditional method for other busses. Fixes issue reported by henning@.
2011-01-08The Ubiquiti WiFiStation EXT works on the Sun Blade 1500.Damien Bergamini
Enable athn at uhub on all USB 2.0 capable arches.
2011-01-04Add support for Memory Mapped Configuration space access. This gives usMark Kettenis
access to PCIe extended configuration space access on modern i386 and amd64 machines.
2010-12-30If genassym fails, sort on the pipeline will indicate no error resultingTheo de Raadt
in some grief. Split this out. From Vladimir Kirillov
2010-12-30add a simple __va_copy inside ifdef lint, from tim van der molen.Ted Unangst
ok guenther
2010-12-29Bus clock doesn't matter on the Xeon 3600/5600 and Xeon 6500/7500, so don'tMark Kettenis
print the "can't get bus clock" message. While there, adjust comments for the i3/i5/i7 CPUs and include the relevant Xeon models. The Intel marketing people seem to have less influence on the Xeon names, so they describe the CPU generation much better. ok marco@, deraadt@
2010-12-27Correct x86_atomic_*_ul() to operate on 64bit integers, eliminatePhilip Guenthe
x86_atomic_*_l(), and update the callers of all of those to use the underlying x86_atomic_*_u32() functions that they were expecting anyway. Whether the x86_atomic_*_ul() macros should be eliminated has been deferred. ok kettenis@, tedu@
2010-12-27Eliminate x86_multicast_ipi() as unused and broken (doesn't handle #cpu>32).Philip Guenthe
The i386 version was removed some time ago, so kill its declaration too. ok tedu@ kettenis@
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
2010-12-21Convert netisr to a normal soft interrupt instead of hanving MD codeClaudio Jeker
for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
2010-12-15Bring CBC oracle attack countermeasure from r1.32 of cryptosoft.c toMike Belopuhov
the hardware crypto accelerator land. This fixes aes-ni, via xcrypt, glxsb(4), hifn(4), safe(4) and ubsec(4) drivers. Original commit message by angelos: Don't keep the last blocksize-bytes of ciphertext for use as the next plaintext's IV, in CBC mode. Use arc4random() to acquire fresh IVs per message. with and ok deraadt, ok markus, djm
2010-12-15enable uticom(4) now it is known to workJonathan Gray
2010-12-15oops, i forgot to check in the BRKSIZ define in uvm, but deraadt thinksTed Unangst
its better as a per arch MD define anyway. all default to MAXDSIZ as before.
2010-12-11rsu(4), a driver for Realtek RTL8188SU, RTL8191SU and RTL8192SUDamien Bergamini
802.11n USB devices. These are FullMAC devices that require a firmware to operate; see man page for details. Great thanks to Brad for donating hardware. Committed over the TRENDnet TEW-649UB. ok deraadt@
2010-12-07The rdmsr_locked/wrmsr_locked functions were using "=A" as a constraint forTheo de Raadt
the 64-bit output/input. On i386, this means that the 64-bit value is in eax:edx, but on amd64 gcc this is not the case (might be a gcc bug, or might be intentionally different and annoying?). The consequence is that amd64 errata were not always being matched (and then "corrected" using the magic repair code). We need to compose/decompose the 64-bit value like the un-locked msr functions do. originally pointed out by ragge, ok kettenis jsg
2010-12-07the boot loader passes a variable that identifies the disk itsDavid Gwynne
booting off made up of a bunch of fields like adapter, controller, disk, and partition offsets, plus a table of all the disks it can see which includes this id and a checksum. the kernel goes through and checksums the disks and then maps that back to the id associated with that disk, and then compares some of the fields in those ids against the boot disks id to figure out which disk its on. the problem is we overflow one of those fields (the disk id one). since the other fields are set to 0 by the boot loader, this doesnt really matter that much. however, since those fields are now significant because of the overflow, we should compare them too. this prevents sd16 being matched as the boot disk after sd0 on my system with 25 disks attached. ok krw@ weingart@