svn commit: r191451 - projects/mips/sys/mips/include
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Fri Apr 24 04:17:21 UTC 2009
Author: gonzo
Date: Fri Apr 24 04:17:21 2009
New Revision: 191451
URL: http://svn.freebsd.org/changeset/base/191451
Log:
- Define accessor functions for CP0 Config(16) register selects 1, 2, 3.
Content of these registers is defined in MIPS spec and can be used
for obtaining info about CPU capabilities.
Modified:
projects/mips/sys/mips/include/cpufunc.h
Modified: projects/mips/sys/mips/include/cpufunc.h
==============================================================================
--- projects/mips/sys/mips/include/cpufunc.h Fri Apr 24 03:51:11 2009 (r191450)
+++ projects/mips/sys/mips/include/cpufunc.h Fri Apr 24 04:17:21 2009 (r191451)
@@ -212,18 +212,24 @@ MIPS_RDRW32_COP0(pagemask, MIPS_COP_0_TL
MIPS_RDRW32_COP0(prid, MIPS_COP_0_PRID);
MIPS_RDRW32_COP0(watchlo, MIPS_COP_0_WATCH_LO);
MIPS_RDRW32_COP0(watchhi, MIPS_COP_0_WATCH_HI);
+#undef MIPS_RDRW32_COP0
-static __inline uint32_t
-mips_rd_config_sel1(void)
-{
- int v0;
- __asm __volatile("mfc0 %[v0], $16, 1 ;"
- : [v0] "=&r" (v0));
- mips_barrier();
- return (v0);
+#define MIPS_RD_CONFIG_SEL(sel) \
+static __inline uint32_t \
+mips_rd_config_sel##sel(void) \
+{ \
+ int v0; \
+ __asm __volatile("mfc0 %[v0], $16, " #sel " ;" \
+ : [v0] "=&r" (v0)); \
+ mips_barrier(); \
+ return (v0); \
}
-#undef MIPS_RDRW32_COP0
+
+MIPS_RD_CONFIG_SEL(1);
+MIPS_RD_CONFIG_SEL(2);
+MIPS_RD_CONFIG_SEL(3);
+#undef MIPS_RD_CONFIG_SEL
static __inline register_t
intr_disable(void)
More information about the svn-src-projects
mailing list