summaryrefslogtreecommitdiff
path: root/sys/arch/i386
AgeCommit message (Collapse)Author
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-10right now, we only increment ci_idepth in struct cpuinfo whenOwain Ainsworth
MULTIPROCESSOR is defined. This makes splassert incorrect for IPL_NONE on such kernels. Make this more similar to amd64, and move the inc and dec of ci_idepth into the interrupt vectors, and only leave biglock in the locking functions. ok kettenis@
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-05timeout_add -> timeout_add_msecBret Lambert
ok markus@
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-25Add an extra argument to uvm_unmap_remove(), for the caller to tell itMiod Vallat
whether removing holes or parts of them is allowed or not. Only allow hole removal in uvmspace_free(), when tearing the vmspace down. ok art@
2009-07-23reserve a space for aibs(4) in amd64 and i386, commented out for now; ok deraadtConstantine A. Murenin
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-16KNFMichael Knudsen
ok sthen
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-25re-enable inteldrm since new X driver is about to fix the issueTheo de Raadt
2009-06-24There are 3 reasons why the first block in apm_probe can fail, and in oneTheo de Raadt
case it is not OK to DPRINTF, so delete that code. Found by dhill ok marco dhill
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-14Disable inteldrm by default since it once again breaks x40 suspend.Theo de Raadt
oga was warned; it is a minimum requirement for inteldrm to be on.
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.Jonathan Gray
ok oga@
2009-06-07We weren't including isa.h and therefore missing the NISA #define. ThisMike Larkin
caused the PIC to not be initialized on resume, which caused much badness - things attached to the ISA bus weren't getting any interupts (for example, keyboards). Also move around some of the lapic reinit code to handle some clock initialization bits we weren't doing before. Worked out by deraadt and myself. ok deraadt@
2009-06-06Update est.c, make it capable of using ACPI if the PSS is available butGordon Willem Klok
still support all different methods of getting states without e.g. (highest/lowest state), and on i386 use the tables. The only change should be the deletion of the mV from the printf at boot. ok jsg@
2009-06-06ipi_reloadcr3 uses CPUVAR, so it needs to set up %fs in order toPhilip Guenthe
work if it interrupts userspace ok kettenis@ "you haven't committed that yet?" art@
2009-06-06Disable interrupts durring the lock step frequency/voltage change. GenericGordon Willem Klok
IPIs are handled without blocking interrupts. This solves the random lockups people have been seeing with apmd -C, thanks to marco@ for showing me how to reliably recreate this hang, and claudio@ for telling me it was also affecting his Athlon64 machine so I stopped chasing bugs in est. ok oga@, weingart@
2009-06-06add an interface to agp to create a bus_dma_tag over a range of theOwain Ainsworth
aperture, which will take your memory, bind it to agp, and return you the aperture address. It's essentially the same as iommu on amd64 in the way it works. This will be used by the upcoming (works but is slow and will not be enabled at first) drm memory management code for intel igp chipsets. Right now the sync function for intagp is really slow (doing a wbinvd() on every sync), this is in the process of getting fixed, but the size of the diffs in my trees was getting silly.
2009-06-06It might be a good idea to commit all the diff. *sigh*.Owain Ainsworth
now this builds
2009-06-06add sg_dma.c on i386, soon to be used.Owain Ainsworth
2009-06-06option X86EMU is how this subsystem is brought into a kernelTheo de Raadt
2009-06-06fix include pathsTheo de Raadt
2009-06-06Add vga bios repost support. Fetched from the NetBSD tree mostly.Paul Irofti
Tested on multiple i386 and it works, amd64 works also with a few exceptions that will get fixed. The initial effort of importing was done by oga@, thanks! Lots of testing and debugging by mlarkin@ and me. Okay deraadt@, oga@, mlarkin@.
2009-06-06Fix some lapic, interrupt, and clock issues on i386 ACPI S3 resume.Mike Larkin
(Allows time to flow forward after resume) ok pirofti@
2009-06-04Change i386 ACPI sleep to KASSERT if the pmap can't be activatedMike Larkin
properly. Now i386 and amd64 implementations match. ok art
2009-06-03add kern.bufcachepercent sysctl to allow adjusting the buffer cacheBob Beck
size on a running system. ok art@, oga@
2009-06-03Make sure we're running on the right pmap when going to sleep.Artur Grabowski
2009-06-03Arla client rename from xfs to nnpfs for later upgrades. Tested on various ↵Janne Johansson
arches. ok todd@ beck@
2009-06-03Import acpi power resource driver. This is needed for suspend/resume logic.Paul Irofti
Okay jordan@ and marco@.
2009-06-03droppmap is only necessary (and declared) on MULTIPROCESSORArtur Grabowski
2009-06-03Just like on amd64. Instead of keeping a bitmap of which cpus a pmapArtur Grabowski
is active on, save a curpmap pointer in cpu_info. This lets us simplify a few things and do lazy context switching from a user process to a kernel thread. There's a new IPI introduced for forcing a cr3 reload when we're tearing down a dead pmap. kettenis@ ok (after I polished a few minor things)
2009-06-03Nuke CYRIX_CACHE (and related defines). They've not been used in a longTobias Weingartner
time. Beginning of refactoring cpu identification. ok kettenis@