Finish Thumb2 Support
Finish Thumb2 support for kprobes, ftrace, dynamic trace, stack backtraces, string routines (11.05)
Blueprint information
- Status:
- Complete
- Approver:
- Deepak Saxena
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Dave Martin
- Definition:
- Obsolete
- Series goal:
- Accepted for devtrack
- Implementation:
- Good progress
- Milestone target:
- backlog
- Started by
- Mounir Bsaibes
- Completed by
- Deepak Saxena
Related branches
Related bugs
Sprints
Whiteboard
Headline: Extend kprobes to support Thumb-2 kernels. Kprobes enable dynamically breaking into any kernel routine and collecting debugging and performance information non-disruptively. They are used as a building block by various tracing and performance monitoring tools.
Work Items
Work items for 11.07:
[tixy] kprobes - Create emulation and test code for Thumb-2 instructions prefixed 1111100: DONE
[tixy] kprobes - Create emulation and test code for remaining Thumb-2 instructions: DONE
[tixy] kprobes - Optimise STM and LDM emulation: DONE
[tixy] kprobes - Reject probing of intsructions which do UNPREDICTABLE writes to SP: DONE
[tixy] kprobes - Write test code for IT Blocks with >1 instruction: DONE
[tixy] kprobes - Investigate cause of A flag randomness in test code: DONE
[tixy] kprobes - Add decoding table self consistency, and test case coverage checks: DONE
[tixy] kprobes - Tidyup and document kprobe changes: DONE
[tixy] kprobes - Tidyup and document kprobe test code: POSTPONED
[tixy] kprobes - Prepare patches for review: DONE
[npitre] kprobes - Code review of Thumb probing code: DONE
[tixy] kprobes - Decide on and implement handling of conditional instruction probing: DONE
[tixy] kprobes - Investigate an resolve any issues with text_mutex: DONE
[tixy] kprobes - Rework following code review of Thumb probing code: DONE
[tixy] kprobes - Modify ARM instruction emulation to use decode tables: DONE
[tixy] kprobes - Make ARM ALU and LDR instruction emulation interwork with Thumb: DONE
[tixy] kprobes - Tidyup ARM instruction emulation and prepare patches for review: DONE
[npitre] kprobes - Code review of ARM probing code and any other changes: DONE
[tixy] kprobes - Rework following code review of ARM probing code: DONE
[tixy] kprobes - Submit patches: DONE
[dave-martin-arm] follow up to see if Versatile Express can be built in thumb2 by default in Linaro kernels -- cmarinas says it works: DONE
[dave-martin-arm] enable Thumb-2 for linaro vexpress kernels: DONE
[dave-martin-arm] investigate whether breakpoints facility in perf userspace tool is broken (assuming that sizeof(unsigned long) == sizeof(
Work items for 11.10:
[dave-martin-arm] to document what he needed to do get Thumb-2 kernel working for a new SoC: DONE
[dave-martin-arm] to follow up with each landing team to find some one to implement Thumb-2 for each remaining SoC: TODO
Work items:
[dave-martin-arm] extend perf userspace tool memory event syntax to allow breakpoint size to be specified: TODO
[dave-martin-arm] submit perf extension upsteram: TODO
Make thumb state bit in kernel symbols and module symbols consitant with each other. This is blocking a fix for jprobes. (See http://
Dependency tree
* Blueprints in grey have been implemented.