Commit Graph

332 Commits

Author SHA1 Message Date
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
veego fd4d6f207d Add '-I${.CURDIR} ${.CURDIR}/' before netbsd.S to compile it with
object dirs.
1996-12-31 22:44:13 +00:00
scottr 3ac126bc23 Work around another uninitialized variable warning 1996-12-18 05:44:31 +00:00
gwr b8c288d184 Fix warnings. 1996-12-17 19:27:51 +00:00
gwr 661c8f1ae0 CTL_MACHDEP definitions. (Common to all m68k ports.)
This should be included by each m68k port's cpu.h so
/usr/sbin/sysctl can be shared on all of them.
1996-12-17 19:26:51 +00:00
gwr a25e8be772 Add prototypes for process_read_regs, etc. (fix warnings) 1996-12-17 19:24:31 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
is e4d7a09a2a Bug fix for FSINCOS: wouldn't handle FPc == FP1 earlier. 1996-10-30 14:44:47 +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
scottr 531802b5dd cpp -> ${CPP} 1996-10-29 00:11:27 +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
scottr fb42630e15 Eliminate fusword() prototype, as it's now in <sys/systm.h> 1996-10-16 06:27:05 +00:00
christos 9dc680b6a4 backout previous kprintf change 1996-10-13 03:19:10 +00:00
christos cabe1f09ff use in_addr_t and in_port_t 1996-10-13 02:59:54 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
scottr f8b0c86aa8 The 68LC040 generates a format 4 stack frame for floating point
exceptions, which puts the address of the instruction we faulted
on in a different location.  Copy it and handle as we normally would,
restoring the saved PC before returning.

The FPE should probably be reworked to take advantage of the 68LC040's
precalculated effective address, at some point.
1996-10-07 03:16:47 +00:00
scottr d12b257695 Fix FMOVEM emulation; postincrement modes use different ordering than
predecrement modes, per 68K Programmer's Manual p. 5-88.  Pointed out
by Takeshi Nakayama <takeshi@sakabe.nuie.nagoya-u.ac.jp>, verified by me.
1996-10-04 18:07:24 +00:00
ws 5804d3f648 PowerPC port 1996-09-30 16:34:14 +00:00
jtc d137b0e8ba Added new macro _PROF_PROLOG which contains the code sequence needed
to call mcount().  This is needed because the ``link a6,#0'' insn used
trips up gcc's ANSI preprocessor (A # in a function-type macro must be
followed by a macro argument).  _PROF_PROLOG is also used in the i386
asm.h.

Solaris' asm_linkage.h has a MCOUNT macro similar to _PROF_PROLOG
except it expands to different code sequences based on whether a
function is being compiled with "prof" or "gprof" instrumentation.

I also discovered that the m68k ALTENTRY is very different than the
implementation used by other NetBSD ports.  Usually ALTENTRY simply
provides an alternate function entry point.  The m68k version takes a
second argument and jumps inside the second function when profiling is
enabled.  The m68k behavior is similar to the ENTRY2 macro found in
solaris.

Providing ENTRY2 and changing all the code that uses ALTENTRY to use
it would be a desirable change.
1996-09-24 00:05:55 +00:00
leo 2eccad6548 Add macro's that do bclr/bset in a single instruction. 1996-09-16 06:03:58 +00:00
thorpej 22adc20819 Add an FPU_UNKNOWN constant; just a placeholder for any unknown FPU. 1996-09-12 02:52:34 +00:00
thorpej 521a717f6d Factor out common Motorola 68k CPU definitions from the m68k port
cpu.h header files.

Some more work could be done here, but it's a good start.
1996-09-11 00:08:52 +00:00
thorpej 73a5b90800 Pull in the COMPAT_M68K4K stuff when appropriate. 1996-09-10 22:07:10 +00:00
thorpej c5e5dec3b7 All of the m68k ports' exec.h's were essentially the same. Merge them.
Override the N_PAGSIZ() macro; this one checks the MID of the executable
and returns the appropriate page size.
1996-09-08 00:57:29 +00:00
thorpej f124a6aaa9 Back out previous; this is a bigger problem than I expected. 1996-08-14 00:32:53 +00:00
thorpej a05a1045f7 The htonl(), htons(), etc. functions return u_long and u_short. Add
casts to the big-endian versions of these calls so that the compiler
won't complain when they're passed as arguments to printf().
1996-08-14 00:07:35 +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
is cb5f8c53ac Now that our as pretends to understand the M68060 cpu, use -m68060 instead
of -m68040 to avoid confusion.
1996-05-20 13:31:40 +00:00
is d3ad3efef5 3 more constants for 68060 access error trap stack frames. 1996-05-16 16:51:30 +00:00
is 3b8b982891 Naive translation of text to assembler had caused some assembler syntax
errors. Fixed them. Thanks to Bernd Ernesti for the early report.
1996-05-16 15:37:49 +00:00
is 8fea0bb1e5 fix typo 1996-05-15 21:16:44 +00:00
is 89e428b280 Initial commit of the machine independend part of the glue code for
the 68060 software support package.
1996-05-15 21:06:18 +00:00
is 0a68161069 RCS ID police 1996-05-15 19:47:31 +00:00
is 508069c020 Initial import of the Motorola M68060 Software Package Production
Release, revision P1.01.
1996-05-15 18:17:45 +00:00
leo be7b319e1b Fix "might be used uninitialized" warnings. 1996-05-15 07:31:55 +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 9cdce38dd0 Bring back Step9 and fix an oversight from Ken Nakata <kenn@remus.rutgers.edu> 1996-04-30 12:02:54 +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
briggs 41f393e6b8 Update for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized. 1996-04-30 11:52:09 +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
briggs efa0c4d683 Make NTOH[SL] and HTON[SL] (void) (x) instead of (x) to get around
compiler warnings.  Followed the lead set in the sparc port.
1996-03-29 01:40:31 +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
jtc 2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
is 905b10d4bc M68060 additional frame formats and bits. Closes PR 1174.
This shouldn't break anything; I find ... grep ... all the relevant
kernel sources subdirecotry trees I could think of for the defines
that don't use the new FSLW or FPF6 prefix. But in case it does anyway,
tell me immediately.
1996-03-12 22:21:51 +00:00
leo 2273338717 Add the include files and the atari kernel support for new format panic
dumps.
1996-03-10 21:54:44 +00:00
briggs 6969bbbc1c Add ns_cksum.c. 1996-02-24 12:59:47 +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 64a13b9a7b Remove ns_cksum.c (now in sys/conf/files) 1996-02-14 15:59:57 +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
briggs 674ef2b6f2 sys/types.h -> sys/param.h and remove include of stddef.h. 1996-02-04 02:17:42 +00:00
briggs 592866ff5d sys/types.h -> sys/param.h and remove include of stddef.h. 1996-02-04 02:17:38 +00:00
mycroft 213c4dbb89 Use CPPFLAGS, not COPTS. 1996-02-03 01:23:54 +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
briggs 4881a5d2a0 Remove explicit #define of DEBUG, per PR #1931. 1996-01-12 04:23:54 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
mycroft cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft 0c00214737 Use __builtin_va_alist. 1995-12-26 00:19:09 +00:00
mycroft fa887628d8 Stylistic changes. 1995-12-25 23:15:31 +00:00
mycroft d1de691efb Stylistic changes. 1995-12-25 22:22:02 +00:00
mycroft 0199e002ad Update for GCC 2.7, and fix bugs. 1995-12-25 21:41:08 +00:00
thorpej de6dad9228 Move bcopy/ovbcopy/memcpy into m68/m68k/copy.s, which is used by all
m68k ports already anyhow.  No use in keeping 6 identical copies of this
function around.
1995-12-11 02:37:55 +00:00
briggs f028be21e6 Update from Ken Nakata. 1995-11-05 04:23:00 +00:00
briggs 8b79bcb9e7 Fixes from Ken Nakata. Mainly renaming debug_level to fpu_debug_level. 1995-11-05 00:35:09 +00:00
briggs cc272f90a1 Add in NetBSD id string. 1995-11-03 04:51:51 +00:00
briggs 526615e592 Add NetBSD id string and update instructions. 1995-11-03 04:48:22 +00:00
briggs fc8793fb3d Still incomplete, but much more complete FPE from Ken Nakata
<kenn@remus.rutgers.edu>.  This emulator does not yet emulate
the following functions:
	FSINH, FETOXM1, FTANH, FATAN, FASIN, FATANH, FSIN, FTAN,
	FETOX, FTWOTOX, FTENTOX, FCOSH, FACOS, FCOS, FSINCOS
It is sufficient, however, to allow programs like df, w, and newfs,
to run to completion with correct results.
Portions of this code were based on the sparc fpe and on initial
work by gwr.
1995-11-03 04:46:55 +00:00
gwr b797d6e69d Cosmetic: Kill trailing whitespace, etc. 1995-10-10 21:18:01 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00