MERGE-master-patchset-edits
[linux-2.6/openmoko-kernel.git] / arch / avr32 / lib / io-readsl.S
blobb103511ed6c4467db3abf4f46d332b775e26cacb
1 /*
2  * Copyright (C) 2004-2006 Atmel Corporation
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
9         .global __raw_readsl
10         .type   __raw_readsl,@function
11 __raw_readsl:
12         cp.w    r10, 0
13         reteq   r12
15         /*
16          * If r11 isn't properly aligned, we might get an exception on
17          * some implementations. But there's not much we can do about it.
18          */
19 1:      ld.w    r8, r12[0]
20         sub     r10, 1
21         st.w    r11++, r8
22         brne    1b
24         retal   r12