Date: Fri, 24 Apr 2009 04:17:21 +0000 (UTC) From: Oleksandr Tymoshenko <gonzo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r191451 - projects/mips/sys/mips/include Message-ID: <200904240417.n3O4HLI8008098@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904240417.n3O4HLI8008098>