summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2014-10-05Skip unnecessary processing in interrupt handler.Kenji Aoyama
2 spc(4/luna88k)'s share the same level 3 interrupt on LUNA-88K2. So returns earlier when the device is not the source of interrupt. NetBSD has the same code. http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/ic/mb89352.c#rev1.34 "it is the right thing to do" miod@
2014-10-05pass size to free.David Gwynne
2014-10-05dont need to cast pointers to/from void *David Gwynne
no binary change
2014-10-05ansify function definitions.David Gwynne
no binary change.
2014-10-05Use CPU_IS_PRIMARY macro. No functional change.Kenji Aoyama
2014-10-04Switch the kernel configs over to using -Wframe-larger-than= instead ofBrad Smith
-Wstack-larger-than-. This is what modern GCC supports as well as LLVM. ok miod@
2014-10-04Skip 'hardware lied' interrupts, as same as CMU Mach do.Kenji Aoyama
Also add more comments on *int_mask_reg[CPU], delete possibly unnecessary flush_pipeline(). Additional suggestion and ok miod@
2014-10-03Delete long-time unused #if 0 part.Kenji Aoyama
2014-10-02Pass the right bus_dmatag_t to the children.Miod Vallat
2014-10-01Fix some incorrect format specifiers in a debug printf.Mike Larkin
Reported to tech@ by THEvoid at openmailbox dot org ok doug@
2014-10-01Move some hibernate #defines to pte.h and eliminate some duplicate definesMike Larkin
from hibernate code that were already defined in pte.h (with different names). No functional change. ok sf@, deraadt@
2014-10-01all ramdisks should use SMALL_KERNEL and NO_PROPOLICE. basically, allTheo de Raadt
RAMDISK kernels have reduced functionality compared to GENERIC. which kind of sucks but so it is. At least if we are going to reduce functionality, reduce it in the same way on all architectures, because that makes our debugging burden less (the margin is too narrow for me to prove this)
2014-10-01More optimization on LUNA frame buffer.Kenji Aoyama
This is straightforward port of Izumi Tsutsui's work on NetBSD/luna68k: http://mail-index.netbsd.org/source-changes/2014/09/28/msg058972.html >> Put dumb optimizations to avoid conditionals in putchar drawing loops. This makes 4bpp wscons putchar ~8% faster on luna88k. ok miod@
2014-09-30Add the QLogic SCSI/FC drivers.Brad Smith
ok miod@
2014-09-30implement atomic operations using ll/sc, and convert rw_cas and callers of theJonathan Matthew
pre-existing atomics to match. tested on sgi (octane) and octeon (erl) ok miod@ dlg@
2014-09-30implement the atomic_shizz(9) bits.David Gwynne
sparc lacks cool opcodes, but is only uniprocessor, so these are done with simple critical sections. tested by miod@ bcook@ ok miod@
2014-09-30Increase text segment size on Arm to 32MBTobias Ulmer
ok deraadt@ miod@
2014-09-29The interrupt handler should now be mpsafe.Mark Kettenis
2014-09-29Add locking for our private descriptor message queue.Mark Kettenis
2014-09-29Add transmit queue locking.Mark Kettenis
2014-09-29Use raster(logic) operation, or ROP, function on LUNA frame buffer.Kenji Aoyama
It makes 4bpp wscons putchar ~20% faster. ok @miod
2014-09-29Add support for using block devices in addition to files.Mark Kettenis
Tested by jasper@.
2014-09-28Properly serialize closing our vnode. Fixes the occasional panic duringMark Kettenis
reboot or when restaring ldomd(8).
2014-09-27Move clock_reg[] definition.Kenji Aoyama
clock_reg[] is only used in clock.c, so move its definition from machdep.c to clock.c. ok miod@
2014-09-27retire Accoom Networks Artery T1/E1 drive; ok claudioTheo de Raadt
2014-09-27Removed an ununsed macroMike Larkin
ok tedu@, deraadt@
2014-09-27typo in a printfMike Larkin
ok claudio@
2014-09-27Change spaces to tab. No binary change.Kenji Aoyama
2014-09-26remove the last uses of -Wno-formatJonathan Gray
ok miod@ deraadt@ jsing@
2014-09-26Use correct format specifiers in various loongson machine dependent code.Joel Sing
Makes a loongson kernel buildable without -Wno-format. ok miod@ jsg@
2014-09-26ansify; ok kettenis@Stefan Sperling
2014-09-24remove some stuff to make this fitTheo de Raadt
2014-09-24jmatthew@ found another case of me getting the number of args wrongDavid Gwynne
to an atomic_swap_ptr.
2014-09-24jmatthew@ points out atomic_swap_foo takes two arguments, not three.David Gwynne
2014-09-24implement atomic_{cas,swap}_{uint,long,ptr) and atomic_{add,sub}_{int,long}David Gwynne
fixes from and ok miod@
2014-09-24Replace a few malloc() calls with reallocarray() so it checks for overflow.Doug Hogan
ok deraadt@
2014-09-23Fix constraint.Brad Smith
We need a register here, and not a generic memory reference. We get lucky with GCC that it chooses a register for "p", but we can't blame clang for choosing a memory reference if we allow it to do so. Pointed out by LLVM. time.c:80:17: error: unexpected token in memory operand ok kettenis@
2014-09-22implement atomic_{cas,swap}_{uint,ulong,ptr} andDavid Gwynne
atomic_{add,sub}_{int,long}_nv. sys/atomic.h turns these into the rest of the atomic api. on uniprocessor hppa systems "atomic" operations are implemented as a non-interruptable sequence by disabling all interrupts on the cpu, doing the operation, and then restoring the interrupt mask. this isnt enough on MP systems, so we added a global atomic memory mutex that is taken inside the interrupt disabling above to coordinate operations between cpus. this is a lot of overhead though cos mutexes dance around with ipls, which is unecessary in our case because of the interrupt disabling that is already done. also, hppa spinlocks are implemented with ldcw which requires the word it operates on to be 16 byte aligned. mutexes arent guaranteed to have this alignment so they compensate by having lots of words inside themselves so they can hit the appropriate one to use for the ldcw op. with this in mind, this change pulls __cpu_simple_locks, which are simply ldcw spinlocks with a 16 byte aligned word, out of src/sys/arch/hppa/include/lock.h into src/sys/arch/hppa/include/atomic.h so atomic.h can use them. lock.h includes atomic.h, so it still gets and provides the same functionality as before. finally, this also pulls the rwlock cas implementation apart. cas ops now share the same serialising lock on MP systems as the other memory operations, and rw_cas is defined as a wrapper around atomic_cas_uint. ok kettenis@
2014-09-22Enable power saving modes for IBM PowerPC 970 CPUs.Martin Pieuchot
ok miod@
2014-09-22Drop the kernel lock when copying data to/from the other domain duringMark Kettenis
read/write operations.
2014-09-22Add missing format specifier.Brad Smith
Pointed out by LLVM. db_disasm.c:1018:13: error: format string is not a string literal (potentially insecure) ok miod@
2014-09-21Reset fault status registers to zero after reading them, even in the 2:1Miod Vallat
CMMU-to-CPU ratio case. This is necessary at least on the AV530 family.
2014-09-21Don't check LAPIC_DLSTAT_BUSY again after an IPIStefan Fritsch
Depending on DIAGNOSTICS, i82489_icr_wait() will either spin or panic in this case. Therefore there is no need to check the flag again. On virtualization, this saves one VMEXIT per IPI. ok kettenis@
2014-09-21Don't request an ACK from the server if we're polling.Mark Kettenis
2014-09-21Decouple polled commands from the interrupt handler.Mark Kettenis
2014-09-20On i386, agp_map_subregion might sleep, which is not allowed in some ofMark Kettenis
the inteldrm code. Fix this by adding new interfaces that can map a single page without sleeping and use that in the execbuffer fast path that needs this "atomic" behaviour. Should fix the panic I've seen under memory pressure on i386.
2014-09-20Use config_suspend_all(9).Mark Kettenis
ok mpi@, uebayasi@, dlg@
2014-09-19Use config_suspend_all(9).Mark Kettenis
2014-09-19Use config_suspend_all(9).Mark Kettenis
2014-09-19Use config_suspend_all(9).Mark Kettenis