Commit Graph

309 Commits

Author SHA1 Message Date
veego
d04fe1f439 add src/sys/arch/m68k/m68k/m68k_machdep.c 1997-06-06 23:15:28 +00:00
is
6d6e724440 Reorganize buserr/addrerr stuff, to allow omitting unused code in single-cpu
kernels, at the same time getting rid of up to 3 conditional branches and a
bit over one cacheline fetch (for the 68060; the saving is a bit smaller for
040 and yet smaller for the 020/30).
While we're here, also get rid of an redundant lea (using SP-relative
addressing) and of two redundant pushes.
While we're here, also fix a panic which would tear us down on 68060 machines
if a branch prediction error ever occured.
1997-06-04 22:12:43 +00:00
leo
6793c446f0 An attempt to make a generic m68k implementation for cache control operations.
Not yet completely finished.
1997-06-02 20:26:37 +00:00
jtc
8ab87a1df9 fix tipo 1997-05-30 01:34:49 +00:00
jtc
9d04fc8ed1 New zeropage() implementation based on code contributed by Hiroshi Horitomo
<horimoto@cs-aoi.cs.sist.ac.jp> in PR #3641.   I changed the code slightly.
Instead of clearing 13 registers (d1-d7,a1-a6) and zeroing 512 bytes per
loop iteration, I clear 8 registers (d1-d7,a1) and zero 256 bytes.  This
reduces the size and complexity of the function.

On the '020, the simpler code is less than 1% slower.  Surprisingly, it
is ~3% faster on the '040.
1997-05-30 01:20:23 +00:00
jtc
9442b0fcda Use movw when loading countdown registers. 1997-05-29 16:31:33 +00:00
jeremy
8253e6e107 Comment for susword was from fusword and hadn't been changed. 1997-05-21 03:51:04 +00:00
mycroft
fd8daf980e Add .MAKE to the .OBJDIR hacks, so they work with `make -n'. 1997-05-07 07:15:34 +00:00
mycroft
90f17dd8ab Oops; put the __attribute__ in the right place. 1997-05-03 12:49:05 +00:00
mycroft
a60739aacf Make sure struct trapframe is packed tightly. 1997-05-03 10:16:58 +00:00
gwr
7a80e420ed Remove unused part of sun3_kcore_hdr. 1997-05-01 22:48:09 +00:00
gwr
5e11440dae Fix printf format vs. arg type warnings (in DEBUG sections). 1997-04-30 23:28:03 +00:00
veego
560544f47c Add a -I${.CURDIR} to build netbsd.sa with a obj dir 1997-04-25 22:17:33 +00:00
thorpej
1a3df57d81 Preprocess .s files before assembling them. 1997-04-25 02:26:48 +00:00
thorpej
ffd2acc819 Minimalistic changes to not make assumptions about how C labels
are handled.  This file's ".s" counterpart must now be pre-processed.
1997-04-25 02:26:04 +00:00
thorpej
dcca39c0f1 - Don't make assumptions about how C labels are handled.
- Use PANIC() where appropriate.
1997-04-25 02:22:00 +00:00
thorpej
deb6fcac46 Add several common trap vector stubs. Not all of them are here (yet),
but several are.
1997-04-25 01:33:18 +00:00
thorpej
658ce85446 Add several useful macros:
- ENTRY_NOPROFILE() and ASENTRY_NOPROFILE(), similar to ENTRY() and
  ASENTRY(), but without the profiling prologue.
- GLOBAL()/ASGLOBAL() and LOCAL()/ASLOCAL(), for defining global and
  local variables with C and ASM labels.
- BSS()/ASBSS(), for defining items in the BSS segment, with C or
  ASM labels.
- PANIC("panic message") - shorthand for calling panic() from assembly code.
- VECTOR(), ASVECTOR(), VECTOR_UNUSED - shorthand for defining entries
  in the vector table.
Also, change RCSID() to pad out the string to even boundary.
1997-04-24 22:49:39 +00:00
thorpej
434a6008fe Common m68k sigcode. 1997-04-13 02:30:02 +00:00
thorpej
e59a1e5e15 Garbage-collect some things no longer needed since there are no longer
m68k4k ports.
1997-04-09 23:34:29 +00:00
thorpej
c739bf6e79 New kcore.h for m68k, includes all possible m68k formats in a self-describing
layout, facilitating sharing libkvm on all m68ks.

NOTE: This changes the crash dump format of all m68k ports that use the
new libkvm!
1997-04-09 19:25:00 +00:00
thorpej
309169617d Factor out a few process manipulation routines found in all m68k
locore.s's.  Currently includes run queue manipulation.
1997-04-09 19:22:49 +00:00
thorpej
175da6b4a7 Factor out the regdump() function used by all m68k ports. 1997-04-09 19:21:47 +00:00
thorpej
2f5b398ad4 Prototype regdump(). 1997-04-09 19:21:06 +00:00
thorpej
0a089bceec Add bcopy.s, copy.s, copypage.s, and regdump.c; they're common to all
m68k ports.
1997-04-09 19:20:23 +00:00
leo
92b96871ea Turn the 'extern' definition of mcount() into a full prototype. 1997-04-08 20:39:01 +00:00
gwr
b43ee24829 Need a common <m68k/pcb.h> for gdb. 1997-03-31 21:32:26 +00:00
gwr
08f7a407f9 Separate bcopy and copypage stuff from copy.s 1997-03-17 19:46:36 +00:00
gwr
521683f862 Separate bcopy and the copypage/zeropage stuff out of copy.s
so they can be used separately, and so the copyrights are
attributed to the right owners.  (Catch-all files are bad)
1997-03-17 19:44:33 +00:00
gwr
d531b1ed42 s/fpu_type/fputype/g 1997-03-17 19:03:11 +00:00
thorpej
f88e127939 Some misc. m68k asm support routines. This file currently contains
setjmp/longjmp and _insque/_remque.  More to come.
1997-03-16 10:47:33 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
gwr
5c553cfd2f Factor out sendsig() and sys_sigreturn() from $arch/machdep.c 1997-03-13 19:14:35 +00:00
gwr
0a928acbfc Remove some unnecessary <vm/*> headers. Have to keep <vm/vm_param.h>,
at least until boolean_t moves to <sys/types.h> or someplace...
Also make ddb_regs extern here.  Closes PR#3213
1997-02-18 22:29:58 +00:00
gwr
25c5ca44ce Define ddb_regs here (and extern in db_machdep.h) 1997-02-18 22:27:32 +00:00
gwr
2d1b2f72cd Add m68k/kgdb_m68k.c 1997-02-12 01:01:07 +00:00
gwr
09cc42f318 Add kgdb_reg_t, KGDB_NUMREGS, KGDB_BUFLEN 1997-02-12 00:59:46 +00:00
gwr
64b7559e4f Machine-dependent KGDB sharable on all m68k machines. 1997-02-12 00:58:01 +00:00
gwr
ea3925f508 FIXUP_PC_AFTER_BREAK now takes an arg of type db_regs_t * 1997-02-06 21:16:28 +00:00
scottr
6d39698236 db_expr_t is now a long. 1997-02-05 05:10:24 +00:00
gwr
599d8811dc Adapt to changed definition of struct db_variable. 1997-02-04 18:15:18 +00:00
thorpej
de70c1051d prototype mappedcopy{in,out}(), {copy,zero}page(). 1997-02-02 06:56:57 +00:00
thorpej
9568fcee35 Build mappedcopy.c conditional on "options MAPPEDCOPY" 1997-02-02 06:55:15 +00:00
thorpej
e9eba07a8f Add the Utah mappedcopyin/mappedcopyout functions to a common m68k
area.  These functions are designed to improve performance of large
copyin/copyout operations by mapping the user page in to the kernel
address space and using bcopy(), rather then copying across protection
boundaries.

XXX This doesn't work yet -- the way it's called doesn't obey C calling
XXX conventions.  That will be fixed soon.
1997-02-02 06:54:10 +00:00
thorpej
7dae9fb29b Add two optimized functions used by pmap.c:
- copypage() -- a single page-aligned NBPG-byte copy.
- zeropage() -- a single page-aligned NBPG-byte zero.
These functions don't play around with alignment, etc.  Their use
causes a measureable performance improvement in pmap_copy_page()
and pmap_copy_page().

A few m68k ports already had copypage() in their locore.s.  It has
been moved here so it can be shared.
1997-02-02 06:50:06 +00:00
thorpej
5885fe6b78 This file is now obsolete. 1997-01-30 17:29:23 +00:00
gwr
c7fd1435c6 Update for new struct member names in db_regs_t. 1997-01-27 23:07:04 +00:00
gwr
b0f4781a3d Include <machine/frame.h> and typedef db_regs_t using struct trapframe
(instead of replicating trapframe here by a different name).  Update the
macros that refer to members of db_regs_t to use the trapframe members.
1997-01-27 23:02:55 +00:00
gwr
09fa19ebb5 Protect this agains multiple includes so it can be included by db_machdep.h 1997-01-27 22:58:45 +00:00
gwr
6e961cf5de Use db_regs_t instead of struct mc68020_saved_state 1997-01-15 23:11:46 +00:00