Commit Graph

458 Commits

Author SHA1 Message Date
uch 4e8a77d890 clean up disassembler code. 2002-05-10 15:27:05 +00:00
uch 55326aaa7e remove COMPAT_13 staff. No 1.3 release of sh3 port. these are trace of
i386 port.
2002-05-10 15:25:12 +00:00
uch 3a1a0b37af IOM_RAM_BEGIN is changed to specify physical address. 2002-05-09 12:32:09 +00:00
uch cee1a2f41a remove unused macro. 2002-05-09 12:31:38 +00:00
uch 2ca56b0d33 remove postsig. postsig is called by ast(). 2002-05-09 12:31:19 +00:00
uch d5020bf906 remove obsolete interface. add defines for inquire cache feature. 2002-05-09 12:30:45 +00:00
uch 44b57799f2 fix comment 2002-05-09 12:30:11 +00:00
uch 4c73523c72 suitable for SH3/SH4 memory architecture.
support non-contiguos memory banks.
2002-05-09 12:29:48 +00:00
uch c34e1b1ad5 adapted to pmap and exception code changes. 2002-05-09 12:29:16 +00:00
uch 5cf2727a95 new pmap designed for SH3/SH4. 2002-05-09 12:28:08 +00:00
uch bf93dc9b4c remove obsoleted functions. add sh_tlb_update() for update TLB.
MMU mode is changed to multiple virtual storage mode for new pmap code.
2002-05-09 12:27:04 +00:00
uch fa6d5570e7 fix ASID mask define 2002-05-09 12:26:16 +00:00
uch 944192661c s/trapno/expevt/ for clarity. 2002-05-09 12:25:41 +00:00
uch d610fecf0f rework general exception, and TLB exception handling for new pmap.
all exception staffs are moved to exception.[ch]
2002-05-09 12:24:19 +00:00
thorpej a19e4685f7 Make CLKF_INTR() slightly less broken. The previous definition always
tested true if the CPU was running in the kernel at the time of the clock
interrupt, therefore all such time (kernel and idle) was counted as interrupt
time.  The new definition simply punts on trying to count interrupt time,
which allows us to see kernel and idle time.
2002-05-07 04:01:59 +00:00
thorpej 3a3df0d1d2 Fix reading values mapped in P1 via /dev/kmem (problem uncovered by
uch's new pmap).
2002-05-07 03:28:25 +00:00
uch 7eaf6db5bd remove #if 0 #endif 2002-04-29 09:33:30 +00:00
uch 01eebf7a36 KNF. 2002-04-29 09:32:56 +00:00
uch 6d338ff407 Use "#define<tab>", white space nits. 2002-04-28 17:10:32 +00:00
msaitoh c67dc60a0a add missing postsig() call.
I don't know whether this is true fix or not.
2002-04-28 12:51:14 +00:00
msaitoh ccc0ee640f add missing softintr_establish() call. 2002-04-28 11:38:48 +00:00
msaitoh 271b97bb3b add SH4 Processor Version Register 2002-04-26 11:56:02 +00:00
msaitoh f6bf722a2e fix around PTR and PDR 2002-04-26 10:22:53 +00:00
msaitoh 0465d9b191 add missing SCPDR_SCP0DT definition 2002-04-25 20:17:04 +00:00
uch 14fff32a83 remove duplicated SH3, SH4 define. 2002-04-23 13:59:03 +00:00
uch d1b9873090 make these compile with gcc -O0 2002-04-22 18:57:43 +00:00
thorpej c3050006aa * Defflag the SH3 and SH4 options.
* In <sh3/cputypes.h>, always define both SH3 and SH4 if _LKM is defined.
2002-04-20 19:59:11 +00:00
uch 5f10da67a7 Define all CPU types if _LKM is defined. 2002-04-16 17:33:56 +00:00
uch cb4570f5f5 remove obsolete functions, decralations and structure. 2002-04-04 18:12:23 +00:00
msaitoh 55aa2c46b9 sync with i386/include/pmap.h rev. 1.45:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:38:51 +00:00
msaitoh 66227882a3 sync with i386/i386/pmap.c rev. 1.94:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:37:48 +00:00
uch dade289395 add uvmexp.intrs++ 2002-03-28 15:34:20 +00:00
uch 0ae715f6d2 All the sh3 ports had an identical procfs_machdep.c, so use a common
file under arch/sh3/sh3.
2002-03-27 10:44:38 +00:00
chs e0a7781fc7 avoid accounting errors in pmap_enter() by only updating the counters
once the operation can no longer fail.  fixes PR 16028.
2002-03-27 04:47:28 +00:00
uch 7803620f8d mmeye specific devices are moved to mmeye/dev 2002-03-24 18:08:42 +00:00
uch 24ec477a45 Rework interrupt code.
+ Fully utilize SH SR.I[0:3] interrupt level.
 + software interrupt is emulated by TMU1, 2 one shot interrupt.
 + implement generic soft interrupts.
 + implement clockframe correctly.
2002-03-24 18:04:39 +00:00
uch 50fcaf7ba0 add cpu device. 2002-03-24 18:01:29 +00:00
uch 049c84193e shb device is integrated to sh3/dev/shb.c and clean up locators. 2002-03-24 18:00:41 +00:00
uch 731150d9ce add SH7750S IPRD register define 2002-03-24 17:57:33 +00:00
itojun 7ffd9429a4 s/PS_STRINGS/p->p_psstr/, as requested by christos 2002-03-18 17:00:20 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
uch 93da9db963 cosmetic changes, fix comments. 2002-03-17 17:55:22 +00:00
uch 1080799576 change to per-process AST. 2002-03-17 14:06:38 +00:00
uch 57918e656a add kernel stack debug option. 2002-03-17 14:05:47 +00:00
uch 02add6730a reserve wired entries for kernel stack. 2002-03-17 14:04:18 +00:00
uch 3900e66164 add kernel stack and trapframe debug command. 2002-03-17 14:03:55 +00:00
uch 9e6153d985 remove obsoleted functions. 2002-03-17 14:03:34 +00:00
uch b4b9d38675 zero clear all TLB entry to avoid unexpected VPN match. 2002-03-17 14:03:09 +00:00
uch 1e6e3f896d write-through mode for now. since SH4 kernel access page table via P2. XXX 2002-03-17 14:02:43 +00:00
uch 4c6260b9de kernel stack fix. old code simply P3 address converted to P1, it
caused memory destruction when kernel stack grow over 1 page.  new
code use P3 address for kernel stack. but for the sake of debug, P1
kernel stack mode remain.
2002-03-17 14:02:03 +00:00
christos 640a59b952 catch-up with stackgap change. 2002-03-16 20:45:43 +00:00
chs 9fe7f9402f only comments may follow #endif on a line. 2002-03-16 05:27:53 +00:00
uch 9a0d81c6cc use IOM_RAM_BEGIN macro instead of ram_start. 2002-03-10 07:46:51 +00:00
uch 672baca18b proc0 and page table intialize routines are moved to sh3_machdep.c 2002-03-10 07:46:12 +00:00
uch f9201a1606 common part are moved to sh3/include/param.h 2002-03-10 07:45:31 +00:00
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
uch dc55dc2c73 remove unneeded code and files. 2002-03-08 13:22:11 +00:00
uch babf2e5892 cpu_swapout() moved to cpu.h 2002-03-08 13:12:10 +00:00
thorpej 069a559c65 Remove some files that no longer exist. 2002-03-07 19:34:37 +00:00
tsutsui 3c8b0446fe Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
2002-03-06 13:10:18 +00:00
uch 2f603eaa17 CTL_MACHDEP definitions are integrated into sh3/include/cpu.h again. 2002-03-04 14:36:13 +00:00
simonb 6f0fb25121 Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>. 2002-03-04 02:43:22 +00:00
uch 08aefbe07d remove temporal debug code. 2002-03-03 14:32:21 +00:00
uch 90baa8b206 SR related parts moved to psl.h. cpufunc.h segments.h are removed.
kernel mode checking is only SR.MD. no check stack pointer.
2002-03-03 14:31:24 +00:00
uch 17fbf85dc3 machine dependent sysctl are moved to machine/cpu.h
dreamcast, hpcsh ... CPU_CONSDEV
	mmeye, evbsh3	 ... CPU_CONSDEV, CPU_LOADANDRESET
2002-03-03 14:28:48 +00:00
uch 6042c0a3fc Initial support for KGDB on the sh3. 2002-03-02 22:26:25 +00:00
uch 65af267aeb Add SH7709A INTEVT2 register define. 2002-03-02 22:25:19 +00:00
uch b94c8137ab cpu_reset:
Set EXPEVT to 0x20(manual reset) before jump to reset vector.
2002-02-28 18:18:51 +00:00
uch 9c21656766 cpu_dumpconf, reserve_dumppages, dumpsys, cpu_reset are moved to sh3/sh3_machdep.c 2002-02-28 16:54:28 +00:00
simonb 4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
uch 6ece4e10f0 Remove #if 0 #endif 2002-02-28 01:58:53 +00:00
uch bbc655c4fb Cleanup register definition 2002-02-28 01:56:57 +00:00
uch 40382c6556 Change foo_r0_r1 macro in sh3/locore.h to foo(Rn, Rm) 2002-02-28 01:53:42 +00:00
uch 06fbd079f5 Remove unneeded header. 2002-02-28 01:52:28 +00:00
christos e8116a8f5b - Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
simonb d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
uch 31ae0ac1e9 clean up Makefiles 2002-02-24 20:10:53 +00:00
uch 6bda0e36c3 use sh_clock_get_pclock() instead of PCLOCK. 2002-02-24 19:35:42 +00:00
uch 3c3da7bf57 _start -> start. 2002-02-24 18:24:15 +00:00
uch 693be1956c Move common exception vector and scheduler code to
sh3/sh3/exception_vector.S and sh3/sh3/locore_subr.S. exception
vectors are installed by sh_cpu_init().  machine/locore.S contains
kernel entry, interrupt handler, and some MD code.
2002-02-24 18:19:40 +00:00
uch 72589177e0 remove obsolete file. 2002-02-24 18:13:06 +00:00
uch b1b1f1117b NetBSD/sh3 common part of clock routine. 2002-02-22 19:55:33 +00:00
uch f3b1882035 print MMU infomation. 2002-02-22 19:46:34 +00:00
uch f694c9fdd7 New NetBSD/sh3 clock framework.
+ hardclock source is moved from TMU1 to TMU0.
 + SH3/SH4 common kernel support.
 + PCLOCK estimation.
 + remove duplicated code.
2002-02-22 19:43:58 +00:00
uch 5f5cce9adc Clean up function declaration. 2002-02-19 17:22:34 +00:00
uch 1bdc7cc5ca Clean up functions
disable_intr, enable_intr, disable_interrupt, enable_interrupt,
disable_ext_intr, enable_ext_intr.
New functions:
for external interrupt:
_cpu_intr_suspend and _cpu_intr_resume.
for exception:
_cpu_exception_suspend and _cpu_exception_resume.
2002-02-19 17:21:18 +00:00
wiz 37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
simonb 2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
uch 6e0794b560 To determine CPU architecture and product, add cpu_arch and cpu_prduct variables.
these are initialized by sh_cpu_init()@sh3/sh3_machdep.c
(see sh3/include/cputypes.h for detail.)
add "options SH3" for SH3 kernel config file.
2002-02-17 20:59:33 +00:00
uch 14bcf8c92a add cache dump 2002-02-17 20:58:35 +00:00
uch a96c1d0e8f change register naming. 2002-02-17 20:58:02 +00:00
uch 70826aa2cd sh_cpu_init() is added. its initialize cache, MMU ops appropriately.
machine locore code call this at first.
2002-02-17 20:57:09 +00:00
uch 780de330ba Add new MMU API. for detail, see sh3/mmu.h's comment. 2002-02-17 20:55:50 +00:00
uch 779bf563f4 ANSIfy. remove #if 0 ... #endif. 2002-02-17 20:53:40 +00:00
chs b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
uch b3f7b11fe7 ANSIfy KNF. 2002-02-12 15:26:45 +00:00
uch 7f6769e315 wrap #ifdef SH4 2002-02-11 18:55:16 +00:00
uch 9487e1d731 change PTE PG_* bit define to support SH4 PCMCIA space attribute fully.
for detail, see pte.h.
2002-02-11 18:06:06 +00:00
uch 32f2c6e61f clean up redundant PTE PG_* defines.
PG_RO     -> PG_KR
PG_RW     -> PG_KW
PG_u      -> PG_URKR
PG_PROT   -> PG_UW
PG_AVAIL1 -> PG_PVLIST
2002-02-11 18:05:17 +00:00
uch 6a86080d84 add useful macro for running P2, P1 area. 2002-02-11 18:04:24 +00:00