summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2009-10-07add support for the temperature sensor of VIA Nano and C7-M CPUs.Kevin Lo
some improvements suggested by jsg@ "commit" deraadt@
2009-10-06Allow MD limits for allocating PCI io and mem space and specify limits onMark Kettenis
i386 and amd64 to make avoid legacy ISA I/O registers. Fixes issues with ThinkPad T-series Dock II units as reported by sobrado@ ok miod@
2009-09-30Fix comments to match reality.Tobias Weingartner
Thank you Vladimir Kirillov <proger () hackndev ! com>
2009-09-28Make video buffer area and BIOS areas unavailable for PCI resource allocation.Mark Kettenis
This should prevent problems on systems where these areas are not reserved in the BIOS memory map. ok miod@, oga@, marco@
2009-09-20Back out via nano temperature sensor changes.Jonathan Gray
They break ramdisks as noticed by jasper, and have not been adequately discussed.
2009-09-20add support for VIA Nano cpu core temperature sensorKevin Lo
ok deraadt@
2009-09-18ldt removal missed some. amd64_{get,set}_ldt gone. also removeMartynas Venckus
ldt_{alloc,free} to shave a few. ok jasper@, oga@
2009-09-18For some dark reason there's a bit on the VLINK device of this chipsetMark Kettenis
that makes the PCIE device show up as a host bridge instead of a PCI-PCI bridge. As a result any devices sitting behind it won't be detected. Whack the device into PCI-PCI mode such that we can walk the PCI bus hierarchy the normal way and detect all devices. Fixes PR 6215. ok dlg@
2009-08-25Legacy-free PC hardware do not have a real PS/2 keyboard controller, butMiod Vallat
rather have the USB HCI emulate it during boot, while legacy mode is enabled. This causes pckbd0 to attach as the console device, but is lost as soon as the USB HCI driver attaches. The disappearance of the emulated PS/2 controller can however be detected in pckbc(4) - which is supposed to attach after [eou]hci(4), with the controller refusing to ack commands and replying ``please resend'' instead. In that case, the kernel will now no longer attach pckbd, and will perform a new console input device selection, allowing the (real) usb keyboard to become the console. Thanks to krw@ for countless tests on legacy-free hardware; also tested on more conventional hardware by naddy@ and I. Only amd64 and i386 platforms are affected by this change.
2009-08-25iha(4) works on amd64; tested by downsjTheo de Raadt
2009-08-22Constify the what/name parameter of pci_intr_establish().Michael Knudsen
Tested by myself, sthen, oga, kettenis, and jasper. Input from sthen and jasper. ok kettenis (Manpage follows shortly.)
2009-08-14enable lisa(4); tested by Marco Knol; ok deraadtConstantine A. Murenin
2009-08-13Cleanup differences between i386 and amd64.Mark Kettenis
2009-08-13Replace the error strings that were being passed around with much simplerTheo de Raadt
errnos. Note that the error strings are being ignored, since we long ago decided to not spam the console, and there is no other nice way to use the errors (without changing the ioctls to pass it back) The errno is now useful, since we can pass b_error from failing IO up, and the drive can decide how to use that ok miod
2009-08-13wire vscsi up to a cdevDavid Gwynne
for claudio@ ok deraadt@
2009-08-13Start using a linking script for this kernel. ThisTobias Weingartner
should help in future using large pages for text/etc. Also, since we do not use the .eh frame stuff, we can nuke them, saving some bytes... Ok kettenis@, "more control over linking is a good thing, but I can't comment further" art@.
2009-08-13A new(er) mtx_enter_try().Tobias Weingartner
Ok oga@, "the time is now" deraadt@.
2009-08-13Make the i386 APIC code closer to the amd64 version. Many whitespace fixes,Mark Kettenis
some additional code. ok toby@, oga@
2009-08-11Do not bother initializing bufpages in the md code if the computation isMiod Vallat
exactly the same the mi could will use if bufinit() is invoked with bufpages == 0.
2009-08-11With the SysV memory allocation changes, allocsys() doesn't do anythingMiod Vallat
anymore. Get rid of it completely.
2009-08-11fix some stupidity in x86 bus_space_map.Owain Ainsworth
right now, we do a pmap_kenter_pa(), we then get the pte (behind pmap's back) and check for the cache inhibit bit (if needed). If it isn't what we want (this is the normal case) then we change it ourselves, and do a manual tlb shootdown (i386 was a bit more stupid about it than amd64, too). Instead, make it so that like on some other archs (sparc64 comes to mind) you can pass in flags in the low bits of the physical address, pmap then does everything correctly for you. Discovered this when I had some code doing a lot of bus_space_maps(), it was incredibly slow, and profilling was dominated by pmap_tlb_shootwait(); discussed with kettenis@, miod@, toby@ and art@. ok art@
2009-08-10use splhigh instead of splclock to block in the i386_ipiTheo de Raadt
fixes stability problems on some machines; ie. crashes in in cpu_idle_cycle from netbsd, via dhill
2009-08-10gpio for amd64.Jonathan Gray
ok deraadt@
2009-08-09Introduce option DDB_STRUCT. Kernels compiled with this option (except onMiod Vallat
a few arches where toolchain limitations apply) will embed some symbolic information about the various structs used within the kernel, and have new ddb commands allowing struct display and some useful information gathering. Kernel rodata increase varies accross platforms from ~150KB to ~300KB. This option is not enabled by default.
2009-08-09if extent_alloc() fails, we don't clear the iomap properly beforeOwain Ainsworth
returning an error. so next time we mess around, we may get annoying printfs. Fix this. ok kettenis@
2009-08-09Rototill system V message queues.Bret Lambert
No longer allocate a static amount of memory for messages in MD boot path; message queues, message metadata, and message data now all use dynamic memory, which means that runtime sysctls should now be trivial to implement. Since I'm going to be around all week to fix any breakage, this should probably just go in now.
2009-08-08add alc(4) to the i386 and amd64 RAMDISK_CD configsKevin Lo
2009-08-08alc(4) is a driver for the Atheros AR8131/AR8132 ethernet chip.Kevin Lo
this driver was written by Pyun YongHyeon from FreeBSD. "go ahead" deraadt@
2009-08-06reintroduce the uvm_tree commit.Owain Ainsworth
Now instead of the global object hashtable, we have a per object tree. Testing shows no performance difference and a slight code shrink. OTOH when locking is more fine grained this should be faster due to lock contention on uvm.hashlock. ok thib@, art@.
2009-08-02Dynamic buffer cache support - a re-commit of what was backed outBob Beck
after c2k9 allows buffer cache to be extended and grow/shrink dynamically tested by many, ok oga@, "why not just commit it" deraadt@
2009-07-31on error, just call unload() instead of doing all the actions that itOwain Ainsworth
would do manually. sparc64 does a similar thing already. ok kettenis@
2009-07-30Get rid of the obsolet BUS_BARRIER_xxx constants for bus_space_barrier(), onlyMiod Vallat
provide and use BUS_SPACE_BARRIER_xxx.
2009-07-27add bus speed recognition on Nehalem based cpus, thisDariusz Swiderski
makes Enhanced SpeedStep work on new machines, but requires acpimadt0 to be enabled. ok by jsg@ and claudio@
2009-07-26Make sure all platforms understand the flags argument of bus_space_map() andMiod Vallat
bus_space_alloc() as a bitmask of flags, and not a boolean controlling cacheability; and make sure the three MI BUS_SPACE_MAP_xxx values documented in the manual page are defined on all platforms as well.
2009-07-23reserve a space for aibs(4) in amd64 and i386, commented out for now; ok deraadtConstantine A. Murenin
2009-07-22via nano cpus are amd64, and so we need machdep.xcryptTheo de Raadt
2009-07-21Change the rbus md_space_{map,unmap} signature to take a rbus_tag_t insteadMiod Vallat
of the bus_space_tag_t it contains; an upcoming implementation will need to know the rbus_tag_t for which it works at this point. All callers updated accordingly; no functional change intended.
2009-07-20Pass a pci_chipset_tag_t to pci_intr_line(), to eventually allow theMiod Vallat
logic to be chipset dependent; no functional change yet. ok kettenis@
2009-07-10Switch away from using -traditional-cpp to iso/ansi cpp for asm files.Jonathan Gray
More architectures hopefully to follow. ok kettenis@
2009-06-16Backout pmemrange (which to most people is more well known as physmemAriane van der Steldt
allocator). "i can't see any obvious problems" oga
2009-06-16Backout all changes to uvm after pmemrange (which will be backed outOwain Ainsworth
separately). a change at or just before the hackathon has either exposed or added a very very nasty memory corruption bug that is giving us hell right now. So in the interest of kernel stability these diffs are being backed out until such a time as that corruption bug has been found and squashed, then the ones that are proven good may slowly return. a quick hitlist of the main commits this backs out: mine: uvm_objwire the lock change in uvm_swap.c using trees for uvm objects instead of the hash removing the pgo_releasepg callback. art@'s: putting pmap_page_protect(VM_PROT_NONE) in uvm_pagedeactivate() since all callers called that just prior anyway. ok beck@, ariane@. prompted by deraadt@.
2009-06-15Back out all the buffer cache changes I committed during c2k9. This reverts ↵Bob Beck
three commits: 1) The sysctl allowing bufcachepercent to be changed at boot time. 2) The change moving the buffer cache hash chains to a red-black tree 3) The dynamic buffer cache (Which depended on the earlier too). ok on the backout from marco and todd
2009-06-14Make sure the pglist is TAILQ_INIT()'ed before invoking uvm_pglistalloc().Miod Vallat
ok deraadt@ kettenis@
2009-06-14backout:Theo de Raadt
> extend uvm_page_physload to have the ability to add "device" pages to the > system. since it was overlayed over a system that we warned would go "in to be tested, but may be pulled out". oga, you just made me spend 20 minutes of time I should not have had to spend doing this.
2009-06-09revert guenther@'s un-revert of art's curpmap.Kenneth R Westerback
My bios0: ASUSTeK Computer INC. P5K-E cpu0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2405.74 MHz cpu1: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2405.46 MHz cpu2: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2405.46 MHz cpu3: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2405.46 MHz can't boot with this in. It always hangs somewhere in fsck'ing if any, or between netstart and local daemons if no fsck'ing. Also fubars theo's real amd machine. Much more testing needed for this.
2009-06-08If the machine only has one state enabling the EST driver is pointless,Gordon Willem Klok
this might need to be revisted later if its clear that there are machines which only come up with a single state but more may appear after a PPC change but for now we will just not initilize on systems with a single state a boot. Solves a divide by zero panic when using the PDC diff on broken hardware. ok marco@, krw@
2009-06-08fix non standard/valid usage of ? : operator on amd64Jonathan Gray
as well, reminded by miod@
2009-06-07on amd64, store a pointer to the loaded data and the type. This willOwain Ainsworth
eventually be needed by bouncebuffers, and I need it for some of my evil graphics shitz. ok kettenis@ with some tweaks
2009-06-07extend uvm_page_physload to have the ability to add "device" pages to theOwain Ainsworth
system. This is needed in the case where you need managed pages so you can handle faulting and pmap_page_protect() on said pages when you manage memory in such regions (i'm looking at you, graphics cards). these pages are flagged PG_DEV, and shall never be on the freelists, assert this. behaviour remains unchanged in the non-device case, specifically for all archs currently in the tree we panic if called after bootstrap. ok art@, kettenis@, ariane@, beck@.
2009-06-06Unrevert the curpmap change with the addition of correct %gs handlingPhilip Guenthe
in the IPI handler so that it works when it interrupts userspace, waiting for the droppmap IPI to complete when destroying it, and (most importantly) don't call pmap_tlb_droppmap() from cpu_exit(). Tested by myself and ckuethe, as our machines choked on the original. ok @art