summaryrefslogtreecommitdiff
path: root/sys/arch/m88k
AgeCommit message (Collapse)Author
2016-08-01bring the light of ansi to a few more filesTed Unangst
2016-06-21Add sc_cookie in sigcontext, as same as other ports.Kenji Aoyama
From Miod Vallat, tested by him and me. ok deraadt@
2016-06-13rename raiseipl to splraise()David Gwynne
another step toward making splraise an MI api. ok aoyama@
2016-06-07consistently set ipls on pmap pools.David Gwynne
this is a step toward making ipls unconditionaly on pools. ok deraadt@ kettenis@
2016-05-27Remove the non ELF macrosTheo de Raadt
ok millert
2016-05-21hand-massage sendsig() and sys_sigreturn() to be much more similar.Theo de Raadt
ok guenther kettenis
2016-05-10SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookieTheo de Raadt
inside the sigcontext. sigreturn(2) checks syscall entry was from the exact PC addr in the (per-process ASLR) sigtramp, verifies the cookie, and clears it to prevent sigcontext reuse. not yet tested on landisk, sparc, *88k, socppc. ok kettenis
2016-04-27G/C DDB_REGS.Martin Pieuchot
2016-03-19Reduces the noise around the global ``ticks'' variable by renamingMartin Pieuchot
all the local ones to ``nticks''. ok stefan@, deraadt@
2016-03-09Convert DDB_REGS -> &ddb_regs, inputs and ok naddy@Martin Pieuchot
Put addresses instead of registers inside db_regs[] to match what other archs do and to get rid of db_setf_regs().
2016-03-01DB_SYM_NULL -> NULL.Martin Pieuchot
2015-11-01Remove the definition of USRTEXT. It has no relevance outside of the non-PIEMiod Vallat
a.out world. ok deraadt@ kettenis@
2015-10-05user land -> userland; from Rob PierceTheo de Raadt
2015-09-26lint is dead and C99 may be old enough to drive a car: delete LONGLONGPhilip Guenther
comments ok millert@
2015-09-13<sys/systm.h> must be before <sys/syscall_mi.h> now.Miod Vallat
2015-09-08Give the pool page allocator backends more sensible names. We now have:Mark Kettenis
* pool_allocator_single: single page allocator, always interrupt safe * pool_allocator_multi: multi-page allocator, interrupt safe * pool_allocator_multi_ni: multi-page allocator, not interrupt-safe ok deraadt@, dlg@
2015-08-29_NLIST_DO_ELF is no longer needed: it's the only optionPhilip Guenther
ok deraadt@
2015-07-29Acquire the kernel lock in pmap_remove(). The reasons for this can't beMiod Vallat
stated here as I have been asked to be polite in this commit message. ok deraadt@
2015-07-25Only store mod/ref flags in the vm_page_md struct, not in every pv_entry.Miod Vallat
2015-07-17remove obsolete INET kernel optionTed Unangst
2015-07-03Rename mtx_cpu to mtx_owner for consistency with the other platforms.Miod Vallat
2015-07-03Fix cast in atomic_swap_ptr()Miod Vallat
2015-07-02copy MUTEX_ASSERT_LOCKED and MUTEX_ASSERT_UNLOCKED from alpha.David Gwynne
the previous asserts checked if the mutex was locked by any cpu or not when they should have been checking if the current cpu has the lock or not. found by miod after i enabled pool_gc again. ok miod@
2015-07-02introduce srp, which according to the manpage i wrote is short forDavid Gwynne
"shared reference pointers". srp allows concurrent access to a data structure by multiple cpus while avoiding interlocking cpu opcodes. it manages its own reference counts and the garbage collection of those data structure to avoid use after frees. internally srp is a twisted version of hazard pointers, which are a relative of RCU. jmatthew wrote the bulk of a hazard pointer implementation and changed bpf to use it to allow mpsafe access to bpfilters. however, at s2k15 we were trying to apply it to other data structures but the memory overhead of every hazard pointer would have blown out significantly in several uses cases. a bulk of our time at s2k15 was spent reworking hazard pointers into srp. this diff adds the srp api and adds the necessary metadata to struct cpuinfo on our MP architectures. srp on uniprocessor platforms has alternate code that is optimised because it knows there'll be no concurrent access to data by multiple cpus. srp is made available to the system via param.h, so it should be available everywhere in the kernel. the docs likely need improvement cos im too close to the implementation. ok mpi@
2015-05-05emul_native is only used for kernel threads which can't dump core, soPhilip Guenther
delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump, and various #includes that are superfluous. This leaves compat_linux processes without a coredump callback. If that ability is desired, someone should update it to use coredump_elf32() and verify the results... ok kettenis@
2015-04-30Remove SIZE_MAX from limits.h. It was added years ago before weTodd C. Miller
had a proper stdint.h. No ports fallout. OK guenther@ miod@
2015-03-06Unbreak IPL_TTY == IPL_SOFTTTY case. ok deraadt@Miod Vallat
2015-03-03Add pcic(4) support on luna88k.Kenji Aoyama
This is basically glue codes attaching pcic(4) at cbus(4/luna88k), based on src/sys/dev/isa/i82365_isa{,subr}.c. Tested on some ne(4) network interface cards, wdc(4) with a CF memory card, and com(4) with an old XJACK modem card. Currently wi(4) does not work yet. suggestions and ok miod@
2015-02-15Change pmap_remove_holes() to take a vmspace instead of a map as its argument.Miod Vallat
Use this on vax to correctly pick the end of the stack area now that the stackgap adjustment code will no longer guarantee it is a fixed location.
2015-02-11no md code wants lockmgr locks, so no md code needs to include sys/lock.hDavid Gwynne
with and ok miod@
2015-02-11make the rwlock implementation MI.David Gwynne
each arch used to have to provide an rw_cas operation, but now we have the rwlock code build its own version. on smp machines it uses atomic_cas_ulong. on uniproc machines it avoids interlocked instructions by using straight loads and stores. this is safe because rwlocks are only used from process context and processes are currently not preemptible in our kernel. so alpha/ppc/etc might get a benefit. ok miod@ kettenis@ deraadt@
2015-02-10Convert to uiomove().Miod Vallat
ok guenther@
2015-02-10First step towards making uiomove() take a size_t size argument:Miod Vallat
- rename uiomove() to uiomovei() and update all its users. - introduce uiomove(), which is similar to uiomovei() but with a size_t. - rewrite uiomovei() as an uiomove() wrapper. ok kettenis@
2015-02-10Enable `va < VM_MIN_ADDRESS' check now that VM_MIN_ADDRESS is nonzero.Miod Vallat
2015-02-10increase min address to page size for all remaining min == 0 systems.Ted Unangst
not necessary, but consistent with other platforms. ok deraadt
2015-02-09Do not even try to call uvm_grow() from sendsig. It will be invokedMiod Vallat
automagically if copyout() of the signal frame faults.
2014-12-24Pass real sizes to free().Miod Vallat
2014-11-16Replace a plethora of historical protection options with justTheo de Raadt
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h. PROT_MASK is introduced as the one true way of extracting those bits. Remove UVM_ADV_* wrapper, using the standard names. ok doug guenther kettenis
2014-10-09revert unintentional commit unrelated to LKMTed Unangst
2014-10-09remove LKM devicesTed Unangst
2014-08-21Kill the remaining <netinet/in_systm.h> inclusion!Martin Pieuchot
2014-07-18pass atomic_{cas,swap}_uint a volatile void * instead of a volatileDavid Gwynne
void **. the latter is really hard to cast for, and not what what solaris does. ok kettenis@
2014-07-15Implement rw_cas() with atomic_cas_ulong() now, instead of a dedicatedMiod Vallat
routine.
2014-07-15Fix stupid bug in atomic_{add,sub}_int_nv_mp, and stupider bug inMiod Vallat
atomic_cas_uint_mp. Also, make the interprocessor interlock the only thing on its cache line.
2014-07-13use nitems() instead of handrolling something identicalJasper Lievisse Adriaanse
ok mpi@ sthen@
2014-07-13Add missing atomic primitives and __sync_synchronize to let the kernelMiod Vallat
compile again; tested by aoyama@
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2014-07-12Tackle the endian.h mess. Make it so that:Philip Guenther
* you can #include <sys/endian.h> instead of <machine/endian.h>, and ditto <endian.h> (fixes code that pulls in <sys/endian.h> first) * those will always export the symbols that POSIX specified for <endian.h>, including the new {be,le}{16,32,64}toh() set. c.f. http://austingroupbugs.net/view.php?id=162 if __BSD_VISIBLE then you also get the symbols that our <machine/endian.h> currently exports (ntohs, NTOHS, dlg's bemtoh*, etc) * when doing POSIX compiles (not __BSD_VISIBLE), then <netinet/in.h> and <arpa/inet.h> will *stop* exporting the extra symbols like BYTE_ORDER and betoh* ok deraadt@
2014-07-11CPU_BUSY_CYCLE(): A new MI statement for busy loop power reductionMasao Uebayashi
The new CPU_BUSY_CYCLE() may be put in a busy loop body so that CPU can reduce power consumption, as Linux's cpu_relax() and FreeBSD's cpu_spinwait(). To start minimally, use PAUSE on i386/amd64 and empty on others. The name is chosen following the existing cpu_idle_*() functions. Naming and API may be polished later. OK kettenis@
2014-07-08Repair compilability after the recent uvmexp changes, especially forMiod Vallat
not compile-time-known page size platforms.