1 1.4 matt /* $NetBSD: cpufunc_asm_arm1136.S,v 1.4 2013/08/18 06:28:18 matt Exp $ */ 2 1.2 matt 3 1.2 matt /* 4 1.2 matt * Copyright (c) 2007 Microsoft 5 1.2 matt * All rights reserved. 6 1.2 matt * 7 1.2 matt * Redistribution and use in source and binary forms, with or without 8 1.2 matt * modification, are permitted provided that the following conditions 9 1.2 matt * are met: 10 1.2 matt * 1. Redistributions of source code must retain the above copyright 11 1.2 matt * notice, this list of conditions and the following disclaimer. 12 1.2 matt * 2. Redistributions in binary form must reproduce the above copyright 13 1.2 matt * notice, this list of conditions and the following disclaimer in the 14 1.2 matt * documentation and/or other materials provided with the distribution. 15 1.2 matt * 3. All advertising materials mentioning features or use of this software 16 1.2 matt * must display the following acknowledgement: 17 1.2 matt * This product includes software developed by Microsoft 18 1.2 matt * 19 1.2 matt * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 20 1.2 matt * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21 1.2 matt * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22 1.2 matt * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTERS BE LIABLE FOR ANY DIRECT, 23 1.2 matt * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 1.2 matt * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 1.2 matt * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 1.2 matt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 1.2 matt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 1.2 matt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 1.2 matt * SUCH DAMAGE. 30 1.2 matt */ 31 1.2 matt 32 1.2 matt #include "assym.h" 33 1.2 matt #include <machine/asm.h> 34 1.4 matt #include <arm/locore.h> 35 1.2 matt 36 1.4 matt RCSID("$NetBSD: cpufunc_asm_arm1136.S,v 1.4 2013/08/18 06:28:18 matt Exp $") 37 1.2 matt 38 1.2 matt ENTRY_NP(arm1136_sleep_rev0) /* errata 336501 */ 39 1.2 matt mov r0, #0 40 1.2 matt mcr p15, 0, r0, c7, c10, 2 /* clean data cache line (via index) */ 41 1.2 matt mcr p15, 0, r0, c7, c10, 5 /* data memory barrier */ 42 1.2 matt mcr p15, 0, r0, c7, c0, 4 /* wait for interrupt */ 43 1.2 matt RET 44 1.4 matt END(arm1136_sleep_rev0) 45