Commit Graph

941 Commits

Author SHA1 Message Date
nisimura
dba7b560cd Load delay slot is automagically adjusted at runtime since MIPS II
architecture.
2000-04-11 04:39:14 +00:00
chs
a6d33cc1f2 add a new function vn_marktext() for exec code to let others know
that the vnode is now being used as process text.
2000-04-11 04:37:47 +00:00
nisimura
e342080364 Introduce cpu_intr() whose body is now provided by target ports in
their own ways.  Ugly fixup #define in machine/intr.h have gone.
mips_hardware_intr global variable patch work has gone.
2000-04-11 02:30:14 +00:00
nisimura
4f3093c121 Remove various TLB manipulation routines which have been unused
long time, commented out and is unlikely useful; TLBWriteIndexed(),
TLBWriteRandom(), TLBFlush(), TLBFlushPID() and TLBFind().
2000-04-11 01:32:19 +00:00
nisimura
53e7a8c8d5 - Fix a bug in mips1_TBIAP() misbehaving like as mips1_TBIA().
- Adjust comments to reflect what it does.
2000-04-10 11:38:16 +00:00
simonb
3d6b29f228 Use UVM_PGA_ZERO in uvm_pagealloc() calls instead of using pmap_zero_page(). 2000-04-10 08:50:20 +00:00
nisimura
ea23dc6364 Make sure ASID management is done in the same way of NetBSD/alpha. Rename
and change 'pmap_alloc_asid()' into 'pmap_asid_alloc()'
2000-04-10 05:34:27 +00:00
nisimura
c84ed44f75 Make (sure) ASID management same as what NetBSD/alpha does for ASN.
ASID#0 is reserved for pmap0 shared between proc0 and kthreads,
and every TLB for KSEG2 has G (global) bit to have wildcard match
regardless of the process' ASID.   MIPS1 would flush TLBs belong
to user spaces upon ASID generation bump.  Change for MIPS3 is
to be done.
2000-04-10 04:59:46 +00:00
simonb
e2b66b68da Small white space and 80col wraparound cleanups. 2000-04-10 01:53:11 +00:00
soren
09ad839ab3 This file has been superseded by the MI ELF code. 2000-04-08 22:30:26 +00:00
soren
aa4c70110e Move the start of the user stack down a little to account for the
virtual address checking done by the R8000 and some QED CPUs.

From Jeff Smith.
2000-04-07 21:50:08 +00:00
simonb
9edec906b5 Removing trailing comma from enum declaration. 2000-04-03 05:58:31 +00:00
thorpej
2bc5adb20e Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that.  Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.

This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.

Fix tested by Havard Eidnes.
2000-04-02 20:39:14 +00:00
minoura
78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
simonb
6e0357239a Nuke register, diddle a bit of indentation in some function declarations. 2000-03-30 14:36:30 +00:00
nisimura
1b0c1f4d0d Abandon the initial microscale optimization of pmap_alloc_asid(),
leaving the second change intact.  It'd be rather less costly to
extend the case analysis.
2000-03-28 05:58:33 +00:00
simonb
6060929e8e Move fpcurproc declaration to <mips/cpu.h>. 2000-03-28 03:11:26 +00:00
simonb
ef89d70178 Don't `extern' function declarations. While we're there, remove trailing
blank lines and white space.
2000-03-28 02:58:44 +00:00
simonb
ea6aa0dc3c Use the recent alpha solution to getting the printf() format right in
mips_init_msgbuf().
2000-03-28 02:53:18 +00:00
simonb
338105f94b Make declaration of curpcb variable extern. 2000-03-28 01:06:04 +00:00
simonb
a833cd73e8 Remove duplicate declaration of pmap_is_page_ro() (in <mips/pte.h> and
pmap_zero_page() (in <vm/pmap.h>).
2000-03-28 01:04:22 +00:00
nisimura
464669d1ef The previous microscale optimazation in pmap_asid_alloc() was
half-baked and resulted in one superfluous ASID bump if new pmaps
are created when pmap_asid_generation > 0.   Need to initialize pmap
fields correctly.

Yet, this possibly might not be the perfect solution.  If one
process bumped pmap_asid_generation _after_ a new pmap was created
and initialized with then-current pmap_asid_generation value.  In
that case, the new pmap would have another (superfluous) ASID bump
when 2nd (not 1st) CPU tick is assigned.  I'm not sure if this case
would happen.

Have pmap_max_asid variable to hold the maximum number of ASID
(TLBpid) supported by processor anticipating the possible runtime
cost of ((CPUISMIPS3)? MIPS3_TLB_NUM_ASIDS : MIPS1_TLB_NUM_PIDS).
2000-03-28 01:00:00 +00:00
simonb
8ae7eeef11 Remove redundant declarations of mips3_cycle_count(), stacktrace(),
logstacktrace(), mips_idle() and cpu_switch() - these are already
declared in various header files.
2000-03-28 00:55:33 +00:00
simonb
d0e1814cba Remove duplication declarations of Sysmap and Sysmapsize - these are
in <mips/pte.h>
2000-03-28 00:52:57 +00:00
nisimura
73fa1ce87f Change 'goto cpu_switch1' to 'goto cpu_switch_queuescan' in vr_idle.S
and make the jump destination global.
2000-03-28 00:24:04 +00:00
nisimura
fa6012454d It's not necessary to (re-) assign pmap->pm_asidgen whenever ASID
(TLBpid) is bumped.  It's ok just in the case when pmap_asid_generation
is bumped.
2000-03-27 08:56:21 +00:00
nisimura
06b4feb7d6 Have TBIA/TBIAP an argument refering to a global variable instead
of a compile time constant.
2000-03-27 05:30:40 +00:00
nisimura
5987070300 - Rename some of TLB ops to have handy abbrivations hired from VAX and
ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS.
- Make sure TBIA and TBIAP ops to have an argument for the size of TLB
  which varies across even for MIPS1 implementations.
- Nuke the unused cpu_isa field from processor personality list.

- XXX XXX XXX
  it's less-than-optimal and likely a mistake to have TLBUpdate().
  It's costy to try to invalidate a single TLB entry whenver a certain
  PTE is going to be modified by traversing the entire TLB looking
  for the modified PTE because the PTE in question is not in TLB in
  most cases.  ASID bump could do the invalidation smartly.  Solution
  is planned for now.
2000-03-27 05:23:42 +00:00
nisimura
cbab853044 Rename sw1 label found in cpu_switch() to cpu_switch_queuescan,
abandoning unnecessary .globl because switch_exit() is handsomely
common between MIPS1 and MIPS3.
2000-03-27 04:52:11 +00:00
nisimura
24571569fa Nuke MIPS_16K_PAGE conditional which should be commited in. It
was used for debugg'n purposes which only make senses on particular
hardware configurations and has never been intended to extend pagesize
of NetBSD/mips.
2000-03-27 02:55:13 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
nisimura
b6b06284ce Add QED RM7000 PrID. 2000-03-25 06:33:50 +00:00
soren
573160e03b Revert previous. 2000-03-24 23:06:03 +00:00
soren
c535ede30b Move sysctl definitions from arch/mips to arch/foo. 2000-03-24 21:30:58 +00:00
soren
a0c624dd3d Remove FPU PRIDs that are identical to the CPU ones. 2000-03-24 20:48:20 +00:00
soren
059fe2fbb2 One instruction per line. 2000-03-24 18:16:33 +00:00
soren
2531a231d2 Missing in previous; set cache alias mask properly on processors with
two-way set associative L1 caches.
2000-03-24 18:15:41 +00:00
nisimura
3af954d380 Have ST_REG_SR mnemonic for status register consistent with others. 2000-03-24 02:02:03 +00:00
soren
1c965174b0 Make MIPS1+MIPS3 compile again. 2000-03-23 14:49:29 +00:00
soren
64bcb49a2e Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast.
Many thanks.
2000-03-19 19:16:13 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
soren
667929def5 KNF comment. 2000-03-14 14:11:06 +00:00
soren
9ec86df3dd Fix typo. 2000-03-14 14:10:08 +00:00
soren
eb9d73ce81 Actually use KSEG1 offset for KSEG1 addresses in kvtophys().
From Jeff Smith and Ethan Solomita at Geocast.
2000-03-14 14:08:55 +00:00
kleink
0c7df56c40 Define ISO C99 (unsigned) long long (min, max) symbols.
VS: ----------------------------------------------------------------------
2000-03-07 19:31:50 +00:00
soren
2f1aff2da3 Garbage collect MIPS_SR_INT_ENAB/MIPS_SR_INT_ENA_CUR definitions. 2000-03-07 01:05:48 +00:00
nisimura
03bf9a2dc3 Remove #ifdef'ed out PMAX_CACHEFLUSH_FORCES_WBFLUSH codes in cache
flush ops which has had no effect for long time.
2000-03-04 11:37:31 +00:00
soda
c616c9e0fe use callback function to set up secondary cache related things on arc.
XXX - perhaps it is better to separate cache related initialization
from mips_vector_init().
2000-03-03 12:43:52 +00:00
castor
67e96268ad Fix a /dev/kmem crash when vaddr + count wrapped and snuck through
the error check, courtesy of Jeff Smith <jeffs@geocast.com>.
2000-03-03 02:33:21 +00:00
mhitch
e48c624741 Loading the exception return PC in k0 before restoring the status register
(which disables the interrupts) is *not* a good idea.  k0 (and k1) is used
by the kernel code such as the TLB miss handler, and the interrupt entry.
If an interrupt occurs after loading k0 and before the SR gets interrupts
disabled, k0 will be clobbered and when used to load the PC on exit from
the exception handler, results in various hangs and crashes.
2000-02-23 17:04:06 +00:00
soda
6ff57360cc mips is now vm_offset_t/vm_size_t clean 2000-02-22 12:28:25 +00:00
erh
8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
mycroft
7f0554e0c9 Add some CONSTCONDs to make lint happier. 2000-02-19 09:23:44 +00:00
mycroft
09cc3151e6 Don't pull in cpu.h in non-kernel code. 2000-02-19 09:22:51 +00:00
mycroft
6fe5b35136 Don't print an extra cpu0: prefix. 2000-02-19 04:00:59 +00:00
mycroft
b4f04eeaad Disable the sN,sp,gp register restore code for now, as it seems to collide with
something else.
2000-02-19 01:56:21 +00:00
thorpej
bb7c9c63f3 On exception return, use k1 to restore the saved registers, so that we
don't stomp on the return address in k0.  Also, don't need to account
for any load delays, as the last register restored (gp) isn't used in
the subsequent instruction.
2000-02-18 18:36:41 +00:00
mycroft
c9f3b6ba01 Adjust previous change for R3000 load delay slot. 2000-02-18 03:46:43 +00:00
mycroft
71979ea6fb Make the MIPS1 and MIPS3 code more similar.
XXX Needs testing on MIPS1.
2000-02-18 00:15:15 +00:00
mycroft
9e77fba716 Take a whack at allowing sN, sp and gp to be set from DDB, too. 2000-02-18 00:02:43 +00:00
mycroft
3ade108e4b Allow vN, aN, tN, ra, sr, mul[lo,hi] and pc to be set from DDB. sN requires
more work.
2000-02-17 23:52:23 +00:00
thorpej
fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
shin
7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
kleink
36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
thorpej
474894e5f6 Fix a bug in cpu_switch() introduced with the MIPSX_CPU_IDLE changes; we
have a 1 instruction delay after a load before the register contents are
valid on the R2000/R3000.
2000-02-01 18:49:03 +00:00
thorpej
1247bea5c2 No need for mips_locore_jumpvec to be initialized data. 2000-02-01 18:38:50 +00:00
takemura
39bbf02101 Delete unused lines. 2000-01-28 15:18:32 +00:00
takemura
ae6160e233 CPU specific idle hook and VR idle routine. 2000-01-28 15:08:36 +00:00
soren
a5cef94d04 We don't really have 'mach trapdump'. 2000-01-26 13:36:05 +00:00
tsutsui
b0fbaa33fb Remove obsoleted macros. 2000-01-26 09:44:10 +00:00
sommerfeld
aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
thorpej
a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
simonb
b4c00759ec Clear up a comment a little. 2000-01-09 20:08:14 +00:00
simonb
24ddcc3162 Use the badaddr() prototype in mips/include/cpu.h by including
<machine/cpu.h> in mips/include/mips_param.h.  Remove duplicate
badaddr() prototypes from some pmax header files.
2000-01-09 13:24:14 +00:00
simonb
ddc897f64e Prototype stacktrace() and logstacktrace(). 2000-01-09 10:05:55 +00:00
shin
5a5de631b0 split 'options SOFTFLOAT' to
NOFP		don't touch FPU registers in kernel
	SOFTFLOAT	emulate FPU instructions in kernel
2000-01-09 08:01:54 +00:00
kleink
693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
castor
7fc2807b2b Make SOFTFLOAT emulation compatible with _MIPS_BSD_API_LP32_64CLEAN 1999-12-29 04:41:12 +00:00
castor
2a0deb6e74 Add code to ensure delay slot is printed when disassembling. 1999-12-27 21:12:25 +00:00
castor
cf643fe983 Add macro for MIPS_PHYS_MASK and document use of bits in system status
registers.
1999-12-27 20:05:06 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
tsubai
ea69e534d2 * news5000 support.
* mips3_VCE[DI] now support L2CacheLSize != 32.
1999-12-22 05:54:18 +00:00
jun
2db6d32929 FIX:
port-mips/9016 [serious/medium]:
        MIPS FPU emulator points wrong epc on exception case

	Responsible:    port-mips-maintainer (NetBSD/mips Portmasters)
	State:          open
	Class:          sw-bug
	Originator:     Shuichiro URATA
	Release:        current 12/11/1999
	Arrival-Date:   Fri Dec 17 10:18:00 1999
commit patch
     http://www.a-r.org/~ur/softfloat1211.diff.gz
     by Shuichiro URATA (ur@a-r.org)
1999-12-22 04:54:14 +00:00
simonb
f981fe2ed7 Don't need "extern int physmem" - <sys/systm.h> has this already. 1999-12-11 14:05:04 +00:00
castor
855917ea08 Fix typo on _MIPS_BSD_API switch. 1999-12-09 15:39:46 +00:00
shin
b6113c1d8c delete clrnd() to compile again. 1999-12-05 03:31:11 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
nisimura
ba72fb5211 Decouple DECstation binding, use 'dev/dec/mcclock_pad32.h' for
implementation consistency.
1999-12-03 02:56:37 +00:00
nisimura
31f8115d20 Add _splrestore() to manipulate processor interrupt control bits. 1999-12-03 02:15:55 +00:00
shin
ccba32ca1d reorder instructions in mips3_TLBFlush() to avoid coprocessor hazard
for R4600/R4700/VR4100.
1999-11-30 11:53:24 +00:00
uch
878e985d08 Some TX39 I/O region lies over 512MByte. KSEG2IOBUFSIZE reserves PTE to map there. 1999-11-29 11:14:49 +00:00
uch
8b01b15437 TX3912/22 specific register defines. 1999-11-29 11:13:11 +00:00
uch
347ea4cd91 TX3912/22 support. ENABLE_MIPS_TX3900 enables it. 1999-11-29 11:12:12 +00:00
shin
49ead2a4a7 add RCS Id.
add copyright & license notice.
1999-11-22 02:11:09 +00:00
jun
46b5560f98 and add sys/arch/mips/mips/fpemu.c 1999-11-18 06:50:17 +00:00
jun
0e8bb20fd2 on port-mips@netbsd.org:
Shuichiro URATA <ur@a-r.org> makes kernel softfloat emulation code.

http://www.a-r.org/~ur/softfloat1116.diff.gz

is Patch for
      sys/arch/mips/conf/files.mips
      sys/arch/mips/mips/fp.S
      sys/arch/mips/mips/fpemu.c
      sys/arch/mips/mips/genassym.cf
      sys/arch/mips/mips/locore.S
      sys/arch/mips/mips/mips_machdep.c
      sys/arch/mips/mips/process_machdep.c
      sys/arch/mips/mips/trap.c
      sys/arch/mips/mips/vm_machdep.c
After apply this patch,pmax package binary works on hpcmips!
1999-11-18 06:47:48 +00:00
kleink
ac88fcbb17 G/c orphaned prototype. 1999-11-15 02:00:08 +00:00
mhitch
ed2a0c2648 Fix an additonal return in pmap_enter() that wasn't returning a value.
Use flags (formerly access_type) to set page reference/modified status.
Don't use the PG_CLEAN flag from the UVM when checking to see if a
writeable page has been marked as modified.
When updating page status to modified from the UTLBmiss handler, set
the referenced bit in addition to the modified bit.
1999-11-13 23:16:39 +00:00
thorpej
1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
nisimura
95e2c7af76 Make sure wbflush symbol treated as a C function call. 1999-11-12 06:17:13 +00:00
nisimura
24a33d9f37 Remove a small scale 'improvement' for TLB mod exception which is now
found harmful.  Fix panics on MIPS1 only kernels.
1999-11-10 08:06:05 +00:00
kleink
b4f0936a8c Per discussion on tech-toolchain, remove MIPS-specific <machine/elf.h> header;
all the information is available from <sys/exec_elf.h>.
1999-11-09 21:50:18 +00:00
mhitch
5239567fb0 Don't use MIPS3_L2CACHE_ABSENT to control compiling the Level 2 cache flush
in pmap_remove_pv().  Also comment why I'm doing the second cache flush
operation.
1999-11-07 19:42:23 +00:00
mhitch
93598fd12b Cleanup pmap_remove_pv() a bit:
Page mod/ref status is stored in the pv header, and needs to be copied to
    the following entry when removing the head entry, otherwise the status
    will be lost (oops!).
  Move the common MIPS3 cache flush into pmap_remove_pv() and eliminate the
    unnecessary testing of the return value when only compiled for MIPS1.
  If the pv entry had the cache inhibited, and we remove the last cache index
    alias conflict, restore caching on the mappings for that entry.
  Eliminate possible extra cache flushing inherited from the pica pmap:  it
    was doing the flush when the head entry was being removed - not just the last
    entry.  Now the flush is done only when the last mapping has been removed.
    Also make sure the secondary cache gets flushed [MIPS3 cache flushing needs
    to be re-thought/re-done someday].
  Update comment for pmap_remove_pv() to reflect these changes.
1999-11-06 23:18:04 +00:00
mhitch
01a4486595 Try to document the use of the XContext register in the TLBMiss and XTLBMiss
exception handlers.
1999-11-06 17:35:55 +00:00
mhitch
32b8c8d62c The previous change to pmap_create() to fix DEBUG compiles was incorrect. The
original debug output was printing the argument to pmap_create(), but
pmap_create() no longer has an argument.  The incorrect change now prints
an un-initialized pointer.  Change to just print out the function name.
1999-11-06 16:56:33 +00:00
mhitch
54b3de8b6f Only check for cache index compatiblity on MIPS3 if there is no secondary
cache.  With secondary cache, the CPU will detect cache coherency errors
and the Virtual Coherency Exception handler will flush the appropriate
cache lines to maintain cache coherency.  This allows much better
performance than inhibiting the cache for the entire page.  This is
very noticable when shared library mappings occur with incompatible
mappings, since there's a very likely chance the mappings will remain
for long periods of time.  Systems without secondary cache will still
have the cache inhibited, so there will still be performance issues if
shared libraries don't get mmaped() on correct memory alignments.

This fixes the current problems on DECstations using the R4x00 getting
coredumped programs.
1999-11-04 17:20:57 +00:00
mycroft
b2ecb4ad21 In copy*str(), explicitly check for maxlen==0, rather than implicitly making it
act like 2^32.

Tested by: simonb
1999-11-03 16:21:22 +00:00
simonb
80e4097b69 Fix cut'n'pasto in comment. 1999-10-29 03:36:18 +00:00
lukem
dc8817eb44 sort mips_db_command_table 1999-10-28 06:54:16 +00:00
simonb
87082426d7 Use the new ELF macros and structures from <sys/exec_elf.h> and not the
old ones from <mips/elf.h>.

XXX: If there's no MIPS API issues, {pmax,pica,newsmips,hpcmips,mips}/elf.h
can be thrown away...
1999-10-27 11:54:53 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
simonb
f72818160a Remove unused variable. 1999-10-20 14:21:10 +00:00
soren
72b75dc0b8 Shorten fpuname for built-in FPUs. 1999-10-18 17:23:00 +00:00
soren
6bae30b8f8 Make it compile with DEBUG. 1999-10-18 17:17:09 +00:00
jdolecek
7f589dba84 rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
1999-10-12 17:08:56 +00:00
shin
359347c965 fix mips3 TLB printf format 1999-10-11 05:11:02 +00:00
shin
44c2553ded Changes for NetBSD/hpcmips.
Support VR4100.
	Support 16KB page.
	Support CPU without FPU.

Fix virtual alias problem(physio() case).

[new options]

options		MIPS3_4100	/* VR4100 core */
options		MIPS_16K_PAGE	/* enable kernel support for 16k pages  */
options		SOFTFLOAT 	/* No FPU; avoid touching FPU registers */
1999-09-25 00:00:37 +00:00
nisimura
ff559f77f0 'KB' for kilo-bytes as humanize_number(). 1999-09-24 00:37:52 +00:00
chs
f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
mrg
f75cf1688b install ieee.h 1999-08-30 00:51:57 +00:00
mycroft
4ef547e76d Add ieee.h. 1999-08-29 18:21:20 +00:00
simonb
3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb
06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
nisimura
3708c0dfd6 - Replace three splx() calls with _splset(). splx() should not be
considered the equivalent of 'set processor register'.
1999-08-18 04:43:31 +00:00
nisimura
44861c8d16 - Fix a severe bug I introduced May 7th. MIPS kernel ran for long time
in kernel mode after master interrupt (MIPS_SR_INT_IE) disabled.  Tons
of appreciation for Noriyuki Soda and Masanari Tsubai for almost full
time help to spot of the issue.
1999-08-16 07:53:18 +00:00
simonb
299578ebd5 Spell "privilege" correctly (correct spelling from Jonathan Stone). 1999-08-16 02:59:22 +00:00
thorpej
28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej
3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
nisimura
b57c6ad0bc - _insque()/_remque() used by CODA. 1999-06-30 03:52:04 +00:00
itojun
427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
nisimura
1c949badf4 - Fix an large error I made last month in TLB mod improvement, still
wondering why not I was immediately blown away.
- Continuing invastigations on VM related panics on very high loads.
1999-06-18 08:17:50 +00:00
thorpej
0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej
f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
mhitch
d9be0d6e6b When entering a read-only page for MIPS3, va does not need to be adjusted by PAGE_SIZE
when flushing the I-cache.
1999-06-08 03:44:18 +00:00
nisimura
540b02ab76 - Exterminate haunted evil soul of MIPS va_arg(). Verified OK with
either endian.  Not a perfect solution which would be revealed on
a certain condition when va_arg() is applied to magical struct
arguments passed by value.  format_bytes() is now saved.  With the
help from Noriyuki Soda and Masanari Tsubai.
1999-06-08 00:46:38 +00:00
castor
6b1b77230e in switch_exit() previous fix forgot to guard REG_L with REG_PROLOGUE and
REG_EPILOGUE.
1999-06-04 21:43:12 +00:00
castor
4f92d800a6 fix register restore to be safe for n32 model. 1999-06-04 21:35:47 +00:00
nisimura
fad2c4c762 - A little attention for TLBUpdate(). 1999-05-31 06:10:32 +00:00
nisimura
ce19767c8b - Make a modification to reduce the cost of TLBmod exception handling.
TLBUpdate() routine is used for dual purposes.  In TLBmod case, just ok
to call 'tlbwi' (as designed).  Result in saving of extraneous execution
path.  MIPS1 only this moment.
1999-05-29 09:38:28 +00:00
thorpej
dbc1dd921a Clone vmapbuf() and vunmapbuf() from the Alpha port. 1999-05-28 22:59:40 +00:00
nisimura
d116bc4a0d - Make this compilable with MIPS1 or MIPS3 only configuration. 1999-05-28 07:23:38 +00:00
nisimura
58cf81db34 - Change a symbolic name of TLB entrylo from 'PG_M' to 'PG_D' to reflect
processor design.  MIPS 'dirty bit' is not the same as i386 'dirty bit'.
There is a growing concern of misuse in NetBSD/mips.
1999-05-27 01:56:32 +00:00
thorpej
beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej
a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
nisimura
10d1acd4ea - Backout the last code change. I found it broke pmax kernel. It's
retained for future use of pmap.new.c, though.

> New codes always use current ASID holded in EntryHi register.
1999-05-22 02:35:35 +00:00
nisimura
fd243bd393 - Redefine symbols and parameters to represent CPU design with MIPS
nomenclature, retaining the old heritage.
- Remove API-related definitions for now obsolete utiltity routines.
1999-05-21 06:37:39 +00:00
nisimura
e5ecc1bc87 - Typos, I made... 1999-05-21 06:36:37 +00:00
nisimura
28c74563b6 - Make sure ASID PARANOIADIAG work with MIPS3. 1999-05-21 06:19:55 +00:00
nisimura
1b332b28e2 - Now completing MIPS1 side change. Introduce MIPS_TBIS and MIPS_TBDATA
(correct name, vax?) replacing mips1_TLBFlushAddr and mips1_TLBUpdate,
respectively.  New codes always use current ASID holded in EntryHi
register.  In most occations, the register already contains a necessary
value before (re-)written, ugh.  'sva | asid' ops for their arguments are
now verbose, to be removed when MIPS3 side changes are done.
1999-05-21 06:01:14 +00:00
nisimura
634cb79411 - Rename '#ifdef DIAGNOSTIC' to '#ifdef PARANOIADIAG' to detect
catastrophic events to break VM machinary.  Add some more diags to
track ASID.
1999-05-21 05:28:31 +00:00
nisimura
90d9a14b01 - Avoid recomputations inside inner-most loop which produce identical
values evreytime.
1999-05-20 10:50:08 +00:00
lukem
e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
nisimura
a784d093ea - Change pmap_alloc_asid() and pmap_activate() to make sure that
'pm_asid' member of 'pmap' structure is assigned a new value after
uvmspace_alloc() provides afresh pmap.
- ASID generation number 0 is not a reserved value anymore.
1999-05-20 05:32:06 +00:00
nisimura
7d44b47145 - Make tlb dump DDB command have 'D' indication for TLB 'dirty bit'. MIPS
processor is one of processors with no 'referenced bit' nor 'modified bit'
processor machinary.  Those functions are implemented combining two
hardware bits, 'dirty bit' and 'valid bit', with TLBmod exception handler.
1999-05-20 03:34:06 +00:00
nisimura
a5a47c3772 - Implement MIPS_TBIAP() which invalidates all TLB entries belong to
per process user spaces, replacing mips1_TBLFlush().  This reserves
kernel space TLB entries when TLBPID generation number about to wrap.
- Correct comments a bit, nuke unused routines.
1999-05-19 07:08:43 +00:00
nisimura
523983b88b - Forgot to change 'tlbpid' to 'asid'. But, why does the MIPS TLBmod
handler touch the value anyway?
1999-05-18 03:13:37 +00:00
nisimura
c99765853f - Move MachSetPID(1) call to pmap_bootstrap() adajacent to kernel pmap
initialization code.
- Abandon mips_init_proc0() and do the 4 lines straightly in MD mach_init().
- Restore a block of code accidentally lost in prevous commit.
- Change the term 'tlbpid' to a MIPS3 nomenclature 'asid'.
- Hide PTE size exposures by symbolic names in locore.S
1999-05-18 01:36:51 +00:00
nisimura
f2119ffdfb - Nuke one unused global variable 'mem_size'.
- Kernel pmap is now dectected by "if (pmap = pmap_kernel())" clause.
1999-05-17 11:12:44 +00:00
nisimura
b7876c4182 - Minor code and comment adjustments for pmap_alloc_tlbpid() and
pmap_activate(), no functional change.
1999-05-17 01:10:51 +00:00
nisimura
7a50b38cbd - Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.
1999-05-14 02:11:59 +00:00
thorpej
c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
nisimura
9c2eefcae6 - Introduce MIPS processor interrupt control routines;
_splraise, _spllower, _splset, _splget, _setsoftintr, _clrsoftintr, _splnone.

They manipulate MIPS processor's 8 interrupt sources and are used
as building blocks for NetBSD spl(9) kernel interface.  Note that
MIPS processor doesn't enforce inclusive 'interrupt levels' found
in other processors, then the hierarchal nature of IPL must be
implemented by composing MIPS processor interrupt masks appropriately.

With the simplest target port in which small number of devices are
independently assigned with 6 external interrupt signal lines,
spl(9) kernel interface will be implemented with #define's of
processor interrupt controls mentioned above.  In more general
cases, in which target computers have many devices and 'system
registers' indicating pending interrupt sources at any moment,
spl(9) will be implemented with more complex machinary manipulating
processor interrupts and system registers in target port dependent
ways.

- Nuke unused code and reorder locore definitions.  XXX Following
routines will be replaced with C language version; setrunqueue,
remrunqueue, switchfpregs, savefpregs, MachFPInterrupt.
1999-05-07 01:30:26 +00:00
christos
c596c324e3 Define __builtin_*() for lint 1999-05-03 16:30:31 +00:00
cgd
1bce8c40fc ep_arglen is in units of 'sizeof (char *)', not in units of bytes. use
howmany(value, sizeof (char *)) to get the right value.
1999-04-30 23:02:06 +00:00
nisimura
56a9b84b91 - MIPS processors do not impose inclusive (nesting) interrupt levels with
their interrupt lines.  The notion and implemention of 'spl' are left
for how target ports approach to it.
1999-04-26 09:42:14 +00:00
simonb
5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
simonb
b7c062102c Oops, deleted a register_t instead of register in previous. 1999-04-24 15:04:32 +00:00
simonb
dc1d3940db Nuke register and remove trailling white space. 1999-04-24 08:01:01 +00:00
thorpej
94682a459b These are no longer used: replaced by locore_mips1.S and locore_mips3.S. 1999-04-23 00:10:15 +00:00
ad
d79296c5e9 Disable ntohl/htonl due to duplication in libkern/arch/mips. 1999-04-15 15:30:46 +00:00
drochner
3b45055cd1 adapt to uvm_pagealloc() changes - use UVM_PGA_USERESERVE to allocate
page table pages
1999-04-12 17:59:29 +00:00
drochner
ca88198b65 while symbol support in DDB is good to have one _can_ live without it 1999-04-10 15:10:56 +00:00
simonb
c7a769fc26 Make unconditional clock cycle counter display conditional on DEBUG
being defined.
1999-04-07 23:04:34 +00:00
soda
009107c3e1 do not include <machine/regdef.h>, but include <mips/regdef.h>,
requested by Matthias Drochner and Toru Nishimura.
1999-04-01 09:02:53 +00:00
soda
678807689c fix error in previous my change 1999-03-30 17:34:55 +00:00
soda
530794ac61 - add _C_LABEL() to IMPORT(), to make this consistent with EXPORT().
- fix some oversight of previous my changes on defined(USE_AENT) or
  !defined(__NO_LEADING_UNDERSCORES__) case.
1999-03-30 16:50:04 +00:00
soda
83c01decb0 ALIAS() is not needed, use XLEAF() or XNESTED() instead 1999-03-30 14:27:56 +00:00
soda
2f780c89c9 - regdef.h is back, so use it.
- ALIAS() is not needed, use XLEAF() or XNESTED() instead
- use AENT() instead of .aent
- _END_LABEL() is not needed (and was wrong)
- define ALEAF(), NLEAF(), NON_LEAF(), NNON_LEAF() by
  XLEAF(), LEAF_NONPROFILE(), NESTED(), NESTED_NONPROFILE()
1999-03-30 14:26:42 +00:00
soda
e5eb2cfa3f - protect from multiple inclusion
- incorporate changes to comments from asm.h
1999-03-30 14:22:58 +00:00
simonb
c902cc84ca Don't install intr.h - there's only a kernel function prototype in
this file.
1999-03-30 02:16:03 +00:00
mycroft
9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
tsubai
670d76b7ea Remove ifdef UVM. 1999-03-26 03:40:41 +00:00
thorpej
567cda0537 Don't bother allocating mb_map on these systems. Mbuf clusters are
allocated from a pool, and the MIPS and Alpha use KSEG to map pool
pages.  So, mb_map wasn't actually being used.  Saves around 4MB of
kernel virtual address space in a typical configuration.

Garbage-collect the related VM_MBUF_SIZE constant.
1999-03-26 00:15:04 +00:00
mrg
7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +00:00
drochner
88a179595a regdef.h is back 1999-03-24 21:15:17 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
nisimura
f719570f0a - Restore 'regdef.h' lost since last January. 1999-03-24 03:45:36 +00:00
simonb
aca34380db If on entry the stack is within 4kB of _start, don't reset the stack
pointer to just underneath _start.  Allows bootblocks (or other kernel
calling programs) to pass more than 4 arguments if it sets up the stack
properly.

The 4kB figure may be overkill - on the pmax it only needs to be a dozen
of so bytes.
1999-03-23 22:43:18 +00:00
simonb
f93b8168c0 Include <machine/db_machdep.h> instead of <mips/db_machdep.h>. 1999-03-23 22:15:36 +00:00
simonb
41febd3a3c Move DB_{AOUT,ELF}_SYMBOLS (and DB_ELFSIZE) definition to port-specific
db_machdep.h file.
1999-03-23 22:07:06 +00:00
simonb
027594b1eb Add CPU_BOOTED_KERNEL to CTL_MACHDEP definition. 1999-03-23 22:04:01 +00:00
thorpej
a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
chs
ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
nisimura
cfbd3e5737 - Adjust function declarations. 1999-03-15 03:25:33 +00:00
nisimura
3ac70670ef - Eliminate 'conf.h' from MIPS common code. 1999-03-15 02:47:10 +00:00
nisimura
17e168c9b3 - Nuke old leftover; round four. This file has little usefuls, and
target MIPS ports are expected to have 'machine/conf.h' if necessary.
1999-03-15 02:43:48 +00:00
drochner
71f26e545a pull in a part of [nisimura-pmax-wscons] rev 1.5.4.3: remove unneeded
kdbpeek() prototype
1999-03-13 13:16:29 +00:00
drochner
93d26ccd4b g/c regdef.h (went into asm.h) 1999-03-13 13:05:49 +00:00
jonathan
9797e6cf17 Pad out mips1 inter-tick delay loop with two nops, to match
gcc-2.7.2.2+myc1 calibration.
XXX rewrite in assembler to remove compiler dependency.
1999-03-13 00:05:39 +00:00
tsubai
8b3054fb87 Add big-endian definitions. 1999-03-08 06:36:59 +00:00
jonathan
0086af45ef DDB command `mach kvotop' to map kernel-virtual addreses to physical addresses. 1999-03-06 02:45:54 +00:00
mhitch
263d2c47a5 Read-only unnmanaged pages on MIPS3 need the RO attribute bit, otherwise the
tlbmod exception panics.  This appears to have been incorrect even in the pica
pmap.c, which I pulled in for the pmax.  Fixes Xcfbpmax crashes on R40x0
systems with sfb framebuffer.

Fix resident_count tracking so it doesn't go negative.  UVM will change a
page mapping without removing the original mapping.  That was causing a
problem early on when getting UVM working on the mips, and the explicit
pmap_remove() done by pmap_enter() was decrementing the resident_count.
Do the pmap_remove() first, then check if the current mapping is not valid
and increment the resident_count.
1999-03-05 22:25:07 +00:00
mhitch
12ec406bcf Remove a couple of 'XXX MIPS3?' comments in the tlbmod exeception handling -
I now know what it's doing, and it is correct for MIPS3.
1999-03-05 22:18:07 +00:00
jonathan
0d4c6bb54a Recalibrate MIPS3 delay constants.
XXX mips4, faster clocks than 100MHz?
1999-03-01 08:37:05 +00:00
jonathan
5f9b5ac4f4 Garbage-collect pmax writebuffer drain when invalidating caches, pass 0:
Change `#ifdef pmax' to `#ifdef PMAX_CACHEFLUSH_FORCES_WBFLUSH'.
1999-02-28 21:53:00 +00:00
mhitch
cb8e3b18a7 Change switch_exit() to use the *current* proc0 stack pointer, instead of
the *initial* stack pointer.  The proc0 stack is being used by proc0 (i.e.
uvm_scheduler).  This had been working because switch_exit() wasn't
overwriting any critical areas of the stack - unless kernel profiling
was turned on.
1999-02-28 20:36:31 +00:00
scottr
d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
jonathan
63deecd7e6 Define C structures (struct kernframe, struct trapframe)
for kernel-to-user trapframe.  Use C structs in genassym.cf.
1999-02-27 02:54:05 +00:00
is
5e073f4807 MIPS part of fix for PR 6152, sligtly changed from M.Hitch's version 1999-02-26 19:03:39 +00:00
drochner
6ed35ee84b sync to [nisimura-pmax-wscons] version
(only change: include register definitions from regdef.h)
1999-02-24 18:36:32 +00:00
jonathan
8b01b985e7 Cannot do mcount() profiling in TLB exception-handler code. 1999-02-22 00:21:39 +00:00
jonathan
069050d92d Bump mips3 CPU-mhz timing threshholds by 10% due to egcs wins.
XXX mips1 not recalibrated.
1999-02-16 10:10:51 +00:00
jonathan
3cc1ae4ff2 Use VECTOR() and VECTOR_END() in mips1 locore code. 1999-02-16 08:35:35 +00:00
jonathan
adc3e91e3a Add VECTOR() and VECTOR_END() macros for declaring exception-vector
code.  Fold in <xxx>End names used to copy exception code to vector
locations. Use in mips3 locore code.
1999-02-16 05:06:26 +00:00
kleink
f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
tv
e07978e871 Split the "mips" MACHINE_ARCH for 1.4. newsmips is "mipseb"; pmax is
"mipsel".
1999-02-09 17:15:51 +00:00
castor
98c9d5e1c6 Remove genpubassym.cf stuff. The macro _MIPS_BSD_API allows selection of a
64-bit clean compilation model.
1999-01-31 00:55:41 +00:00
castor
a7c11f272e Copy previous fix for TLB miss routine to XTLB miss routine to avoid
processor-dependent behavior in 32-bit ops on 64-bit operands.
1999-01-29 16:10:06 +00:00
nisimura
aa68b32c4f - Forgot to replace a stub of 'eret' instruction with correct value. 1999-01-29 02:18:42 +00:00
mhitch
ae4fe46357 Fix the TLBMiss handler to not use an undefined operation (32 bit operation
on 64 bit register that's not correctly signed extended.  The R4x00 support
works again on DECstations.  A similar change to the XTLBMiss handler probably
needs to be made, but I have not done that since I am unable to test any
changes to that.
Also re-order a couple of instructions to allow for delay with mfc0.
1999-01-28 18:37:02 +00:00
nisimura
8c3b908f26 - Restore descriptive comments lost in the last commit.
- XXX Put a note that local DDB command 'trapdump' is not available. XXX
1999-01-28 05:52:06 +00:00
mycroft
897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
nisimura
7766b60f7c - Add NEC Vr5400 processor ID. 1999-01-23 06:13:30 +00:00
mycroft
7497ccd364 Clean up. 1999-01-22 14:19:54 +00:00
mycroft
ec253b6315 Use __builtin_next_arg(). Fixed PR 6862. 1999-01-22 14:14:32 +00:00
thorpej
2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
castor
de42f91db3 Forgot to also ship out regnum.h 1999-01-18 04:59:54 +00:00
nisimura
3478ed1de4 - Nuke 90 lines of dead code inherited from 4.4BSD. They were mostly for
VAX BSD VM.
1999-01-18 03:48:34 +00:00
castor
4e216f5744 Remove vestiges of cpuarch.h. Revert to using cpuregs.h instead. 1999-01-18 02:11:07 +00:00
chuck
417e5339f0 MNN is no longer optional 1999-01-16 20:31:50 +00:00
nisimura
f3b48dd536 - Restore 'cpuregs.h'. 1999-01-16 09:25:18 +00:00
nisimura
d9b9f639e6 - Update 'cpuregs.h' and decline 'cpuarch.h'. 1999-01-16 09:07:37 +00:00
nisimura
6119939f5a - Restore 'cpuregs.h'. 1999-01-16 08:51:04 +00:00
nisimura
b6cc76ac91 - Never use an uninitialized variable. 1999-01-16 08:48:06 +00:00
nisimura
25806f2bf5 - Make cpu_switch() a normal call; formally it was splitted into halves.
- Fix an error in mips3_cpu_switch_resume(); ASID was not set correctly.
- Remove global variable 'curpcb' reference in mips1_proc_trampoline().
- Restore 'cpuregs.h'.
1999-01-16 08:45:53 +00:00
nisimura
f163b5653f - Replace the stub value of 'eret' instruction with correct one. 1999-01-16 03:44:42 +00:00
nisimura
f4b56d8060 - Clarify how inimplemented FP instruction traps are handled. 1999-01-16 03:31:49 +00:00
nisimura
d077749e8f - Fix errors involving proc0's kernel stack usage. Fortunately it made
no error so far...
1999-01-16 03:17:06 +00:00
nisimura
7dce3ef311 - User mode context held with pcb_regs[38] in 'struct pcb' was relocated
at the very bottom of process kernel stack.   The address is pointed with
'curproc->p_md.md_regs'.
- Define 'struct md_coredump'.
1999-01-16 03:12:18 +00:00
thorpej
f52ee598ae __pmax__ -> pmax, __arc__ -> arc, like other ports. 1999-01-15 23:35:54 +00:00
castor
48cbfb842a * Add prototype for mips1_clean_tlb
* Add the correct version of locore_mips1.S [ See previous revision for
	description of changes ]
* Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c
	to avoid generating extraneous code.
* GC pmap_set_referenced in pmap.c
1999-01-15 22:26:42 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
castor
534c67a373 Protect defopt against -D_LKM 1999-01-15 10:07:12 +00:00
castor
84915f67d7 Fix typo in mips3_ConfigCache() -- mips3_L2CachePresent 1999-01-15 09:58:43 +00:00
castor
4720afb463 Avoid introducing new prefix '__JB' -- '_JB' is fine. 1999-01-15 03:43:56 +00:00