1178172Simp/* $NetBSD: cache_mipsNN.h,v 1.4 2003/02/17 11:35:02 simonb Exp $ */ 2178172Simp 3331722Seadler/* 4178172Simp * Copyright 2002 Wasabi Systems, Inc. 5178172Simp * All rights reserved. 6178172Simp * 7178172Simp * Written by Simon Burge for Wasabi Systems, Inc. 8178172Simp * 9178172Simp * Redistribution and use in source and binary forms, with or without 10178172Simp * modification, are permitted provided that the following conditions 11178172Simp * are met: 12178172Simp * 1. Redistributions of source code must retain the above copyright 13178172Simp * notice, this list of conditions and the following disclaimer. 14178172Simp * 2. Redistributions in binary form must reproduce the above copyright 15178172Simp * notice, this list of conditions and the following disclaimer in the 16178172Simp * documentation and/or other materials provided with the distribution. 17178172Simp * 3. All advertising materials mentioning features or use of this software 18178172Simp * must display the following acknowledgement: 19178172Simp * This product includes software developed for the NetBSD Project by 20178172Simp * Wasabi Systems, Inc. 21178172Simp * 4. The name of Wasabi Systems, Inc. may not be used to endorse 22178172Simp * or promote products derived from this software without specific prior 23178172Simp * written permission. 24178172Simp * 25178172Simp * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND 26178172Simp * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 27178172Simp * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 28178172Simp * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC 29178172Simp * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30178172Simp * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31178172Simp * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32178172Simp * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33178172Simp * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34178172Simp * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35178172Simp * POSSIBILITY OF SUCH DAMAGE. 36178172Simp * 37178172Simp * $FreeBSD$ 38178172Simp */ 39202031Simp#ifndef _MACHINE_CACHE_MIPSNN_H_ 40202031Simp#define _MACHINE_CACHE_MIPSNN_H_ 41178172Simp 42178172Simpvoid mipsNN_cache_init(struct mips_cpuinfo *); 43178172Simp 44178172Simpvoid mipsNN_icache_sync_all_16(void); 45178172Simpvoid mipsNN_icache_sync_all_32(void); 46280691Sbrvoid mipsNN_icache_sync_all_64(void); 47280691Sbrvoid mipsNN_icache_sync_all_128(void); 48178172Simpvoid mipsNN_icache_sync_range_16(vm_offset_t, vm_size_t); 49178172Simpvoid mipsNN_icache_sync_range_32(vm_offset_t, vm_size_t); 50280691Sbrvoid mipsNN_icache_sync_range_64(vm_offset_t, vm_size_t); 51280691Sbrvoid mipsNN_icache_sync_range_128(vm_offset_t, vm_size_t); 52178172Simpvoid mipsNN_icache_sync_range_index_16(vm_offset_t, vm_size_t); 53178172Simpvoid mipsNN_icache_sync_range_index_32(vm_offset_t, vm_size_t); 54280691Sbrvoid mipsNN_icache_sync_range_index_64(vm_offset_t, vm_size_t); 55280691Sbrvoid mipsNN_icache_sync_range_index_128(vm_offset_t, vm_size_t); 56178172Simpvoid mipsNN_pdcache_wbinv_all_16(void); 57178172Simpvoid mipsNN_pdcache_wbinv_all_32(void); 58280691Sbrvoid mipsNN_pdcache_wbinv_all_64(void); 59280691Sbrvoid mipsNN_pdcache_wbinv_all_128(void); 60178172Simpvoid mipsNN_pdcache_wbinv_range_16(vm_offset_t, vm_size_t); 61178172Simpvoid mipsNN_pdcache_wbinv_range_32(vm_offset_t, vm_size_t); 62280691Sbrvoid mipsNN_pdcache_wbinv_range_64(vm_offset_t, vm_size_t); 63280691Sbrvoid mipsNN_pdcache_wbinv_range_128(vm_offset_t, vm_size_t); 64178172Simpvoid mipsNN_pdcache_wbinv_range_index_16(vm_offset_t, vm_size_t); 65178172Simpvoid mipsNN_pdcache_wbinv_range_index_32(vm_offset_t, vm_size_t); 66280691Sbrvoid mipsNN_pdcache_wbinv_range_index_64(vm_offset_t, vm_size_t); 67280691Sbrvoid mipsNN_pdcache_wbinv_range_index_128(vm_offset_t, vm_size_t); 68178172Simpvoid mipsNN_pdcache_inv_range_16(vm_offset_t, vm_size_t); 69178172Simpvoid mipsNN_pdcache_inv_range_32(vm_offset_t, vm_size_t); 70280691Sbrvoid mipsNN_pdcache_inv_range_64(vm_offset_t, vm_size_t); 71280691Sbrvoid mipsNN_pdcache_inv_range_128(vm_offset_t, vm_size_t); 72178172Simpvoid mipsNN_pdcache_wb_range_16(vm_offset_t, vm_size_t); 73178172Simpvoid mipsNN_pdcache_wb_range_32(vm_offset_t, vm_size_t); 74280691Sbrvoid mipsNN_pdcache_wb_range_64(vm_offset_t, vm_size_t); 75178172Simpvoid mipsNN_pdcache_wb_range_128(vm_offset_t, vm_size_t); 76274752Sbrvoid mipsNN_sdcache_wbinv_all_32(void); 77280691Sbrvoid mipsNN_sdcache_wbinv_all_64(void); 78280691Sbrvoid mipsNN_sdcache_wbinv_all_128(void); 79274928Sbrvoid mipsNN_sdcache_wbinv_range_32(vm_offset_t, vm_size_t); 80280691Sbrvoid mipsNN_sdcache_wbinv_range_64(vm_offset_t, vm_size_t); 81280691Sbrvoid mipsNN_sdcache_wbinv_range_128(vm_offset_t, vm_size_t); 82274928Sbrvoid mipsNN_sdcache_wbinv_range_index_32(vm_offset_t, vm_size_t); 83280691Sbrvoid mipsNN_sdcache_wbinv_range_index_64(vm_offset_t, vm_size_t); 84280691Sbrvoid mipsNN_sdcache_wbinv_range_index_128(vm_offset_t, vm_size_t); 85274928Sbrvoid mipsNN_sdcache_inv_range_32(vm_offset_t, vm_size_t); 86280691Sbrvoid mipsNN_sdcache_inv_range_64(vm_offset_t, vm_size_t); 87280691Sbrvoid mipsNN_sdcache_inv_range_128(vm_offset_t, vm_size_t); 88274928Sbrvoid mipsNN_sdcache_wb_range_32(vm_offset_t, vm_size_t); 89280691Sbrvoid mipsNN_sdcache_wb_range_64(vm_offset_t, vm_size_t); 90274928Sbrvoid mipsNN_sdcache_wb_range_128(vm_offset_t, vm_size_t); 91202031Simp 92202031Simp#endif /* _MACHINE_CACHE_MIPSNN_H_ */ 93