#ifndef TRAFGEN_CONF #define TRAFGEN_CONF #include #include #include #include #include "trafgen_proto.h" #define PROTO_MAX_LAYERS 16 #define TYPE_INC 0 #define TYPE_DEC 1 enum csum { CSUM_IP, CSUM_UDP, CSUM_TCP, CSUM_UDP6, CSUM_TCP6, CSUM_ICMP6, }; struct counter { int type, inc; uint8_t min, max, val; off_t off; }; struct randomizer { off_t off; }; struct csum16 { off_t off, from, to; enum csum which; }; struct packet { uint32_t id; uint8_t *payload; size_t len; struct proto_hdr *headers[PROTO_MAX_LAYERS]; size_t headers_count; struct timespec tstamp; bool is_created; }; struct packet_dyn { struct counter *cnt; size_t clen; struct randomizer *rnd; size_t rlen; struct csum16 *csum; size_t slen; struct proto_field **fields; size_t flen; }; static inline bool packet_dyn_has_elems(struct packet_dyn *p) { return (p->clen || p->rlen || p->slen); } static inline bool packet_dyn_has_only_csums(struct packet_dyn *p) { return (p->clen == 0 && p->rlen == 0 && p->slen); } static inline bool packet_dyn_has_fields(struct packet_dyn *p) { return p->flen; } extern void compile_packets_str(char *str, bool verbose, unsigned int cpu); extern void compile_packets(char *file, bool verbose, unsigned int cpu, bool invoke_cpp, char *const cpp_argv[]); extern void cleanup_packets(void); extern void set_fill(uint8_t val, size_t len); extern struct packet *current_packet(void); extern uint32_t current_packet_id(void); extern struct packet *packet_get(uint32_t id); extern struct packet *realloc_packet(void); #endif /* TRAFGEN_CONF */ 9736475205'>refslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAlexander Popov <alex.popov@linux.com>2016-12-19 16:23:09 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-20 09:48:47 -0800
commit4983f0ab7ffaad1e534b21975367429736475205 (patch)
tree5b67abd27fa361e1441cade25051632ecd10316f /tools
parent7ede8665f27cde7da69e8b2fbeaa1ed0664879c5 (diff)
kcov: make kcov work properly with KASLR enabled
Subtract KASLR offset from the kernel addresses reported by kcov. Tested on x86_64 and AArch64 (Hikey LeMaker). Link: http://lkml.kernel.org/r/1481417456-28826-3-git-send-email-alex.popov@linux.com Signed-off-by: Alexander Popov <alex.popov@linux.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Rob Herring <robh@kernel.org> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: AKASHI Takahiro <takahiro.akashi@linaro.org> Cc: Jon Masters <jcm@redhat.com> Cc: David Daney <david.daney@cavium.com> Cc: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Nicolai Stange <nicstange@gmail.com> Cc: James Morse <james.morse@arm.com> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Andrey Konovalov <andreyknvl@google.com> Cc: Alexander Popov <alex.popov@linux.com> Cc: syzkaller <syzkaller@googlegroups.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'tools')