summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2009-03-27When clearing soft interrupts on sun4m, be sure to force the bit clear toMiod Vallat
be acked by the hardware before continuing; this makes Ross systems stable when using hme; from NetBSD.
2009-03-27convert iopiic lockmgr to rwlock.Owain Ainsworth
ok drahn@, sthen@ tested.
2009-03-27convert arm apm lock to rwlock.Owain Ainsworth
ok drahn@, todd@ tested.
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-25Nuke old useless define. Miod was ok with the idea.Tobias Weingartner
2009-03-25Deinline softintr_schedule(). Also fix softintr priorities I got inverted afterMiod Vallat
adding splsoftassert().
2009-03-25Deinline softintr_schedule().Miod Vallat
2009-03-24link otus(4) to the build on i386 and amd64.Damien Bergamini
2009-03-24give up on pcn to make it all fit; ok miodTheo de Raadt
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-23sys/types.h before other thingsTheo de Raadt
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-21Make nvram writable (if necessary) before calling OF_setprop(). PreventsMark Kettenis
faults on machines where we map nvram write-only (through the clock chip).
2009-03-20Switch sgi to __HAVE_GENERIC_SOFT_INTERRUPTS.Miod Vallat
2009-03-20Switch vax to __HAVE_GENERIC_SOFT_INTERRUPTS.Miod Vallat
2009-03-16Trivial malloc + memset -> malloc(,,M_ZERO) conversion.Owain Ainsworth
As a small bonus this now actually zeroes the whole struct, not just the non-varying sized part.
2009-03-16pmap = (conditional ? user_way : pmap = pmap_kernel());Owain Ainsworth
doesn't need the second pmap =. "ok if you tested it" kettenis@
2009-03-15Generic softinterrupt code for m68k platforms, now copied from m88k.Miod Vallat
2009-03-15Generic softinterrupt support for m88k based platforms, adapted from armMiod Vallat
with different locking mechanism. 88110 soft ipi are replaced with an ipi callback which is checked upon return from exception (it can not be kept as a softintr, as the generic softinterrupt code doesn't have per-cpu pending softintr queues).
2009-03-15Let CPU_INFO_UNIT() be used before cpu0 attaches, and make sureMiod Vallat
CPU_INFO_FOREACH() only covers attached cpus. With drahn@, ok kettenis@
2009-03-15Now that we have splsoftassert(), make the soft ipl levels positive andMiod Vallat
remove the special casing in splassert().
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-15Include .S files in make depend.Miod Vallat
2009-03-15Allow CPU_INFO_UNIT() to be used before cpu0 attaches.Miod Vallat
2009-03-15In _bus_dmamem_alloc(), do not bother printing avail_start and avail_endMiod Vallat
in the DEBUG code, since these values aren't used there anymore.
2009-03-12Define a proper wsdisplay type for raptor(4).Mark Kettenis
ok miod@
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-09Initial stab at a driver for FFB3/XVR-1000. It seems to work fine, but withoutMark Kettenis
acceleration it is a tad bit slow, so leave this disabled for now.
2009-03-09Switch mvme88k to timecounters.Miod Vallat
2009-03-08Fix dmesg output for child devices not configured (e.g. lpt on RAMDISK).Miod Vallat
2009-03-08g/c now unused extern declaration for avail_endMartin Reindl
ok miod@
2009-03-08Move more z8536 defines from MVME188 specific code to the MI header and use it.Miod Vallat
2009-03-08Add support for Geyser2 devices from NetBSD and fix some Geyser1 devices thatRobert Nagy
can be found in iBook G4 12". Remove references for LCD panel sizes because the same device can be found on different sized laptops and it has nothing to do with the trackpad. Introduce a type variable that stores the device type: FOUNTAIN, GEYSER1 or GEYSER2. This value helps deciding some of the device parameters and it gets printed in the dmesg instead of the panel size. Introduce "mouse button emulation" on multi-touch trackpads just like in macos, so it's not needed to bind mouse buttons to the keyboard anymore: Tap two fingers + mouse button = 3rd mouse button = right click Tap three fingers + mouse button = 2nd mouse button = middle click Discussed with and ok: miod@ and maja@
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-03-07No need to register a soft interrupt for softclock, it's done in MI code.Miod Vallat
2009-03-05Change SMP secondary processor startup to have them ``hatch'' earlier,Miod Vallat
so that they can invoke sched_init_cpu() before the scheduler starts, which allows the horrible kluge in cpu_configure() to die.
2009-03-05Make ELF platforms generate ELF core dumps. Somewhat based on code fromMark Kettenis
NetBSD. ok kurt@, drahn@, miod@
2009-03-04Clean up the ipi code a bit and try to provide useful comments as well.Miod Vallat
2009-03-04Since 88110 processors can not flush individual TLB entries, instead ofMiod Vallat
flushing the whole TLB block every time a pte is modified, store a bitmask of pending flushes and do them at pmap_update() time. 88100 behaviour is unchanged.
2009-03-04Introduce atomic_clear_int() as an MD atomic operation to perform atomicMiod Vallat
exchange with zero; use it in the soft interrupt code to make it simpler and faster.
2009-03-04When handling clock interrupts, check the overflow counter to know how manyMiod Vallat
times hardclock() needs to be invoked; fixes clock drift found on 197DP with SMP kernels.
2009-03-04Fix stupid logic bug in rw_cas_m88k(), makes NFS much happier on SMP kernels.Miod Vallat
2009-03-01Support for MVME141 boards. Tested with both VME and VSB memory boardsMiod Vallat
(and MVME327 SCSI and MVME376 Ethernet, to provide a complete system).
2009-03-01Tweak pccspeed() to not report 33MHz boards as 50MHz (until better code isMiod Vallat
used there).
2009-03-01Replace a few magic constants with proper #defines as pointed out by miod@.Mark Kettenis