Title: [7903] trunk/arch/blackfin/kernel/debug-mmrs.c: blackfin debug-mmrs: export supervisor-only system registers
Revision
7903
Author
vapier
Date
2009-12-01 18:04:06 -0500 (Tue, 01 Dec 2009)

Log Message

blackfin debug-mmrs: export supervisor-only system registers

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/debug-mmrs.c (7902 => 7903)


--- trunk/arch/blackfin/kernel/debug-mmrs.c	2009-12-01 22:56:59 UTC (rev 7902)
+++ trunk/arch/blackfin/kernel/debug-mmrs.c	2009-12-01 23:04:06 UTC (rev 7903)
@@ -58,6 +58,31 @@
 #define D_SPORT_RO(name, bits, addr) _D_SPORT(name, addr, S_IRUSR, &fops_sport_ro)
 #define D_SPORT_WO(name, bits, addr) _D_SPORT(name, addr, S_IWUSR, &fops_sport_wo)
 
+#define DEFINE_SYSREG(sr, pre, post) \
+static int sysreg_##sr##_get(void *data, u64 *val) \
+{ \
+	unsigned long tmp; \
+	pre; \
+	__asm__ __volatile__("%0 = " #sr ";" : "=d"(tmp)); \
+	*val = tmp; \
+	return 0; \
+} \
+static int sysreg_##sr##_set(void *data, u64 val) \
+{ \
+	unsigned long tmp = val; \
+	__asm__ __volatile__(#sr " = %0;" : : "d"(tmp)); \
+	post; \
+	return 0; \
+} \
+DEFINE_SIMPLE_ATTRIBUTE(fops_sysreg_##sr, sysreg_##sr##_get, sysreg_##sr##_set, "0x%08llx\n")
+
+DEFINE_SYSREG(cycles, , );
+DEFINE_SYSREG(cycles2, __asm__ __volatile__("%0 = cycles;" : "=d"(tmp)), );
+DEFINE_SYSREG(emudat, , );
+DEFINE_SYSREG(seqstat, , );
+DEFINE_SYSREG(syscfg, , CSYNC());
+#define D_SYSREG(sr) debugfs_create_file(#sr, S_IRUSR|S_IWUSR, parent, NULL, &fops_sysreg_##sr)
+
 static struct dentry *debug_mmrs_dentry;
 
 static int __init bfin_debug_mmrs_init(void)
@@ -71,7 +96,12 @@
 		return -1;
 
 	parent = debugfs_create_dir("Core Registers", top);
-	debugfs_create_x32("SEQSTAT", S_IRUSR, parent, &last_seqstat);
+	debugfs_create_x32("last_seqstat", S_IRUSR, parent, &last_seqstat);
+	D_SYSREG(cycles);
+	D_SYSREG(cycles2);
+	D_SYSREG(emudat);
+	D_SYSREG(seqstat);
+	D_SYSREG(syscfg);
 
 #ifdef __ADSPBF512__
 # define USE_BF512 1
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to