Commit Graph

659 Commits

Author SHA1 Message Date
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