freebsd-skq/sys/i386
mmacy 33d22ed3f8 hwpmc: simplify calling convention for hwpmc interrupt handling
pmc_process_interrupt takes 5 arguments when only 3 are needed.
cpu is always available in curcpu and inuserspace can always be
derived from the passed trapframe.

While facially a reasonable cleanup this change was motivated
by the need to workaround a compiler bug.

core2_intr(cpu, tf) ->
  pmc_process_interrupt(cpu, ring, pmc, tf, inuserspace) ->
    pmc_add_sample(cpu, ring, pm, tf, inuserspace)

In the process of optimizing the tail call the tf pointer was getting
clobbered:

(kgdb) up
    at /storage/mmacy/devel/freebsd/sys/dev/hwpmc/hwpmc_mod.c:4709
4709                                pmc_save_kernel_callchain(ps->ps_pc,
(kgdb) up
1205                    error = pmc_process_interrupt(cpu, PMC_HR, pm, tf,

resulting in a crash in pmc_save_kernel_callchain.
2018-06-08 04:58:03 +00:00
..
acpica Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
bios Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
cloudabi32 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
conf Finish COMPAT_AOUT support for amd64. It wasn't in any amd64 or MI 2018-06-02 06:40:15 +00:00
i386 hwpmc: simplify calling convention for hwpmc interrupt handling 2018-06-08 04:58:03 +00:00
ibcs2 Fix kernel memory disclosure in ibcs2_getdents 2018-03-21 23:26:42 +00:00
include cpufunc: add rdtscp for x86 2018-06-07 00:54:11 +00:00
linux Correct pointer subtraction in KASSERT(). 2018-05-29 20:03:24 +00:00
pci Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
Makefile