summaryrefslogtreecommitdiff
path: root/tools/perf/util/bpf-prologue.h
blob: d94cbea128999aab4368404140b07a0755ba4439 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * Copyright (C) 2015, He Kuang <hekuang@huawei.com>
 * Copyright (C) 2015, Huawei Inc.
 */
#ifndef __BPF_PROLOGUE_H
#define __BPF_PROLOGUE_H

#include <linux/compiler.h>
#include <linux/filter.h>
#include "probe-event.h"

#define BPF_PROLOGUE_MAX_ARGS 3
#define BPF_PROLOGUE_START_ARG_REG BPF_REG_3
#define BPF_PROLOGUE_FETCH_RESULT_REG BPF_REG_2

#ifdef HAVE_BPF_PROLOGUE
int bpf__gen_prologue(struct probe_trace_arg *args, int nargs,
		      struct bpf_insn *new_prog, size_t *new_cnt,
		      size_t cnt_space);
#else
static inline int
bpf__gen_prologue(struct probe_trace_arg *args __maybe_unused,
		  int nargs __maybe_unused,
		  struct bpf_insn *new_prog __maybe_unused,
		  size_t *new_cnt,
		  size_t cnt_space __maybe_unused)
{
	if (!new_cnt)
		return -EINVAL;
	*new_cnt = 0;
	return -ENOTSUP;
}
#endif
#endif /* __BPF_PROLOGUE_H */
ff)
x86/ioapic: Restore IO-APIC irq_chip retrigger callback
commit d32932d02e18 removed the irq_retrigger callback from the IO-APIC chip and did not add it to the new IO-APIC-IR irq chip. Unfortunately the software resend fallback is not enabled on X86, so edge interrupts which are received during the lazy disabled state of the interrupt line are not retriggered and therefor lost. Restore the callbacks. [ tglx: Massaged changelog ] Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com> Cc: xe-linux-external@cisco.com Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@cisco.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/usb/serial')