94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China/*
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * CDDL HEADER START
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China *
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * The contents of this file are subject to the terms of the
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * Common Development and Distribution License (the "License").
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * You may not use this file except in compliance with the License.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China *
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * or http://www.opensolaris.org/os/licensing.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * See the License for the specific language governing permissions
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * and limitations under the License.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China *
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * When distributing Covered Code, include this CDDL HEADER in each
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * If applicable, add the following below this CDDL HEADER, with the
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * fields enclosed by brackets "[]" replaced with your own identifying
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * information: Portions Copyright [yyyy] [name of copyright owner]
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China *
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * CDDL HEADER END
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China */
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China/*
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China * Use is subject to license terms.
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China */
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#ifndef _ASM_CPU_H
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#define _ASM_CPU_H
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
6b7143d774683daf27dfb2e93ab48d1ade1a3477Richard Lowe#include <sys/ccompile.h>
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#include <sys/types.h>
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#ifdef __cplusplus
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing Chinaextern "C" {
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#if !defined(__lint) && defined(__GNUC__)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
6b7143d774683daf27dfb2e93ab48d1ade1a3477Richard Loweextern __GNU_INLINE void
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing Chinaprefetch_read_many(void *addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China{
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#if defined(__sparcv9)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China __asm__ __volatile__(
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China "prefetch [%0],#n_reads\n\t"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "=r" (addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "0" (addr));
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#else
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#error "port me"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China}
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
6b7143d774683daf27dfb2e93ab48d1ade1a3477Richard Loweextern __GNU_INLINE void
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing Chinaprefetch_read_once(void *addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China{
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#if defined(__sparcv9)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China __asm__ __volatile__(
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China "prefetch [%0],#one_read\n\t"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "=r" (addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "0" (addr));
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#else
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#error "port me"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China}
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
6b7143d774683daf27dfb2e93ab48d1ade1a3477Richard Loweextern __GNU_INLINE void
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing Chinaprefetch_write_many(void *addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China{
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#if defined(__sparcv9)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China __asm__ __volatile__(
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China "prefetch [%0],#n_writes\n\t"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "=r" (addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "0" (addr));
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#else
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#error "port me"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China}
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
6b7143d774683daf27dfb2e93ab48d1ade1a3477Richard Loweextern __GNU_INLINE void
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing Chinaprefetch_write_once(void *addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China{
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#if defined(__sparcv9)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China __asm__ __volatile__(
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China "prefetch [%0],#one_write\n\t"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "=r" (addr)
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China : "0" (addr));
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#else
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#error "port me"
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China}
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif /* !__lint && __GNUC__ */
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#ifdef __cplusplus
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China}
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China
94e7edb1e6b194fffd0e7901c0b32e9fc836bc5blucy wang - Sun Microsystems - Beijing China#endif /* _ASM_CPU_H */