]> git.wh0rd.org - patches.git/blame - hwtracebuffer.patch
more random patches. who knows.
[patches.git] / hwtracebuffer.patch
CommitLineData
5e993f12 1Index: arch/blackfin/mach-common/entry.S
2===================================================================
3RCS file: /usr/local/src/blackfin/rsync/uclinux533/uClinux-dist/linux-2.6.x/arch/blackfin/mach-common/entry.S,v
4retrieving revision 1.43
5diff -u -p -r1.43 entry.S
6--- arch/blackfin/mach-common/entry.S 31 Aug 2006 06:22:41 -0000 1.43
7+++ arch/blackfin/mach-common/entry.S 2 Sep 2006 01:22:06 -0000
8@@ -57,6 +57,29 @@
9 #include <asm/thread_info.h> /* TIF_NEED_RESCHED */
10 #include <asm/asm-offsets.h>
11
12+#ifdef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE
13+ /*
14+ * TODO: this should be proper save/restore, but for now
15+ * we'll just cheat and use 0x1/0x13
16+ */
17+# define DEBUG_START_HWTRACE \
18+ P0.l = LO(TBUFCTL); \
19+ P0.h = HI(TBUFCTL); \
20+ R0 = [SP++]; \
21+ [P0] = R0;
22+# define DEBUG_STOP_HWTRACE \
23+ P0.l = LO(TBUFCTL); \
24+ P0.h = HI(TBUFCTL); \
25+ R0 = [P0]; \
26+ R1 = ~TBUFEN; \
27+ [SP--] = R0; \
28+ R2 = R0 & R1; \
29+ [P0] = R2;
30+#else
31+# define DEBUG_START_HWTRACE
32+# define DEBUG_STOP_HWTRACE
33+#endif
34+
35 .data
36 ALIGN
37 _extable:
38@@ -149,7 +172,9 @@ ENTRY(_ex_icplb)
39 (R7:6,P5:4) = [sp++];
40 ASTAT = [sp++];
41 SAVE_ALL_SYS
42+ DEBUG_STOP_HWTRACE
43 call __cplb_hdr;
44+ DEBUG_START_HWTRACE
45 RESTORE_ALL_SYS
46 SP = RETN;
47 rtx;