sim: bpf: include more local headers & fix broken funcs
Various files were not including the relevant headers, or some funcs were missing prototypes entirely, leading to mismatch between the actual definition of the functions. Add includes to a few places and fix the broken functions that are uncovered as a result. Fixing some compile warnings (e.g. missing prototypes) often find real bugs.
This commit is contained in:
parent
5db3a175cc
commit
76f11310df
5 changed files with 25 additions and 10 deletions
|
@ -1,3 +1,16 @@
|
|||
2021-06-27 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bpf-helpers.c: Include bpf-helpers.h.
|
||||
* bpf-helpers.h (bpf_trace_printk): Change return type to int.
|
||||
(bpfbf_breakpoint): New prototype.
|
||||
* bpf.c: Include decode-be.h & decode-le.h.
|
||||
(bpfbf_ebpfle_init_idesc_table): Delete prototype.
|
||||
(bpfbf_ebpfbe_init_idesc_table): Delete prototype.
|
||||
(bpfbf_model_insn_after): Add 3rd argument.
|
||||
(bpf_def_model_init): Add 1st argument.
|
||||
(bpfbf_prepare_run): Mark static.
|
||||
* sim-main.h: Include bpf-helpers.h.
|
||||
|
||||
2021-06-27 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bpf-helpers.c (bpf_trace_printk): Add casts to every value printf.
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#include "cgen-ops.h"
|
||||
#include "cpu.h"
|
||||
|
||||
#include "bpf-helpers.h"
|
||||
|
||||
/* bpf_trace_printk is a printk-like facility for debugging.
|
||||
|
||||
In the kernel, it appends a line to the Linux's tracing debugging
|
||||
|
|
|
@ -26,6 +26,8 @@ enum bpf_kernel_helper
|
|||
#undef DEF_HELPER
|
||||
};
|
||||
|
||||
void bpf_trace_printk (SIM_CPU *current_cpu);
|
||||
int bpf_trace_printk (SIM_CPU *current_cpu);
|
||||
|
||||
VOID bpfbf_breakpoint (SIM_CPU *current_cpu);
|
||||
|
||||
#endif /* ! BPF_HELPERS_H */
|
||||
|
|
|
@ -30,15 +30,12 @@
|
|||
#include "cpuall.h"
|
||||
#include "decode.h"
|
||||
|
||||
#include "decode-be.h"
|
||||
#include "decode-le.h"
|
||||
|
||||
#include "defs-le.h" /* For SCACHE */
|
||||
#include "bpf-helpers.h"
|
||||
|
||||
/* It is not possible to include both defs-le.h and defs-be.h due to
|
||||
duplicated definitions, so we need a bunch of forward declarations
|
||||
here. */
|
||||
extern void bpfbf_ebpfle_init_idesc_table (SIM_CPU *);
|
||||
extern void bpfbf_ebpfbe_init_idesc_table (SIM_CPU *);
|
||||
|
||||
uint64_t skb_data_offset;
|
||||
|
||||
IDESC *bpf_idesc_le;
|
||||
|
@ -84,7 +81,7 @@ bpfbf_model_insn_before (SIM_CPU *current_cpu, int first_p)
|
|||
}
|
||||
|
||||
void
|
||||
bpfbf_model_insn_after (SIM_CPU *current_cpu, int first_p)
|
||||
bpfbf_model_insn_after (SIM_CPU *current_cpu, int first_p, int cycles)
|
||||
{
|
||||
/* XXX */
|
||||
}
|
||||
|
@ -209,7 +206,7 @@ bpfbf_breakpoint (SIM_CPU *current_cpu)
|
|||
several ISAs. This should be fixed in CGEN. */
|
||||
|
||||
static void
|
||||
bpf_def_model_init (void)
|
||||
bpf_def_model_init (SIM_CPU *cpu)
|
||||
{
|
||||
/* Do nothing. */
|
||||
}
|
||||
|
@ -220,7 +217,7 @@ bpfbf_prepare_run (SIM_CPU *cpu)
|
|||
/* Nothing. */
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
bpf_engine_run_full (SIM_CPU *cpu)
|
||||
{
|
||||
if (CURRENT_TARGET_BYTE_ORDER == BFD_ENDIAN_LITTLE)
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include "sim-base.h"
|
||||
#include "cgen-sim.h"
|
||||
#include "bpf-sim.h"
|
||||
#include "bpf-helpers.h"
|
||||
|
||||
|
||||
struct _sim_cpu
|
||||
|
|
Loading…
Add table
Reference in a new issue