Commit Graph

598 Commits

Author SHA1 Message Date
mycroft
b7f86e40fa The smallest positive normalized number in extended precision is 2^-16383.
Underflow handling is different from i387.
1998-09-27 04:54:49 +00:00
thorpej
43f5b65e23 Define the new sigcontext structure. 1998-09-15 23:14:40 +00:00
thorpej
a034a22862 Need 21 longs for jmp_buf now, due to 128-bit signal mask (and use
of the sigcontext structure in the jmp_buf).
1998-09-15 23:06:41 +00:00
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
leo
a27ab73aae Nuke vm_offset_t/vm_size_t. 1998-09-02 11:16:31 +00:00
mycroft
530fef3c8d Assign my copyrights to TNF. 1998-08-15 10:34:43 +00:00
mycroft
df9baf2311 Assign copyrights to TNF. 1998-08-15 03:51:30 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
kleink
546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
mycroft
a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
mycroft
da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
is
2a78f6986c no semicolon, please 1998-07-25 09:24:17 +00:00
veego
1b46ebe1d9 Add elf_machdep.h to the INCS list. 1998-07-12 17:53:29 +00:00
thorpej
2aaf359b9f Add m68k relocation types. 1998-07-12 01:39:06 +00:00
thorpej
639cc899cf Basic elf_machdep.h for m68k; doesn't include relocations, yet. 1998-07-12 01:17:58 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
kleink
1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
kleink
a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
is
7a0f63f982 Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
1998-05-24 19:32:34 +00:00
is
6a6812fd92 Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
1998-05-23 20:51:06 +00:00
dbj
4d7d7e4b9d Fixed stack trace address printing lossage when no symbols are available. 1998-05-14 10:15:44 +00:00
kleink
687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
thorpej
1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
kleink
a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
scottr
0dfa8582c5 Make type explicit for egcs, from Erik Bertelsen in PR 5287.
Dump the register qualifier while we're here, as suggested in the PR.
1998-04-13 02:51:32 +00:00
thorpej
f766e521be In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().

Originally suggested by Steve Woodford.
1998-03-04 06:39:14 +00:00
veego
b6ca941200 Sync it with the i386 version so lint doesn't complains about an syntax
error for __warn_references.
1998-02-28 12:20:25 +00:00
thorpej
11490942aa Nuke memcpy() from here; it's in libkern. 1998-02-27 21:38:31 +00:00
scw
ef52501a4f Implement changes for UVM. 1998-02-22 11:33:10 +00:00
mycroft
065e369ab5 Remove random.s. 1998-02-22 08:35:33 +00:00
mycroft
8776736cea Move to libkern. 1998-02-22 08:34:35 +00:00
mycroft
d47ec6f1ae Include correct information for long doubles (mc68881 extended precision). 1998-02-18 10:24:45 +00:00
thorpej
2b06ffd5f9 Add support for UVM. 1998-02-15 21:19:34 +00:00
thorpej
8559f25d47 Implement kcopy(), like bcopy(), but aborts if a fault is encountered.
Required for UVM.
1998-02-15 21:18:45 +00:00
mycroft
b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
is
b3fa451227 Amiga uses the common m68k/sig_machdep.c now. Also moved its definition from
the other 68k ports' files.${port} to arch/m68k/conf/files.m68k.
1998-02-01 21:23:24 +00:00
perry
6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
is
5d5c1cd59e - avoid system stack underflow when calling sigreturn via trap #0
- make sure all sigreturn error conditions are reported to the caller,
  instead of the place jumped to.
This is the bugfix part of pr 4628 by ITOH Yasufumi.
The performance optimization part will be handled seperately, after evaluating
its implications.
Testing on 68040 and removing the performance change from the proposed patch
by scottr. Half of the Amiga machdep.c change had to be done manually by me,
as the patchfile didn't apply cleanly.
XXX Yes, Amiga should be changed to use the common sig_machdep.c instead.
XXX Really soon now. I promise.
1998-01-07 22:46:00 +00:00
is
d002f566b3 Support 68060 (and, for the Amiga, even 68040 buserr frames) in the sendsig()
and, indirectly, sigreturn() functions.
XXX The Amiga should be switched to using sig_machdep.c instead.
1998-01-06 20:50:22 +00:00
thorpej
c2768af3d4 Garbage-collect cpu_set_init_frame(); it hasn't been needed for some time
now.
1998-01-06 08:06:45 +00:00
thorpej
8cbc5caabb The user segment table pointer is no longer kept here. Change it to
a spare field.
1998-01-06 06:46:05 +00:00
perry
b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
kleink
66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
thorpej
0b04d28454 Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej
53a8f81b2f inline -> __inline 1997-11-05 04:13:24 +00:00
thorpej
b868a7c2ab asm -> __asm__, volatile -> __volatile 1997-11-05 03:57:52 +00:00
thorpej
4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
is
5c7d3c3f2c Back out last change, which was a thinko. 1997-11-03 11:10:41 +00:00
is
2ee51585ba Add ftwotox emulation, by using the fscale emulation routine (preload
destination register bit pattern with 1.0), which automatically provides
corner case handling.
Missing ftwotox emulation originally reported by Norman Mackenzie in PR 4237,
but he proposed a different implementation.
1997-11-02 22:02:46 +00:00
thorpej
665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
gwr
5665df7a14 comments 1997-10-21 19:15:33 +00:00
gwr
0e5142a525 Move the (boiled down) interface declarations into m68k.h
Too late for the release, unfortunately...
1997-10-21 18:03:56 +00:00
gwr
10f5adfd00 Fix warnings on the sun3 caused by the fact that sun3/include/cpu.h
does not (and should not) declare stuff like getsfc().  Instead,
include <m68k/m68k.h> for those declarations.
1997-10-21 17:30:15 +00:00
gwr
9215c4253e Declarations for things exported by sources in this directory.
(i.e. stuff that does not belong in <machine/cpu.h>)
1997-10-21 17:23:23 +00:00
briggs
acbf52300f Include vm/vm.h. 1997-10-17 02:50:50 +00:00
carrel
5f5ee7f57b Need to include vm/vm.h 1997-10-16 18:23:38 +00:00
leo
a1025a03cc Correct TBIS_20 parameters, add DCFA/DCPA defines for the 020/030 (From
Ignatios).
1997-10-13 11:21:12 +00:00
leo
49867b6097 Correct TBIS_20 parameters, add DCFA/DCPA defines for the 020/030 (From
Ignatios).
1997-10-13 11:21:09 +00:00
mycroft
448c9be261 Common stuff, like mips/Makefile.inc. 1997-10-11 09:10:09 +00:00
is
9f6d6708f4 Help crosscompiling, by as -> $(AS). Define AS?= as in the calling
Makefile.$(ARCH)es. Will hopefully fix the (remaining) part or pr4010.
1997-10-09 20:40:18 +00:00
is
eb54c04b14 Don't forget to set the scale variable even if we dont need to sign-extend it.
From PR 4236 by Norman Mackenzie.
1997-10-09 19:19:01 +00:00
bouyer
6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
thorpej
0e22d3b5a3 Copyright assigned to The NetBSD Foundation. 1997-10-04 17:34:08 +00:00
is
3f894ade50 - only convert real hex constants to 0x form, not $NetBSD...
- protect comment lines from future uses of CPP by putting a | in front
1997-09-30 21:47:22 +00:00
is
81fb4c961d Forgot to remove this yesterday... this was renamed to netbsd060sp.S. 1997-09-29 22:28:14 +00:00
is
d5e867bb03 Build the 68060 support package in the kernel build dir.
XXX PCB_ONFAULT is still hardwired to 64 in netbsd060sp.S.
1997-09-28 20:49:56 +00:00
is
8e9fc838dc In the OS glue code for the 060SP, replace the copyin()/copyout() glue by
movs.
XXX As our CPP seems to hate the 060SP, I couldn't use assym.h for the
PCB_ONFAULT definition, but had to hardwire 64 in the code. This needs
to  be fixed ASAP, and will be done in the upcoming reorganization of
the 060sp Makefiles.
1997-09-28 12:57:57 +00:00
is
b325cdd771 Build this in ${KERNEL_BUILD_DIRECTORY}/lib/fpsp, similar to libkern. 1997-09-21 17:33:36 +00:00
leo
c5ba7a3102 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:06:37 +00:00
jeremy
f5c0dfebd6 Use ${CC} instead of cc and don't explicitly set AR and LD unless they are
unset.
1997-09-18 22:55:56 +00:00
leo
00a1b6300f Add DCFA() definitions. 1997-09-15 11:12:13 +00:00
is
d8e09ca5ea Align some comments, so that I'll be able to track changes better. 1997-07-28 19:01:13 +00:00
is
95370c73b8 Make us pass the full ieeefp except regression test.
XXX This is probably a horrible hack, and wrong. FPU signal handling needs
to be further evaluated.
1997-07-20 12:39:17 +00:00
is
f8ce8a3693 Fix my own PR port-m68k/3871, nee port-amiga/3871:
- don't erase FPSR exception bits _after_ doing most of the operations in
fpu_implode(), erase them before doing arith and store operations. This fixes
losing the DZ bit.
- create FPSR_OVFL and FPSR_UNFL bits in fpu_implode(). This showed up when
the first error was fixed.
XXX some more work needs to be done. E.g., creating OPERR together with
OVFL looks bogus, but I'm too tired know to re-check docs; and at least we
pass our own regression tests know.
1997-07-19 22:28:48 +00:00
veego
76371b8a9d include <m68k/db_machdep.h> to get the prototype for kdb_trap if DDB and
DEBUG are defined and add a cast for the second argument to the
kdb_trap call.
1997-07-17 06:27:08 +00:00
thorpej
b88b183ab5 Don't have kernel vs. non-kernel versions of _ENTRY(); there's no
reason to omit the .type directive in the kernel case.
1997-07-14 07:44:56 +00:00
veego
78996821fa Move the defines of UPAGES and NPTEPG back to the MD param.h, execpt that
the sun3[x] doesn't use NPTEPG.
1997-07-10 08:22:09 +00:00
is
de025de65f Add support for T-racing of emulated instructions. (Yes, gdb uses this.) 1997-06-27 23:32:09 +00:00
is
f3efbb406a The recent buserr handler cleanup in the Amiga locore.s made the label
_buserr point to the 68020/030 buserr code _only_. This has broken access
error handling in the 060 support code.
This is repaired by jumping to _buserr60 from the 060SP, and by providing
a _buserr60 label identical to the _buserr in the unchanged m68k ports
using the 68060.
1997-06-26 22:28:42 +00:00
thorpej
0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
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
f7d1a9f167 Add the 'Mach derived conversion macros' from <arch>/include/param.h. 1997-06-10 18:21:23 +00:00
veego
451bfcbc85 New MI include file. Based on the param.h from all m68k ports. 1997-06-10 07:51:43 +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
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
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
briggs
fc919965e8 Make sunos_sigreturn() match prototype. 1995-09-21 11:41:04 +00:00
jtc
f269c3f49e Fix bug when the second argument of va_start was a char, short or float.
(ie. not promoted); fixes PR# 1193.  Thanks to Bernd Ernesti and Markus
Wild.
1995-09-07 01:20:15 +00:00
mycroft
29053c58b2 SA_ONSTACK --> SS_ONSTACK 1995-09-01 20:05:59 +00:00
mycroft
36a94a031a Lock the process in core before operating on it. 1995-08-13 09:05:51 +00:00
cgd
479fb9e45b add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
jtc
55fbbc705d Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif. 1995-06-20 20:45:22 +00:00
jtc
1d65cdd4ab #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
leo
56dc7b26ad Atari no longer uses the default db_read/write functions. 1995-06-09 20:03:05 +00:00
gwr
ea63c8d798 Fix range check for kernel stack pointers. 1995-05-24 20:23:34 +00:00
gwr
31870d2eec Compute value of ssp correctly. 1995-05-24 20:23:05 +00:00
mycroft
3d833a1ab1 Conditionalize the code in process_frame() on the existance of
cpu_set_init_frame().
1995-05-12 12:47:45 +00:00
mycroft
c52debae3f Redefine the first part of struct frame to be a struct trapframe, and add a
struct switchframe.
1995-05-12 12:45:24 +00:00
chopps
4567f74662 add stdframe (4-word frame) 1995-05-12 00:01:05 +00:00
chopps
2526492410 fix typo 1995-05-11 23:49:56 +00:00
chopps
1ba39fdfd1 conditional use of kstack, specifically there is no kstack on the amiga 1995-05-11 23:15:13 +00:00
cgd
9b7c37148b new-config files list. missed this yesterday. 1995-04-30 02:44:44 +00:00
cgd
0e59975fac rename files files for new config/config.old naming 1995-04-28 08:19:12 +00:00
chopps
10eb24c459 add needed signal debug stuff so it will compile with DEBUG 1995-04-23 18:22:14 +00:00
briggs
11632db942 Make this actually compile... 1995-04-23 00:27:48 +00:00
christos
00e1cff41a Shared sunos_machdep.c 1995-04-22 23:43:07 +00:00
mycroft
4b5c13c2c7 Shift the bit positions. 1995-04-09 23:29:22 +00:00
mycroft
e957423a98 Move fp_except and fp_rnd definitions to machine/include. 1995-04-09 21:31:58 +00:00
jtc
7a5da7fda2 Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
current rounding mode is accurately reported.
1995-04-07 00:44:37 +00:00
briggs
71a63538b8 KERNEL -> _KERNEL 1995-03-26 17:08:36 +00:00
jtc
f86410093b Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
gwr
d0dba9b2d2 Add missing break in switch (not that it mattered 8^) 1995-03-10 01:43:05 +00:00
gwr
6ca3d5b258 First cut at an mc68881 emulator. Works only for fmovem right now. 1995-03-01 04:56:27 +00:00
chopps
70d3768555 add amiga in here too 1995-02-13 00:44:33 +00:00
mycroft
aa166654e0 Fix typos copied from i386 code. 1995-02-11 21:59:29 +00:00
gwr
664fc712cc Make most of the labels local (start with "L")
Remove sun3-specific code (no longer necessary)
Add diagnostic to verify correct sfc/dfc (applies to all m68k).
1995-02-11 20:54:11 +00:00
mycroft
bc743704d0 Change comment style to match the rest of locore. 1995-02-08 17:38:03 +00:00
mycroft
989a13ef22 Oops. Change the su*() functions back to using d0, to avoid conflict with
the Sun 3 code.
1995-02-08 17:32:13 +00:00
mycroft
601e2d1b77 Add fu/su functions from hp300, modified for Sun 3. 1995-02-08 14:50:38 +00:00
mycroft
56c0e01a38 The count argument is always unsigned. 1995-02-08 14:26:10 +00:00