ad684dce87fac52738649e62b4afa25081b52a28 |
|
30-Sep-2014 |
Jon Medhurst <tixy@linaro.org> |
ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset" When compiling kprobes-test-arm.c the following error has been observed /tmp/ccoT403o.s:21439: Error: bad immediate value for offset (4168) This is caused by the compiler spilling it's literal pool too far away from the site which is trying to reference it with a PC relative load. This arises because the compiler is underestimating the size of the inline assembler code present, which apparently it approximates as 4 bytes per line or instruction. We fix this problem by moving the operations which generate more than 4 bytes out of the text section. Specifically, moving the .ascii directives to the .rodata section. Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
48f7bc86b6e75bcb71441c77378c1cde6ecbe475 |
|
23-Jan-2014 |
Jon Medhurst <tixy@linaro.org> |
ARM: kprobes: Prevent known test failures stopping other tests running Due to a long-standing issue with Thumb symbol lookup [1] the jprobes tests fail when built into a kernel compiled as Thumb mode. (They work fine for ARM mode kernels or for Thumb when built as a loadable module.) Rather than have this problem terminate testing prematurely lets instead emit an error message and carry on with the main kprobes tests, delaying the final failure report until the end. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-August/063026.html Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
41b5368f31f86a1c2be2bb16a1cf18d23f1223d4 |
|
08-Nov-2013 |
Taras Kondratiuk <taras.kondratiuk@linaro.org> |
ARM: kprobes-test: Workaround GAS .align bug By default if no fill symbol is given to .align directive in a code section it fills gap with NOPs. If previous fragment is not instruction-aligned, additional pre-alignment is done by zero bytes before NOPs. These zero bytes are marked as data by special symbol $d in symbol table. Unfortunately GAS assumes that there is only code in the code section so it "puts back" code symbol $a at the end of this pre-alignment. So if there is some data after alignment it will be interpreted as code and will be swapped back to LE for BE8 system during a final linking. If explicit fill value is given to .align, the NOP-padding code is skipped and symbol table does not get messed-up. So the workaround for this issue: Use explicit fill value if data should be aligned in the code section. Acked-by: Ben Dooks <ben.dooks@codethink.co.uk> Acked-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
|
4712e17aa4b3c348cd0c7afc6370551a9193b65f |
|
08-Nov-2013 |
Ben Dooks <ben.dooks@codethink.co.uk> |
ARM: kprobes-test: use <asm/opcodes.h> for instruction accesses Ensure we read instructions in the correct endian-ness by using the <asm/opcodes.h> helper to transform them as necessary. Acked-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> [taras.kondratiuk@linaro.org: fix next_instruction() function] Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
|
47e190fafde49ff8ca732fa137e39cb2b8baba8c |
|
07-Mar-2014 |
David A. Long <dave.long@linaro.org> |
ARM: Change the remaining shared kprobes/uprobes symbols to something generic Any more ARM kprobes/uprobes symbols which have "kprobe" in the name must be changed to the more generic "probes" or other non-kprobes specific symbol. Signed-off-by: David A. Long <dave.long@linaro.org> Acked-by: Jon Medhurst <tixy@linaro.org>
|
21254ebc9e509967317ad8c6922797e21137ad53 |
|
07-Mar-2014 |
David A. Long <dave.long@linaro.org> |
ARM: Fix missing includes in kprobes sources Make sure includes in ARM kprobes sources are done explicitly. Do not rely on includes from other includes. Signed-off-by: David A. Long <dave.long@linaro.org> Acked-by: Jon Medhurst <tixy@linaro.org>
|
744627e91c3c272e4c9f866ee61808f4206a9450 |
|
05-Nov-2012 |
Masanari Iida <standby24x7@gmail.com> |
treewide: fix printk typo in multiple drivers Correct spelling typo in multiple drivers. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
c41584ddc1b9c7d06726057456d188d4eefec60b |
|
12-Dec-2011 |
Leif Lindholm <leif.lindholm@arm.com> |
ARM: 7209/1: Use generic ARM instruction set condition code checks for kprobes. This patch changes the kprobes implementation to use the generic ARM instruction set condition code checks, rather than a dedicated implementation. Signed-off-by: Leif Lindholm <leif.lindholm@arm.com> Acked-by: Jon Medhurst <tixy@yxit.co.uk> Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
08aab447c56a5388cf0c768da476ad022f00fef8 |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add introductory comment to test code Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
ce5af3bad0e03e94d01c002698ca6b2697b51836 |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add some benchmarking to test module These benchmarks show the basic speed of kprobes and verify the success of optimisations done to the emulation of typical function entry instructions (i.e. push/stmdb). Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
963780dfe390e80e148eb84f0c84a01533a64d28 |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add decoding table test coverage analysis This is used to verify that all combinations of CPU instructions described by the kprobes decoding tables have a test case. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
68f360e753668b61366b7b4b2a5aa77ac5157c37 |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add decoding table self-consistency tests These check that the bitmask and match value used in the decoding tables are self consistent. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
c0cc6df16394da020242a54d577848f9edd9dc50 |
|
27-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add ARM instruction simulation test cases Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
c7054aad538c18bc4c311e74a24cb2e205f02e04 |
|
27-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add Thumb instruction simulation test cases Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
a43bc69b39484a448293f2eddc7e98ff15437414 |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Framework for instruction set test cases On ARM we have to simulate/emulate CPU instructions in order to singlestep them. This patch adds a framework which can be used to construct test cases for different instruction forms. It is described in detail in the in-source comments of kprobes-test.c Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
9eed1797720ae633cf17b03dd804d8744f1d3b5c |
|
28-Aug-2011 |
Jon Medhurst <tixy@yxit.co.uk> |
ARM: kprobes: Add basic API tests These test that the different kinds of probes can be successfully placed into ARM and Thumb code and that the handlers are called correctly when this code is executed. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|