summaryrefslogtreecommitdiff
path: root/sys/arch/sh
AgeCommit message (Collapse)Author
2012-09-11Remove the 'OLF method' used for the transition from a.out to ELF andTheo de Raadt
for all the compat layers which are now gone. Linux compat still works because it always used another method in any case, and nothing looks at p_os anymore. ok jsing
2012-09-08Switch landisk to timecounters. Adapted from NetBSD.Miod Vallat
2012-08-22Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure ccPascal Stumpf
invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@
2012-08-07Move the common bits of syscall invocation and return handling intoPhilip Guenthe
an MI file, <sys/syscall_mi.h>, correcting inconsistencies and the handling when copyin() of arguments fails. Tested on i386, amd64, sparc64, and alpha (thanks naddy@) Any issues with other platforms will be fixed in tree. header name from millert@; ok miod@
2012-06-26create new machine/_float.h which is namespace clean. create a newTheo de Raadt
MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
2012-04-27Remove reg.h inclusion.Paul Irofti
Missed by miod@ in his previous commit. Now groff should build. Okay miod@.
2012-04-13Avoid horrible namespace pollution of <machine/signal.h> pulling inMiod Vallat
<machine/reg.h> for the needs of struct sigcontext; said struct ought to only use simple integer types. Fixes build of groff on landisk. ok pirofti@ (who had a similar diff)
2012-04-11The first ktrace record for a newly spawned thread is a returnMike Belopuhov
from a fork syscall done by the parent. Use __tfork, not rfork here to match the ktrace records for the parent (CALL __tfork, RET __tfork). ok guenther
2011-11-21only pull reg.h in when __BSD_VISIBLE || __XPG_VISIBLE >= 420, asTheo de Raadt
on m88k, which is another architecture with structs visible inside sigcontext. for pirofti ok miod guenther
2011-11-16Make userret() MI. On architectures which jammed stuff into it in theTheo de Raadt
past, pull that code out seperately. ok guenther miod
2011-11-15label_t is the kernel setjmp buffer. It should simply be an array ofTheo de Raadt
the right type, noone will ever fiddle with the internals. discussed with jsing
2011-10-27Specify the TLS variant for each platform.Philip Guenthe
2011-09-08Provide namespace-safe alignment macros in <machine/_types.h>, withPhilip Guenthe
compat names kept in <machine/param.h>. In <sys/socket.h>, pull in <sys/_types.h> instead of the namespace polluting <machine/param.h> and completely eliminate __CMSG_ALIGN, replaced by _ALIGN ok deraadt@
2011-09-08Make the INT_FAST*_{MIN,MAX} macros match the types they're defined to.Philip Guenthe
Since the underlying types of the int_fast types are set by machine/_types.h, put internal macros in that same file and define the exposed INT_FAST*_{MIN,MAX} macros from those. ok millert@, kettenis@
2011-08-29Only provide FLT_EVAL_METHOD for C99. Add missing DECIMAL_DIG for C99.Mark Kettenis
ok guenther@
2011-08-09In pmap_create(), check uvm_pagealloc() return value and uvm_wait() until itMiod Vallat
is non-NULL. Prevents a panic caused by a NULL dereference when physical memory is exhausted at pmap_create() time. ok kettenis@, deraadt@
2011-07-19we need to alias __movstr* as __movmem* for gcc4Jonathan Gray
from NetBSD. ok miod@ drahn@
2011-07-05Recommit the reverted sigacts change now that the NFS use-after-freePhilip Guenthe
problem has been tracked down. This fixes the sharing of the signal handling state: shared bits go in sigacts, per-rthread bits goes in struct proc. ok deraadt@
2011-06-05Move the bufcachepercent setting code to MI locations -- set it to 42%Theo de Raadt
for now; that is unlikely to hit some of the remaining starvation bugs. Repair the bufpages calculation too; i386 was doing it ahead of time (incorrectly) and then re-calculating it. ok thib
2011-05-25Also enclose variable names with external linkage in __BEGIN_DECLS.Martynas Venckus
Doesn't matter much since C++ ABI used by GCC doesn't mangle variable names; however technically is required by Section 7.5 of the C++ spec. Discussed with/OK guenther@, matthew@.
2011-04-30Use cons_decl() instead of rolling our own cn* prototypesMiod Vallat
2011-04-28Expose pmap_prefer parameters.Ariane van der Steldt
This enables future uvm_map code to make intelligent decisions. Code is not called at the moment.
2011-04-28fenv improvements and cleanupsMartynas Venckus
2011-04-24Denormalization exception isn't supported on sh4, and setting bit 7Martynas Venckus
would enable inexact trap instead of setting the sticky bit. OK miod@.
2011-04-24fenv for shMartynas Venckus
2011-04-21Revert the ``remove the `skip splraise/splx for IPL_NONE mutexes' optimization''Miod Vallat
change. It seems to have unexpected side effects, especially on MP systems, and drahn@ disagrees with the way this change has been done and think there is a better way to solve the original problem of msleep() fiddling with mutex internals.
2011-04-18Revert the sigacts diff: NFS can apparently retain pointers to processesPhilip Guenthe
until they're zombies and then send them signals (for intr mounts). Until that is untangled, the sigacts change is unsafe. sthen@ was the victim for this one
2011-04-15Correct the sharing of the signal handling state: stuff that shouldPhilip Guenthe
be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves to struct sigacts, wihle stuff that should be per rthread (ps_oldmask, SAS_OLDMASK, ps_sigstk) moves to struct proc. Treat the coredumping state bits (ps_sig, ps_code, ps_type, ps_sigval) as per-rthread until our locking around coredumping is better. Oh, and remove the old SunOS-compat ps_usertramp member. "I like the sound of this" tedu@
2011-04-07Make sure the ALIGN() macro uses u_long on all platforms for consistency, andMiod Vallat
update the comment block accordingly.
2011-04-03Remove the `skip splraise/splx for IPL_NONE mutexes' optimizations. It is notMiod Vallat
always gaining anything, and msleep() implementation depends upon mtx_leave() invoking splx().
2011-04-03Move PPWAIT flag from struct proc to process, so that rthreads inPhilip Guenthe
a vforked child behave correctly. Have the parent in a vfork() wait on a (different) flag in *its* process instead of the child to prevent a possible use-after-free. When ktracing the child return from a fork, call it rfork if an rthread was created. ok blambert@
2011-03-23Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.Paul Irofti
Discussed and okay drahn@. Okay deraadt@.
2011-03-12Add missing __statement modifiers in various endian.h files and correctPhilip Guenthe
%1 to %0 in the i386 asm. asm correction ok drahn@
2011-03-11Use _MACHINE_ENDIAN_H_ for this is The Right Thing To Do.Paul Irofti
Okay guenther@, millert@.
2011-03-02Change va_arg and va_end definitions from object-like macros toMatthew Dempsky
function-like macros. Allows (questionable but legal) use of "va_arg" as a local variable name in code that includes <stdarg.h>. "seems right" deraadt@
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
2010-12-21Convert netisr to a normal soft interrupt instead of hanving MD codeClaudio Jeker
for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
2010-12-15oops, i forgot to check in the BRKSIZ define in uvm, but deraadt thinksTed Unangst
its better as a per arch MD define anyway. all default to MAXDSIZ as before.
2010-12-14"Implement fast path TLB miss handling. Walk the page table withoutJasper Lievisse Adriaanse
creating a trapframe, with exceptions disabled and using only BANK1 registers. If a valid pte is found, load it and return. Otherwise create a trapframe and proceed to the full-blown C handler." from uwe@netbsd, ok miod@ speed-ups measured by miod@ and me were between 44% and 50%...
2010-12-06Change the signature of PMAP_PREFER from void PMAP_PREFER(..., vaddr_t *) toMiod Vallat
vaddr_t PMAP_PREFER(..., vaddr_t). This allows better compiler optimization when the function is inlined, and avoids accessing memory on architectures when we can pass function arguments in registers.
2010-12-04Introduce a new pci routine, pci_conf_size(), which returns the size of aMiod Vallat
given pcitag_t configuration address space. Currently, all pci controllers will return the usual 0x100 bytes of PCI configuration space, but this will eventually change on PCIe-capable controlers. ok kettenis@
2010-11-27Remove ddb single-step load and store counters. Most platforms do notMiod Vallat
implement them, and they are of questionable usefulness.
2010-11-20This is a first step towards getting rid of avail_start and avail_end in theMiod Vallat
kernel, currently limited to low-hanging fruit: these variables were used by bus_dma to specify the range in which to allocate memory, back when uvm_pglistalloc() was stupid and would not walk the vm_physseg[]. Nowadays, except on some platforms for early initialization, these variables are not used, or do not need to be global variables. Therefore: - remove `extern' declarations of avail_start and avail_end (or close cousins, such as arm physical_start and physical_end) from files which no longer need to use them. - make them local variables whenever possible. - remove them when they are assigned to but no longer used.
2010-11-18Declare pmap_proc_iflush() in <uvm/uvm_pmap.h> unless <machine/pmap.h>Miod Vallat
provides an inline version of it.
2010-09-28Implement a per-cpu held mutex counter if DIAGNOSTIC on all non-x86 platforms,Miod Vallat
to complete matthew@'s commit of a few days ago, and drop __HAVE_CPU_MUTEX_LEVEL define. With help from, and ok deraadt@.
2010-09-20Get rid of evcount's support for arranging counters in a treeMatthew Dempsky
hierarchy. Everything attached to a single root node anyway, so at best we had a bush. "i think it is good" deraadt@
2010-09-06move away from using /**/ to ## for cpp paste in sh locoreJonathan Gray
so we can drop -traditional-cpp ok miod@
2010-08-07No "\n" needed at the end of panic() strings.Kenneth R Westerback
Bogus chunks pointed out by matthew@ and miod@. No cookies for marco@ and jasper@. ok deraadt@ miod@ matthew@ jasper@ macro@
2010-07-02Move common code for waking up writers on a tty into a function.Nicholas Marriott
ok deraadt matthew millert
2010-07-01- don't do curupte checks if the current miss address is user spaceJasper Lievisse Adriaanse
from netbsd ok miod@