summaryrefslogtreecommitdiff
path: root/sys/arch/mips/include
AgeCommit message (Collapse)Author
2004-01-04Rearrange process exit path to avoid need to free resources from differentjdolecek
process context ('reaper'). From within the exiting process context: * deactivate pmap and free vmspace while we can still block * introduce MD cpu_lwp_free() - this cleans all MD-specific context (such as FPU state), and is the last potentially blocking operation; all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free() * process is now immediatelly marked as zombie and made available for pickup by parent; the remaining last lwp continues the exit as fully detached * MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same for both 'process' and 'lwp' exit uvm_lwp_exit() is modified to never block; the u-area memory is now always just linked to the list of available u-areas. Introduce (blocking) uvm_uarea_drain(), which is called to release the excessive u-area memory; this is called by parent within wait4(), or by pagedaemon on memory shortage. uvm_uarea_free() is now private function within uvm_glue.c. MD process/lwp exit code now always calls lwp_exit2() immediatelly after switching away from the exiting lwp. g/c now unneeded routines and variables, including the reaper kernel thread
2003-11-26Hide the register number constants behind an _R_ prefix, and alsohe
rename FPBASE to _FPBASE, so that we avoid polluting the user's name space when e.g. <sys/ptrace.h> is included. Previously, the PC symbol in mips/regnum.h would conflict with the declaration of the external variable by the same name in termcap.h, as discovered by the ``okheaders'' regression test.
2003-11-25bye, bye _MCONTEXT_TO_SIGCONTEXT and vice versa.christos
2003-11-01cache_r10k.c rev. 1.1 is broken. Because,shin
1) R10k uses VA0 to select cache ways, but in rev. 1.1, VA14 is used instead. 2) R10k does not support HitWriteBack and should map HitWriteBack to HitWriteBackInvalidate, but in rev. 1.1, HitWriteBack is not handled properly. So, cache_r10k.c rev. 1.1 was replaced by new implementation.
2003-10-31Reduce code duplication by adding mi_userret() in sys/userret.hcl
containing signal posting, kernel-exit handling and sa_upcall processing. XXX the pc532, sparc, sparc64 and vax ports should have their XXX userret() code rearranged to use this.
2003-10-31don't need ELF_INTER_NON_RELOCATABLE anymore if no COMPAT_16, from simonbdrochner
2003-10-29Add some more MTI CPU ids.simonb
2003-10-29first pass siginfo for mipschristos
2003-10-29Add some more MIPS vendor IDs.simonb
2003-10-26Use <sys/ieee754.h> where applicable.kleink
2003-10-25Update for GCC3 (basically, use the __builtin_va_* implementation).mycroft
2003-10-15One defintion of OP_SYNC should be enough.simonb
2003-10-08Add some accessor macros for the ucontext:thorpej
* _UC_MACHINE_PC() - access the program counter * _UC_MACHINE_INTRV() - access the integer return value register * _UC_MACHINE_SET_PC() - set the program counter (this requires special handling on some platforms).
2003-10-05No need to include opt_mips_cache.h here.tsutsui
2003-10-05Add R10000 cache ops, written by KIYOHARA Takashi and posted on port-sgimips.tsutsui
Enabled by options ENABLE_MIPS4_CACHE_R10K for now.
2003-10-01Quieten down lint a little with a /* LONGLONG */ comment.simonb
2003-09-28- Add MIPS_KSEG2_TO_PHYS() and MIPS_PHYS_TO_KSEG2() macro.tsutsui
- Add definitions of the MIPS4 config register. From Christopher SEKIYA.
2003-09-28Add another R4000 CPU revision ID. From Christopher SEKIYA.tsutsui
2003-09-26Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.hnathanw
so that they can be used in a namespace-friendly way.
2003-09-11__{BEGIN,END}_DECLS-wrap prototypes.kleink
2003-08-27introduce an additional switch to enable building GCC3 instead of GCC2:mrg
HAVE_GCC3. if this is set, we also set USE_TOOLS_TOOLCHAIN=no. change the definition of the former to be restricted to whether tools/toolchain is used or not.
2003-08-07Move UCB-licensed code from 4-clause to 3-clause licence.agc
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-07-26don't need -mno-half-pic with gcc3mrg
2003-06-27Add STATIC_LEAF and STATIC_XLEAF macros, ala the alpha port.simonb
2003-06-10Change MIPS3_SR_FR_32 to MIPS3_SR_FR. Both the old R4000 manual and thesimonb
current MIPS64 manuals don't use the "32" in the bit name.
2003-06-09Remove definitions and usage of MIPS_COP_0_STATUS_REG andsimonb
MIPS_COP_0_CAUSE_REG - use MIPS_COP_0_STATUS and MIPS_COP_0_CAUSE instead.
2003-05-30#define<tab>simonb
2003-05-25Prepare common routines for MIPS generic software interrupt.tsutsui
2003-05-12Rename <sys/float_ieee.h> to <sys/float_ieee754.h>, following libc'skleink
convention for these.
2003-05-09A few ISA sound drivers like to share dma channels, and hence deferredfvdl
isa_dmamap_create() calls to their open/close entrypoints. This worked with some luck, but broke on i386 when _bus_dmamap_create started to allocate bounce buffers upfront, since memory below 16M may well not be available when the sound devices is opened for the Nth time. To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free, wrappers around already existing bitmask macros. These are expected to be used before an isa_dmamap_create call, and after an isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers, they're deferred until open/close. All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done at attach time.
2003-04-29Add a BKPT_ADDR() macro which gives MD code a chance to munge ascw
breakpoint address before it's used. Currently a no-op on all but sh5. This is useful on sh5, for example, to mask off the instruction type encoding in the bottom two address bits, and makes it possible to do "db> break $rXX" instead of manually munging the address.
2003-04-28Add a new feature-test macro, _NETBSD_SOURCE. If this is definedbjh21
by the application, all NetBSD interfaces are made visible, even if some other feature-test macro (like _POSIX_C_SOURCE) is defined. <sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE, _POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve existing behaviour. This has two major advantages: + Programs that require non-POSIX facilities but define _POSIX_C_SOURCE can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS. + It makes most of the #ifs simpler, in that they're all now ORs of the various macros, rather than having checks for (!defined(_ANSI_SOURCE) || !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place. I've tried not to change the semantics of the headers in any case where _NETBSD_SOURCE wasn't defined, but there were some places where the current semantics were clearly mad, and retaining them was harder than correcting them. In particular, I've mostly normalised things so that _ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE, _XOPEN_SOURCE and _NETBSD_SOURCE in that order. Tested by building for vax, encouraged by thorpej, and uncontested in tech-userlevel for a week.
2003-04-19PR/3012: Greg A. Woods: Write all float.h files [except the vax of course]christos
in terms of float_ieee.h
2003-04-09Cast the arg to MIPS_KSEG0_TO_PHYS() in POOL_VTOPHYS() (thanks, nathan!).thorpej
2003-04-09Add the ability for pool caches to cache the physical address ofthorpej
objects. Clients of the pool_cache API must consistently use the "paddr" variants or not, otherwise behavior is undefined. Enable this on Alpha, ARM, MIPS, and x86. Other platforms must define POOL_VTOPHYS() in the appropriate manner in order to enable the feature. Part 1 of a series of simple patches contributed by Wasabi Systems to improve network performance.
2003-04-02Use PAGE_SIZE rather than NBPG.thorpej
2003-03-08Add support for R5k secondary caches, from code Chris Sekiya sent me a longrafal
time ago, with small tweaks by me. Since the R5k doesn't do VCE, the pmap still needs to be whacked for R5kSC CPUs to work correctly, but this is a start.
2003-03-02add some ISO C 1995 I18N functions and types:tshiozak
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-02-17No need to protect headers with #ifdef _KERNEL if they're never installedsimonb
in /usr/include.
2003-02-07Update to consistently use Broadcom GPL-compatible license on all SiByte code.cgd
2003-02-05Replace machine/rnd.h with more appropriate name to share itnakayama
with cycle counter based microtime in kern/kern_microtime.c.
2003-01-28Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.kent
2003-01-22LWP'ify the svr4_mcontext stuff.rafal
2003-01-20Fix typo in sigcontext conversion macros. From Christopher SEKIYA.thorpej
2003-01-18Add '#define' for _MCONTEXT_TO_SIGCONTEXT().tsutsui
2003-01-17Merge the nathanw_sa branch.thorpej
2003-01-10Add the MIPS3_CONFIG_SE (name taken from Rm52xx manual) bit, which is therafal
external cache enable bit -- this allows software to enable or disable the (external) L2 cache on the R5k and Rm527x and the (external) L3 cache on the Rm7k. If the (external) cache is disabled, treat it as if there were no cache for the purposes of the cache setup code. Also, update sgimips code to use the new name.
2002-12-17Add support for caches where the data cache is fully coherent, andsimonb
either requires flushing either only when the I cache ops are used or not at all. Currently only used by MIPS32/MIPS64 cache code.
2002-12-10Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is.thorpej
2002-12-10Use __LDPGSZ (which must be == USRTEXT) as the text address for a.outthorpej
executables, and eliminate the USRTEXT constant, which was only used by the a.out exec code.