Disintegrate asm/system.h for Sparc
Disintegrate asm/system.h for Sparc. Signed-off-by: David Howells <dhowells@redhat.com> cc: sparclinux@vger.kernel.org
This commit is contained in:
parent
e839ca5287
commit
d550bbd40c
84 changed files with 684 additions and 669 deletions
|
@ -168,6 +168,29 @@ struct vcounter_struct {
|
|||
unsigned long long vcnt1;
|
||||
};
|
||||
|
||||
#else /* !(__KERNEL__) */
|
||||
|
||||
#ifndef CONFIG_SPARC32
|
||||
|
||||
/* Performance counter register access. */
|
||||
#define read_pcr(__p) __asm__ __volatile__("rd %%pcr, %0" : "=r" (__p))
|
||||
#define write_pcr(__p) __asm__ __volatile__("wr %0, 0x0, %%pcr" : : "r" (__p))
|
||||
#define read_pic(__p) __asm__ __volatile__("rd %%pic, %0" : "=r" (__p))
|
||||
|
||||
/* Blackbird errata workaround. See commentary in
|
||||
* arch/sparc64/kernel/smp.c:smp_percpu_timer_interrupt()
|
||||
* for more information.
|
||||
*/
|
||||
#define write_pic(__p) \
|
||||
__asm__ __volatile__("ba,pt %%xcc, 99f\n\t" \
|
||||
" nop\n\t" \
|
||||
".align 64\n" \
|
||||
"99:wr %0, 0x0, %%pic\n\t" \
|
||||
"rd %%pic, %%g0" : : "r" (__p))
|
||||
#define reset_pic() write_pic(0)
|
||||
|
||||
#endif /* !CONFIG_SPARC32 */
|
||||
|
||||
#endif /* !(__KERNEL__) */
|
||||
|
||||
#endif /* !(PERF_COUNTER_API) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue