Commit Graph

439 Commits

Author SHA1 Message Date
scw
e20f288fe5 Add a check to my last 'fix' which ensures the fault really
did happen in kernel mode.
1999-04-05 17:17:04 +00:00
scw
f7a019c61a Fix a problem I noticed a while back but had too many other things
in the air to deal with it.
Basically, following a kernel fault (eg. dereferencing a NULL pointer
in kernel mode) a DDB 'trace' did not show the function where the
fault occurred. For example:

	db> trace
	_Debugger()
	_panic()
	_trap()
	faultstkadj()
	_pool_drain()
	_uvm_pageout()
	_start_pagedaemon()
	_proc_trampoline()
	db>

The 'faultstkadj()' line here is bogus. It is shown because the return
address to 'trap()' happens to point there, and since faultstkadj() has
no stack frame, DDB assumes it was the faulting function. In this example,
the _real_ function was pool_reclaim(), but you would have to look at
the program counter at the time of the fault to figure that one out.

This fix makes the trace command do the dirty work for you by grubbing
around in 'trap()'s argument list to find the *real* PC value at the
time of the fault, replacing the 'faultstkadj()' line with the real
function's name.
1999-04-04 11:33:02 +00:00
minoura
e58c614810 CADDR1 and CADDR2 should not be used here. 1999-03-31 14:18:49 +00:00
mycroft
9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
mrg
7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
thorpej
a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
perry
d446fb449c exterminate ovbcopy. patches provided by Erik Bertelsen, pr-7145 1999-03-12 22:42:30 +00:00
is
e6da344c31 Update. 1999-02-22 22:07:37 +00:00
is
74ad0ecb0d Generate the MIT-assembler-format files statically. They nearly never change,
and if so, should be generated via the new Makefile and committed, too.
1999-02-22 21:25:05 +00:00
is
2c7fa23c38 Fix Copyright dates 1999-02-16 23:34:10 +00:00
is
dc068e0d1f Assign my files to The NetBSD Foundation, Inc. 1999-02-16 22:46:55 +00:00
hubertf
dcd5f59c0a RCS ID police 1999-02-15 04:14:54 +00:00
is
b0f697496e Provide a minimal instruction/data cache synchronization C binding.
(The function has always been in the kernels as special trap #12).
In response to PR 4951 by Hauke Fath.
1999-02-09 22:32:33 +00:00
is
b85f4a5e4d Remove redundant code (leftover from editing). 1999-01-30 21:54:49 +00:00
mycroft
897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
mycroft
ec253b6315 Use __builtin_next_arg(). Fixed PR 6862. 1999-01-22 14:14:32 +00:00
thorpej
cd3a2c5a2a Eliminate use of CPP symbol "mc68020". 1999-01-15 23:15:50 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
itohy
b50a4adc36 Eliminate `void *' arithmetic. 1999-01-09 19:23:26 +00:00
thorpej
da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej
a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
perry
0c20c72cf9 (mostly) fix kernel tags support. from Frederick Bruckman in pr-6445. 1998-11-15 20:36:30 +00:00
is
c6457000db Fix obvious typo in DEBUG code 1998-10-25 21:58:25 +00:00
is
8caffffa3e Activate cleandir (and distclean), as suggested in PR 6244 by
Frederick Bruckman.
1998-10-14 20:45:43 +00:00
scottr
8c9bf4e881 Use the size field to distinguish between ADDX and ADDA. Fixes a problem
pointed out by Paul Goyette.
1998-10-07 06:08:47 +00:00
scottr
651280426e Fix a problem pointed out by Paul Goyette: print_reglist() forgets that
it had a range of registers to print if A7 is among them.
1998-10-07 05:27:13 +00:00
thorpej
ec897ee047 Fix a problem reported by Michael Hitch. Basically, our libc relies on the
non-standard way of invoking sigreturn, specifically a side-effect that I
overlooked.  Thus, longjmp's return value was getting clobbered.

Sigh, so burn trap #3 just as sigreturn.

XXX We need an SVR4-style {get,set}context(2) to avoid wasting new
XXX trap vectors in the future.
1998-10-05 00:00:17 +00:00
thorpej
c1e5866bbe Fix a typo in a comment. 1998-10-04 23:56:17 +00:00
scw
acce9b3b1b Make this compile again when DEBUG is defined. 1998-10-03 21:58:52 +00:00
thorpej
ab915f7483 Oops, missing immediate qualifier, pointed out by Chas Williams. 1998-10-02 02:02:46 +00:00
thorpej
9e2b536bef Update for signal changes. 1998-10-01 20:41:29 +00:00
thorpej
586b0b3d1b Implement compat_13_sys_sigreturn(). 1998-10-01 01:03:56 +00:00
thorpej
ae2fcdc40a Oops, typo. 1998-10-01 00:22:02 +00:00
thorpej
c227be8efc Expect the syscall number to push to be in register d0. 1998-10-01 00:11:11 +00:00
thorpej
fa582abe7f Move trap #1 and trap #2 handlers here. Trap #1 handler now places
the cpmpat_13_sigreturn13 syscall number into d0 before calling the
sigreturn stub.
1998-09-30 23:52:32 +00:00
thorpej
db9f3cbe30 Use the new special syscall entry point, and specify SYS___sigreturn14.
Makes the sigcode grow by 4 bytes.

Note that we are no longer able to use the HP-UX breakpoint "sigcodetrap"
hack here, as a result.  This means that BSD programs can no longer be
debugged by HP-UX debuggers.  *Sniff*  Don't break my heart...
1998-09-30 22:38:17 +00:00
thorpej
f52431f2a3 Use the symbolic constant SYS_exit. 1998-09-30 22:26:28 +00:00
thorpej
1ce207046d Adapt to signal changes. 1998-09-30 21:55:02 +00:00
thorpej
aaec09ab91 Pull in <m68k/frame.h> if __M68K_SIGNAL_PRIVATE, for sigstate. 1998-09-30 21:52:45 +00:00
thorpej
f6ea7521d7 Put the sigstate and sigframe definitions in signal.h, protected by
__M68K_SIGNAL_PRIVATE.
1998-09-30 21:04:48 +00:00
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