summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2009-03-26Change amd64 bus_space_{map,unmap} to be the same as i386. WhileOwain Ainsworth
theoretically the current solution of using the direct (and direct uncached) maps is better for tlb pressure, two direct maps is dangerous, especially when we support Page Attribute Tables (soon), since that will cause illegal cache aliases. When that work is done a clever solution may be worked out. "reluctant ok, the uncached direct map is evil" art@
2009-03-26Remove cpu_wait(). It's original use was to be called from the reaper soOwain Ainsworth
MD code would free resources that couldn't be freed until we were no longer running in that processor. However, it's is unused on all architectures since mikeb@'s tss changes on x86 earlier in the year. ok miod@
2009-03-24link otus(4) to the build on i386 and amd64.Damien Bergamini
2009-03-23Add missing dependency generation for assym.h (...the lack of whichPhilip Guenthe
made testers of art's affinity diff go insane) ok krw@ miod@
2009-03-23Processor affinity for processes.Artur Grabowski
- Split up run queues so that every cpu has one. - Make setrunqueue choose the cpu where we want to make this process runnable (this should be refined and less brutal in the future). - When choosing the cpu where we want to run, make some kind of educated guess where it will be best to run (very naive right now). Other: - Set operations for sets of cpus. - load average calculations per cpu. - sched_is_idle() -> curcpu_is_idle() tested, debugged and prodded by many@
2009-03-15Introduce splsoftassert(), similar to splassert() but for soft interruptMiod Vallat
levels. This will allow for platforms where soft interrupt levels do not map to real hardware interrupt levels to have soft ipl values overlapping hard ipl values without breaking spl asserts.
2009-03-11Attach iommu on AMD family 10h processors (e.g. phenom) too.Owain Ainsworth
11h (Turion) still needs testing, so isn't part of this commit. ok reyk@, marco@
2009-03-10First step in cleaning up amd64 iommu.Owain Ainsworth
Firstly, don't keep identical data for each of the GARTs (we keep them in sync, but there is one per cpu socket), all that varies is the pci_tag_t, so just keep an array of those and have the rest of the information once. Secondly, don't keep the softc as a global, use the _cookie field of the dmatag_t, that's what it's there for. Finally, use dmamap_map to map the page tables, instead of the direct NC map. This is because later changes to support PAT will be a lot easier with one direct map (where we change the cacheability if needed), since otherwise it's just asking for illegal cache aliases. More changes will be upcoming. Tested by a few people, with an without bigmem, thanks to those. weingart@ liked the direction this is going, marco@ and kettenis@ oked it.
2009-03-10remove the _BUS_DMA_PRIVATE define from amd64 and i386.Owain Ainsworth
a define needed to get to ``private'' functions that needs to be defined 5 or more times isn't much use and may cause namespace issues anyway. Other archs will probably follow. Discussed in portugal. "Hell yes" weingart@, ok kettenis@, no objections miod@
2009-03-10Enable VMware VMXnet Virtual Interface Controller (vic) driverJonathan Gray
on amd64 as well. ok dlg@
2009-03-10enable urtw(4)Kevin Lo
ok jsg@
2009-03-07When allocating memory in bus_dmamem_alloc() with uvm_pglistalloc(), do notMiod Vallat
try to be smart for the address range, uvm_pglistalloc() is smart enough nowadays.
2009-02-26Add a two new ioctls to the apm(4) interface.Owain Ainsworth
APM_IOC_{SUSPEND,STANDBY}_REQ: This is to fix an issue with apm suspend where a call to zzz suspended the machine immediately, not giving anyone listening for apm events (other than apmd) a chance to deal with the upcoming change. This hit X hard since the introduction of drm, since it needs to have time to idle the 3d engine and otherwise get the device into a recoverable state. Such things are needed until we support modesetting in the kernel. Now, instead of forcing a suspend, using ioctl sends out an event similar to if you had put the lid down, giving all userland applications a chance to reply. tested by sthen@ and beck@, especial thanks to sthen for sitting there while I tried to debug this remotely, I owe him beer. Prompted by and ok deraadt@
2009-02-25enable ale(4) on both i386 and amd64Kevin Lo
ok deraadt@
2009-02-24match new cpuid stuff from i386; by jsgTheo de Raadt
ok toby and tedu
2009-02-24back out est.c 1.8 and bring acpicpu.c all the way back to 1.47 because ofTheo de Raadt
hanging machines. backed out correctly this time, as pointed out by tedu.
2009-02-19suspend/resume bits so that we can develop this in tree. This is disabled.Marco Peereboom
code from mlarkin and me help from art,toby,jordan and several others ok jordan, go for it deraadt
2009-02-16Cancel the automatic boot when you hold ctrl to skip boot.conf.Stuart Henderson
"I like it" deraadt "sweet" tedu "love it" marco
2009-02-16remove incorrect cast of pcb_cr3. okay kettenis@ weingart@Kurt Miller
2009-02-16Core i7 chips don't have MSR_TEMPERATURE_TARGET register, and blow upKenneth R Westerback
if attempts are made to read it. So read MSR_TEMPERATURE_TARGET only when ci_model == 0xe. Found when my Core i7 box blew up. FreeBSD allows a few more chips but this allows my box to boot. ok jsg@
2009-02-16Store conditionally extended cpuid family/model valuesJonathan Gray
in seperate variables in struct cpu_info instead of duplicating the process of extracting it from the signature. Discussed with several, 'just do it' weingart@, ok mikeb@
2009-02-15Set the limit of the GDT table to its size - 1.Mike Belopuhov
Reported by and diff from Remco <remco at d-compu.dyndns.org>, thanks! Checked with kettenis@. ok kettenis
2009-02-15Add cvs tagMarco Peereboom
2009-02-15Add sleep plumbing code for amd64 making it the sameish as i386. CommittingMarco Peereboom
per mlarkin request. Code from mlarkin, mptramp code from kurt Lots of comments weingart, art & others Tested in snaps for weeks ok kurt, marco
2009-02-14enable Attansic L1 Ethernet (age/atphy)Kevin Lo
ok deraadt@
2009-02-13Make "boot -d" work on amd64 MP.Andreas Gunnarsson
Prodded by oga@ (a long time ago) and mikeb@ Also ok by kettenis@ and grange@
2009-02-10enable run(4) everywhere where ural(4) and rum(4) are enabled.Damien Bergamini
run(4) has been reported to work on sparc64 by Maxim Belooussov so I'm pretty confident that it works on all arches.
2009-02-08Spacing nit.Alexander Yurchenko
2009-02-08Enable ips(4) on CD install media so people can try it.Alexander Yurchenko
ok miod@
2009-02-05Mirroring the i386 commit just made. Add MD PMAP_NOCACHE flag to pmap,Owain Ainsworth
and use it to implement BUS_DMA_NOCACHE for uncached mappings of dma memory. Needed for some broken hardware. Discussion with art, miod, kettenis and toby, ok miod.
2009-02-03Free TSS on the stack of the dead process.Mike Belopuhov
In order to do that we have to remove all sleeping parts: sleeping memory allocation and a sleeping lock. Thus we're moving this code to the spinning lock (mutex) and getting rid of the GDT grow code. Downside is that now we're pre-allocating 64kb of memory per CPU from the start, but this might be optimized in future. This also unifies GDT code and MAXGDTSIZ define across i386 and amd64. With help from mickey. ok toby, art
2009-01-31Don't cast pointer to int, use register_t here.Alexander Yurchenko
ok miod@ tedu@
2009-01-28Add missing braces in trunc_page() call from vmapbuf().Alexander Yurchenko
ok miod@
2009-01-27Switch the amd64 PCI_CONF_LOCK from being a simplelock and splhigh to aOwain Ainsworth
mutex with ipl set to IPL_HIGH. While i'm here, unify the code with i386, by giving the same lock to the i386 code. This lock is mostly for MP, but could actually prevent a race where a process is doing pci_conf_{read,write}, and then an interrupt fire and also does pci_conf_{read,write}. Since this is a two stage process, the interrupt could race with the one, causing the value to the written to the wrong place, or the wrong value to be written. Tested by many. "go ahead" kettenis@.
2009-01-25Remove /dev/drum and related code.Miod Vallat
2009-01-23Add schsio(4), a driver for SMSC SCH311x LPC Super I/O ICs providingMichael Knudsen
environment sensors. These are found at least on VIA Epia SN18000G boards. Not enabled at 0x162e and 0x164e because probing these may not be safe according to kettenis (guess where my schsio is). Much help from kettenis. Input from const and fgs. ok kettenis
2009-01-18enable atphy/ageKevin Lo
ok kettenis@
2009-01-17gdt_compact() was removed years ago, so kill the code and commentsPhilip Guenthe
that worked around its presence ok'ed by miod@
2009-01-16add next-server option to exampleOleg Safiullin
ok jmc@ stevesk@
2009-01-13Fix lvalue abuse by removing a redundant cast.Alexander Yurchenko
ok kettenis@
2009-01-13Turn mpbios into a real device, such that people can disable it on crappyMark Kettenis
BIOSes. ok deraadt@ (for the amd64 bit, or the i386 bit, can't remember which)
2009-01-07Enable urlphy in addition to url.Jonathan Gray
Noticed by dlg on system that comes with url(4).
2009-01-06- add and enable ipgphy(4) everywhere there's a stge(4) entry.Jasper Lievisse Adriaanse
(if the stge(4) entry is commented, so is the ipgphy(4) entry then). this allows ipgphy0 to attach to my stge0, which has a IC+ 1000A chip discussed with and ok jsg@, ok dlg@
2009-01-03run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.Damien Bergamini
the driver supports legacy 802.11abg modes only (no 802.11n yet.) WPA works, with hardware encryption/decryption. committed over an RT2800U (RT2870+RT2820). enabled on i386 and amd64 GENERIC only for now. thanks to Paul Lin at Ralink for letting us ship the firmware under an appropriate license. "man page looks ok" jmc@ "you should commit it" jsg@, ok deraadt@
2009-01-02Do not evict the kernel image from the mem_clusters[] array, otherwiseMiod Vallat
it won't get included in kernel crash dumps. ok dlg@
2008-12-30savecore(8) wants dumpmag to be an unsigned long.Miod Vallat
2008-12-28No longer look for RSDP in memory marked as "ACPI Reclaim" in the BIOS memoryMark Kettenis
map. The standard doesn't tell us to look there, Linux and NetBSD don't look there either. It seems that some BIOSes use this memory as a scratch area to build the final ACPI tables which means we can accidentally find what seems like a valid RSDP there. Fixes PR 5847. ok krw@, marco@
2008-12-28Remove confusion between "raw" and "swizzled" interrupt pins. Remove someMark Kettenis
#ifdef __i386__ code that can go now things have been cleaned up.
2008-12-22Get rid of many arbitrary differences between the i386 and amd64 mpbios code.Mark Kettenis
Mostly KNF issues, some reorganisation of the code. ok dlg@, deraadt@, krw@
2008-12-22use the exact same policy for choosing apic on all 3 types of kernel.Theo de Raadt
ok kettenis