diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-07-31 10:23:59 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-09-26 09:44:49 -0400 |
commit | c10302efe569bfd646b4c22df29577a4595b4580 (patch) | |
tree | fbfba0e5a1cab17411f6d2084477abbdd9e9e547 /arch/s390/kernel/dis.c | |
parent | 6f0f9b6b3fcfe5e156f20d4f804f0d505c750b3c (diff) |
s390/bpf,jit: BPF Just In Time compiler for s390
The s390 implementation of the JIT compiler for packet filter speedup.
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/dis.c')
-rw-r--r-- | arch/s390/kernel/dis.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/s390/kernel/dis.c b/arch/s390/kernel/dis.c index 619c5d350726..84fd7e920bfe 100644 --- a/arch/s390/kernel/dis.c +++ b/arch/s390/kernel/dis.c | |||
@@ -1601,3 +1601,26 @@ void show_code(struct pt_regs *regs) | |||
1601 | } | 1601 | } |
1602 | printk("\n"); | 1602 | printk("\n"); |
1603 | } | 1603 | } |
1604 | |||
1605 | void print_fn_code(unsigned char *code, unsigned long len) | ||
1606 | { | ||
1607 | char buffer[64], *ptr; | ||
1608 | int opsize, i; | ||
1609 | |||
1610 | while (len) { | ||
1611 | ptr = buffer; | ||
1612 | opsize = insn_length(*code); | ||
1613 | ptr += sprintf(ptr, "%p: ", code); | ||
1614 | for (i = 0; i < opsize; i++) | ||
1615 | ptr += sprintf(ptr, "%02x", code[i]); | ||
1616 | *ptr++ = '\t'; | ||
1617 | if (i < 4) | ||
1618 | *ptr++ = '\t'; | ||
1619 | ptr += print_insn(ptr, code, (unsigned long) code); | ||
1620 | *ptr++ = '\n'; | ||
1621 | *ptr++ = 0; | ||
1622 | printk(buffer); | ||
1623 | code += opsize; | ||
1624 | len -= opsize; | ||
1625 | } | ||
1626 | } | ||