summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
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@
2010-12-06- properly remove NENTS now after fixing the fallout.Jasper Lievisse Adriaanse
ok deraadt@
2010-12-06- partially revert previous NENTS removal for arches which got busted.Jasper Lievisse Adriaanse
2010-12-06- use consistent 'include' rules without a full relative path.Jasper Lievisse Adriaanse
tested on a GENERIC config from all arches. ok deraadt@ miod@
2010-12-06- drop NENTS(), which was yet another copy of nitems().Jasper Lievisse Adriaanse
no binary change ok deraadt@
2010-12-04Introduce a new pci routine, pci_conf_size(), which returns the size of aMiod Vallat
given pcitag_t configuration address space. Currently, all pci controllers will return the usual 0x100 bytes of PCI configuration space, but this will eventually change on PCIe-capable controlers. ok kettenis@
2010-12-04The pm_cpus member of the pmap is now a 64bit integer: update the assemblyPhilip Guenthe
used in cpu_switch() for handling it. Also, delete an unnecessary instruction that I added while debugging the pm_cpus handling before ok kettenis@
2010-12-02After the most recent change, make it possible to make -j again. TheTheo de Raadt
early MD and late MI files must be split up so that vers.o can sneak between. Issue spotted by bluhm, repair discussed with miod
2010-12-02move vers.o to before the other objects, so that it is not linked last.Theo de Raadt
having it linked last is bad (on at least i386 and amd64) because the lapic is mapped over the start of the data segment -- savecore(8) then reads the version string for a fixed buffer space, and reads into the lapic area causing unintended side-effects (at least on Intel X5570 and X5680) found by pedro, discussed with kettenis and mpf and miod
2010-11-30Extend bitmasks to 64-bit such that we can support up to 64 CPU cores.Mark Kettenis
tested by dlg@, ok jsing@
2010-11-29double the default message buffer size. again.David Gwynne
requested by deraadt@
2010-11-29bump the number of supported cpus from 32 up to 64. lets me attach and useDavid Gwynne
all 48 cores in one of my boxes. requested by deraadt@ made possible by the recent pmap diff by kettenis@
2010-11-27Remove ddb single-step load and store counters. Most platforms do notMiod Vallat
implement them, and they are of questionable usefulness.
2010-11-27Make sure we don't attach more CPUs than we can handle. Prevents anMark Kettenis
out-of-bounds array access later on. Allows OpenBSD to boot on machines with more than 32 CPUs/cores. ok krw@, jsing@, dlg@
2010-11-26Disable uscanner(4) by default on all kernels which configure it. First stepMiod Vallat
until possible removal, if indeed this causes no regression for scanner users.
2010-11-26Nuke the unused variable cpus_attached. It is unused and 32 bitsKenneth R Westerback
aren't enough to keep track of possible cores these days anyway. 36-core amd64 box encountered by dlg@ ok dlg@ kettenis@
2010-11-23removed slot argument of function pckbc_cnattachAlexandr Shadchin
because it is always PCKBC_KBD_SLOT ok krw@, miod@
2010-11-22Remove old comment about constab[] being eventually generated by config(8).Miod Vallat
This has never happened and this wouldn't make much sense on anything but hp300, if at all, nowadays.
2010-11-22Remove prototypes for missing (removed) functions or already found in aMiod Vallat
MI header file.
2010-11-20typoMiod Vallat
2010-11-20This is a first step towards getting rid of avail_start and avail_end in theMiod Vallat
kernel, currently limited to low-hanging fruit: these variables were used by bus_dma to specify the range in which to allocate memory, back when uvm_pglistalloc() was stupid and would not walk the vm_physseg[]. Nowadays, except on some platforms for early initialization, these variables are not used, or do not need to be global variables. Therefore: - remove `extern' declarations of avail_start and avail_end (or close cousins, such as arm physical_start and physical_end) from files which no longer need to use them. - make them local variables whenever possible. - remove them when they are assigned to but no longer used.
2010-11-20__attribute__((packed)) -> __packed. The ioprbs.c chunk was commented out, andMiod Vallat
uncommenting it is intentional. ok deraadt@
2010-11-18Don'tMiod Vallat
#include "foo.h" #if NFOO > 0 (whole file) #endif since config(8) file inclusion rules already do it for you. ok deraadt@
2010-11-18Do not #include <sys/dkstat.h> if you don't need anything from it.Miod Vallat
ok krw@ deraadt@
2010-11-15rename aesni_sess to aesni_session; bugged me all the timeMike Belopuhov
2010-11-15do session allocations from the poolMike Belopuhov
2010-11-15thrash less cache lines and zero out only what we've touchedMike Belopuhov
2010-11-15convert one if-else instance to the switch to ease gcm integration;Mike Belopuhov
use proper define for the initial counter block
2010-11-15round up crd_len to the blocksize; will be needed for gcmMike Belopuhov
2010-11-15there's either mbuf or an iovec, no other option is possibleMike Belopuhov
2010-11-13Switch from TSS-per-process to TSS-per-CPU, placing the TSS rightPhilip Guenthe
next to the cpu's GDT, also making the double-fault stack per-CPU, leaving it at the top of the page of the CPU's idle process. Inline pmap_activate() and pmap_deactivate() into the asm cpu_switchto routine, adding a check for the new pmap already being marked as active on the CPU. Garbage collect the hasn't-been-used-in-years GDT update IPI. Tested by many; ok mikeb@, kettenis@
2010-11-12Push all potential (as in, all system MI not utilized by the bootblocks)Theo de Raadt
.h files into the ctags run as well to bring #define's and structs and such into scope. Problem reported by thib
2010-11-10pass aesni_ctr_enc an initial counter block instead of an initialization vectorMike Belopuhov
2010-11-05urtwn(4), a driver for Realtek RTL8188CU/RTL8192CU 802.11n USB devices.Damien Bergamini
these devices are different from the RTL8191SU/RTL8192SU ones that are not supported by this driver. requires a firmware (urtwn-firmware-1.0) committed over a Hercules HWNUp-150 (RTL8188CU). ok deraadt@
2010-11-03no need to specify the -t flag to ctagsTheo de Raadt
2010-11-03only let vmt match and therefore attach if mainbus is specifically askingDavid Gwynne
for vmt to attach after vmt_probe succeeds. this prevents vmt from appearing at other attach points hanging off mainbus. found by phessler@ and debugged gently by claudio@
2010-11-01use the amd64 name for this frame, instead of the i386 name, to bePeter Hessler
consistent with the rest of the file. requested to be a seperate commit by kettenis@
2010-11-01convert a trap that ends up in 'we_re_toast' from a boot(RB_HALT) into aPeter Hessler
real panic. this brings amd64 inline with all of the other arches. OK kettenis@, mikeb@, krw@, guenther@, thib@