kleink
739cb75837
Add definitions of C99 specified-width integer type limits.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5
Add definitions of C99 integer constant macros.
...
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788
Add definitions of C99 integer constant macros.
2001-04-14 22:38:33 +00:00
kleink
7affdab52e
Add definitions of C99 minimum-width and greatest-width integer types.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
kleink
9133b51cd8
Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
...
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
simonb
5aa49b6404
Delete unused uvtopte() macro.
2001-03-23 01:27:59 +00:00
tv
e58532a4bf
No-op commit to force update to a non-"-kk" revision.
2001-01-18 17:47:58 +00:00
thorpej
9f5a22b3ee
New syscall entry implementation based on the Alpha version
...
as hacked by mycroft.
- Use syscall_intern() to give a process a plain or fancy
syscall based on ktrace flags.
- Avoid copying from the trapframe into a local array as much
as possible.
Yields roughly 5% improvement on a 25MHz R3000 (DECstation 5000/200)
on a simple syscall benchmark.
There's still some work that can be done using __HAVE_MINIMAL_EMUL.
2001-01-16 06:01:26 +00:00
thorpej
61473e63f9
Define __HAVE_AST_PERPROC.
2001-01-14 22:32:57 +00:00
thorpej
da57125f23
Now that we won't lose signotify()'s while we're asleep, go ahead
...
and to signal processing in ast() again.
2001-01-14 21:22:56 +00:00
thorpej
53d2115d66
Make the astpending flag per-process.
2001-01-14 21:18:39 +00:00
thorpej
fd0ca62926
Put signal posting back in userret() for now; for it to work
...
properly, we need to make astpending a per-process variable.
Pointed out by mycroft.
2001-01-14 00:39:48 +00:00
thorpej
1eb36d23fd
- Make ast() loop around astpending; it's possible for a new
...
AST to be posted when delivering signals, or after a process
is preempted.
- Move all signal posting to ast(). userret() is now a one-liner.
2001-01-14 00:10:28 +00:00
thorpej
fd0605fc53
Mmm, dependency problems. Add a cast to make PROC_PC() actually
...
work.
2001-01-11 21:08:18 +00:00
thorpej
e292dc9609
Move userret() into a header file, in preparation for splitting
...
syscall() into plain and fancy.
2001-01-11 18:44:29 +00:00
thorpej
f1152a965b
Modeled after mycroft's changes to the Alpha port, add PROC_PC() to
...
get profiling out of userret(), and move the preemption check to ast().
2001-01-11 18:30:16 +00:00
simonb
f514e805ed
Move prototypes for mips_user_cachectl() and mips_user_cacheflush()
...
to <mips/cachectl.h>.
2001-01-07 04:13:16 +00:00
takemura
c5fd828440
replace 'long long' with int64_t to compile stand alone program with
...
compiler other than GCC.
2001-01-03 10:08:55 +00:00
itojun
efa2b7073c
make mbstate_t bigger (32 -> 128 bytes).
...
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare). really sorry
for the mess.
2000-12-26 10:35:28 +00:00
nisimura
752dce24ae
- fix typos in mips_user_cacheflush() and mips_user_cachectl().
...
- relocate those function declarations from include/pmap.h.
2000-12-25 08:56:12 +00:00
itojun
823498203f
populate _BSD_MBSTATE_T_. add warning regarding to rune_t.
2000-12-21 06:03:47 +00:00
jeffs
1c726aab7f
For MIPS software masking option, when returning to user mode apply
...
the mask to all interrupts to catch changes in the mask state faster.
Does not affect platforms w/o this option enabled.
2000-12-14 21:29:51 +00:00
tsutsui
c8a3a939e3
space -> TAB
2000-12-11 15:38:43 +00:00
tsutsui
7212823f47
Set USPACE_ALIGN to USPACE on mips.
2000-12-11 15:37:32 +00:00
soren
a5dad0db13
Correct a few cpu/fpu ids.
2000-11-27 06:38:54 +00:00
nisimura
fdfe3556de
Use only one TLB entry to wire down process's USPACE since it's
...
now guranteed to be aligned on 8KB boundary in kernel virutal
address. Retain one more free TLB entry.
2000-11-27 06:37:32 +00:00
thorpej
cb38ab39ab
We use 4K pages on MIPS systems (see mips_param.h), so override
...
PAGE_SIZE and friends to be compile-time constants.
2000-11-14 18:55:16 +00:00
jeffs
196e858c40
Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*()
...
to allow the almost-64-bit compilation use ld/sd.
2000-10-31 23:39:24 +00:00
jeffs
11ef576801
Add mips_indexof() macro to make code for checking the cache index
...
easier to read.
2000-10-31 21:21:10 +00:00
nisimura
89e5c346a4
mips1_ConfigCache() has gone.
2000-10-09 07:33:31 +00:00
cgd
59706f1322
clean up and consistency for CP0 Count, Compare, Wired, and Config
...
access function names and prototypes.
2000-10-05 02:36:44 +00:00
cgd
b1b364243d
always have to declare cpu_arch and the related constants (since setting
...
it isn't conditionalized). (d'oh!)
2000-10-05 02:13:14 +00:00
cgd
36123017cb
nuke mips3_clearBEV(). There's really no point in coding a
...
special-purpose assembly routine for things like this.
2000-10-05 01:06:06 +00:00
cgd
3f1d3c3066
tweak cpu_arch. Eliminate all direct checks of it (making them
...
use the macro CPUISMIPS3 -- which is badly misnamed), and set it
from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
2000-10-05 00:52:59 +00:00
cgd
e9e1084ea3
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype
...
for mips_read_statusreg (which was apparently never implemented).
Provide prototypes and implementations for mips_cp0_cause_write,
mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of
course, be quite dangerous.)
2000-10-04 22:44:01 +00:00
cgd
11e8e89dd4
add some additional info re: MIPS32 PRID encoding, derived from
...
the ``MIPS32 4K Processor Core Family Software User's Manual
Revision 01.07 June 19, 2000", available on the web from:
http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
2000-10-03 23:15:58 +00:00
cgd
8dbc5c0c51
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers
...
for mips3 (and later) 'ld' and 'sd' instructions. These currently
only are properly implemented for the _MIPS_BSD_API_LP32 and
_MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you
need them, you really need them.
2000-10-02 22:13:38 +00:00
thorpej
b008f5f25a
Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
...
that the page being zero'd was not completed and that page zeroing
should be aborted. This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
2000-09-21 17:46:04 +00:00
nisimura
70a97ab16c
Introduce new MIPS1 direct mapped cache capacity detection logics.
2000-09-16 07:20:16 +00:00
chuck
9dc2f5ced0
IDT32364's Config register uses a different base for IC/DC (instruction
...
and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364
uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the
MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init
to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid
of the ugly ifdefs in cpuregs.h
2000-09-16 00:04:57 +00:00
jeffs
bdad8bae5b
Handle R4K trap faults in user mode like overflows (deliver SIGFPE). This
...
prevents a panic running crashme. Better comment for VCE define.
2000-09-15 06:50:46 +00:00
nisimura
0ba2036eee
Introduce 'segbase' global variable to hold the pointer to current
...
process's segtab, retiring 'pcb_segtab' field from 'struct pcb'.
This would be another MULTIPROCESSOR unfriendly and the necessity
might be eliminated when the way to hold PTE is redesigned.
2000-09-13 01:53:00 +00:00
chuck
0dcdf1214c
kill mips3_write_xcontext_upper
2000-09-13 01:20:41 +00:00
jeffs
f8d9f59ed9
Correct _KERN_MCOUNT restoration of $t9.
...
From Ethan Solomita (ethan@geocast.com ).
2000-08-30 22:31:12 +00:00
thorpej
4db6fc7542
Make need_resched() take a "struct cpu_info *" argument. This
...
causes gives a primitive form of processor affinity. Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
uch
2111496e74
Rewrote TX39 series cache routines.
2000-08-24 05:31:59 +00:00
jeffs
0b5e00636a
Fix a bug in how .S routines call _mcount to allocate stack before
...
use. By Ethan Solomita (ethan@geocast.com ).
2000-08-09 22:52:36 +00:00
tshiozak
51a53de0d5
Preparation for the future introduction of multibyte locale.
...
- MB_LEN_MAX is increased to 32.
- To ensure binary compatibility for old executables
under multibyte locale, versioned setlocale is added.
- __mb_len_cur definision is added in setlocale.c
and enable it in stdlib.h .
It is also important for multibyte locale stuffs,
but I just forgot.
2000-08-08 22:31:13 +00:00
cgd
b63ed164a1
convert PRID handling to use macros on an int, not bit-fields.
...
there's no reason to use bit-fields, and they just complexity to
the header.
2000-07-27 17:29:05 +00:00
cgd
4adc7b9704
add nops after jals in PANIC and PRINTF. (these macros are often used in
...
code which has noreorder set, and they're not used with nops afterwards,
as is appropriate in that case, so put the nops in the macros.)
2000-07-27 05:01:06 +00:00