Commit Graph

135 Commits

Author SHA1 Message Date
scottr ecc68fd60f Disassemble the MOVE16 instruction. Also, correct the spelling of
`unknown' while were here, as suggested.  From Denny Gentry
<denny1@home.com>, PR 3567.
1997-06-19 17:39:38 +00:00
veego a8536aa57a Use <sys/param.h> and not <machine/param.h> 1997-06-12 09:57:04 +00:00
veego 68bc1316cc Initialize machine_arch from MACHINE_ARCH. 1997-06-09 00:04:03 +00:00
veego de7e49a954 Add 'char machine_arch[] = "xxx";' for the new sysctl hw.machine_arch. 1997-06-06 23:26:01 +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
gwr 5e11440dae Fix printf format vs. arg type warnings (in DEBUG sections). 1997-04-30 23:28:03 +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 434a6008fe Common m68k sigcode. 1997-04-13 02:30:02 +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
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 25c5ca44ce Define ddb_regs here (and extern in db_machdep.h) 1997-02-18 22:27:32 +00:00
gwr 64b7559e4f Machine-dependent KGDB sharable on all m68k machines. 1997-02-12 00:58:01 +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 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
gwr c7fd1435c6 Update for new struct member names in db_regs_t. 1997-01-27 23:07:04 +00:00
gwr 6e961cf5de Use db_regs_t instead of struct mc68020_saved_state 1997-01-15 23:11:46 +00:00
is a747e15eed Add the 68060 bus control register to the list of known cpu superisor mode
registers.
1996-10-30 08:22:39 +00:00
is be08e182af In my earlier patch to the m68k fmovem disassembler, I repaired the register
naming for fmovem, while breaking it for fmove. We probably never will
see normal fmove in the kernel, nevertheless it should be corrected while
somebody remembers.
Besides, the correct patch is smaller and thus easier to verify than the
origininal one.
1996-10-30 08:11:21 +00:00
is 072b7020c4 * Fix a few wrong fallthroughs in switch cases:
- add a missing return; at the end of a case, leading to wrong disassembly
  of the next few instructions after fmovem.
- while we're here, correct the same bug in PBcc.

  XXX there are a few other dubious fallthroughs in this file (which are
  not explicitly marked with /* FALLTHROUGH */), which I didn't yet analyze.

* Fix other FMOVEM interpretation bugs:
- correct printing of FP data register lists if all are used (only FP0
  would be mentioned)
- correct printing of FP data register lists in the case the list is reversed
  (would have printed nothing)
- correct mapping of fp0-fp7 to register list bits (was reversed)
- correct printing of FP control register lists (this list is never reversed)
- correct printing of FMOVEM with FP control registers (the data direction
  was interpreted the wrong way)

* While we're here, enhance the comments in MOVC's list of cpu control
  registers
1996-10-28 08:43:18 +00:00
is 6e74f35ac9 First small hack at 68060 support: processor configuration register.
(We don't use the new instructions lpstop and plpa in our kernel, so no hurry.)
1996-10-24 18:30:17 +00:00
christos 9dc680b6a4 backout previous kprintf change 1996-10-13 03:19:10 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
jtc d69119311f Provide alternate memmove() entrypoint for memcpy(). This will help
in the transition from b*() to mem*().
1996-07-20 01:53:42 +00:00
is 51e832dc49 Fix a few off-by-one errors in bitnumbers used by print_fcode.
ptestX fc,<ea>,M used to be printed with the wrong semantics of the fc
field, and could panic the kernel if fc was interpreted as a register number.
1996-06-12 20:22:42 +00:00
gwr 0f9ef81648 Fix "prototype disagrees about inline" error. 1996-05-06 20:05:24 +00:00
veego e637bae39d Added an include for the sunos_sendsig prototyp 1996-05-05 16:11:31 +00:00
briggs 6d6bfccb69 Clean up a few printf format strings. 1996-04-30 11:57:49 +00:00
briggs 9602c596f5 Prototype oc_cksum(). 1996-04-30 11:57:05 +00:00
leo dc05f2d48c Prototype + -Wall fixes. 1996-04-29 20:50:08 +00:00
briggs 1fa595a2f1 Clean up for higher warning level. 1996-04-01 01:35:48 +00:00
mhitch ae815da330 change Debugger() from an int function to a void function to match the
prototype in sys/systm.h.
1996-03-16 18:45:44 +00:00
gwr 19d5694f93 Remove the hack that faked up an "ssp" value. It is now up to
locore.s to put the right sp in the frame.  Also move memory
access code into db_memrw.c so it can be taken separately.
1996-02-22 23:23:23 +00:00
gwr 15dae05834 Oops, label_t does not have implicit pointer type like jmp_buf 1996-02-13 17:34:46 +00:00
gwr f4cc5b017a eliminate setjmp.h 1996-02-09 21:51:39 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
thorpej a11ff465eb Factor out the common (to all m68k ports) sigreturn routine. 1996-01-31 02:22:15 +00:00