Commit Graph

616 Commits

Author SHA1 Message Date
briggs 0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
fredette 783b314624 Only declare and define syscall_fancy if KTRACE and/or SYSTRACE are defined. 2002-07-17 21:21:46 +00:00
drochner 79c6003c2b make sure struct proc and struct frame are declared 2002-07-13 12:30:11 +00:00
scw bef00d4895 m68k syscall rototill:
- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
 - Add systrace glue.
 - Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
   (They were all defined exactly the same anyway, other than a couple
   of the MDP_* flags.)
2002-07-13 08:28:40 +00:00
scottr 3b09fcde6d Correct misplaced #endif that causes compile-time error if
neither M68040 nor M68060 are configured into the kernel.
2002-07-12 18:53:16 +00:00
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
scottr c509ab3f19 Add (unimplemented) cases to handle the 68020 and 68030 to
bus_dmamap_sync().  This corrects a fatal bug on at least some 68030-
based Macs. Closes PR 17180.
2002-07-04 18:09:59 +00:00
thorpej 584c5c23d3 During signal delivery, arrange to have the signal handler invoked
directly, using the trampoline only for the return path.  Saves a
"jsr" in the trampoline.

Reviewed, tested and OK'd by Steve Woodford.
2002-07-04 01:50:39 +00:00
thorpej 4c0113def4 Swap the order of the sigcontext and hardware state in the sigframe. 2002-06-23 21:31:12 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
yamt 0015b85918 make an auto const variable static. 2002-06-08 16:08:54 +00:00
thorpej d941ddfee0 Don't use -traditional-cpp if HAVE_GCC3. 2002-06-04 21:39:09 +00:00
drochner d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
thorpej 9a97f023a3 Fix undefined operation (= is not a sequence point). 2002-05-30 20:56:26 +00:00
matt 855ee2e758 #include <db/db_extern.h> 2002-05-14 00:14:53 +00:00
matt 0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
briggs 0844eedc55 bus_dma(9) pulled pretty much verbatim from next68k. 2002-04-10 04:36:20 +00:00
christos 83c2f7aaf5 compat signal array renaming. 2002-03-31 22:21:02 +00:00
simonb d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
simonb 2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
thorpej 2ef9623f96 Define EF_CPU32 and EF_M68000. 2002-01-28 21:34:48 +00:00
thorpej 593454cde4 Fix asm constraints. Sun3 kernels built with the new toolchain boot now. 2002-01-25 16:42:22 +00:00
thorpej 232c19df9d A statement must follow a label. 2001-12-26 19:00:31 +00:00
chs ed160d6aac make this compile again after -ffreestanding. 2001-12-24 18:20:50 +00:00
thorpej 51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
briggs c869df6afb The new toolchain wants to generate relocatable branches to globally-defined
symbols--even when the branches are local and would otherwise work with
bxx.b.  Compensate for this by shadowing the relevant labels with local
labels.
2001-12-09 01:43:13 +00:00
lukem c0d0f0b31c convert from macros to static inlines. allen briggs confirms resultant code
is the same with -Ox, for x>0 (as expected).
2001-12-05 04:37:28 +00:00
kleink e5341ee40f No point in installing svr4_machdep.h. 2001-11-28 13:14:12 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
fredette 7bed926c6e COMPAT_SUNOS requires the 1.3 sigreturn code, so include it
even if COMPAT_13 isn't defined.
2001-11-26 21:10:32 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
tsutsui 1bc09f71dc Pass CPPFLAGS properly so that source files can include <machine/asm.h> . 2001-10-07 01:39:51 +00:00
chs fee0c8e5ed support building fpsp with MAKEOBJDIRPREFIX. 2001-10-02 06:34:52 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fredette 3a6e3c55cb Added the crucial "packed" attribute to the type 8 frame structure. 2001-08-16 23:45:12 +00:00
jdolecek a95aa7326a g/c _remque()/_insque(); use the C version in libkern 2001-08-13 06:10:09 +00:00
matt c7d43df086 If = is in a constraint, it must be the first character. 2001-08-05 04:40:03 +00:00
tsutsui 6be7c15373 bcopy -> memcpy 2001-07-28 13:21:26 +00:00
tsutsui 88fbdda31f bcopy -> memcpy 2001-07-28 13:08:34 +00:00
scw d228a76237 Use PCB_ONFAULT instead of hardcoding a value of 64. This is fine
for Amiga and Atari but not for other m68k ports which use m68k/pcb.h.
2001-07-12 17:17:45 +00:00
toshii 4866f1a22b Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +00:00
christos 59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
fredette e20baedfd4 Added prototypes for w16zero and w16copy, found
in the new w16copy.s.
2001-06-14 15:49:05 +00:00
fredette c7154a0bfd Added two functions that zero memory and copy memory
in an optimized fashion using only properly aligned
8- and 16-bit accesses.
2001-06-14 15:38:16 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
chs 6ebe782061 mcount() is named __mcount() on ELF, do the right thing. 2001-05-27 01:01:08 +00:00
chs f5065c9c55 change the one non-extended asm back to using a single % before a
register name.  the rule is that extended asms should have the
regsiter-prefix %s escaped by doubling them, but non-extended asms
don't do the escaping thing, so there the %s should not be doubled.
2001-05-27 00:58:57 +00:00