OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [arm/] [lib/] [io-writesl.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 *  linux/arch/arm/lib/io-writesl.S
3
 *
4
 *  Copyright (C) 1995-2000 Russell King
5
 *
6
 * This program is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License version 2 as
8
 * published by the Free Software Foundation.
9
 */
10
#include 
11
#include 
12
#include 
13
 
14
ENTRY(__raw_writesl)
15
                teq     r2, #0          @ do we have to check for the zero len?
16
                moveq   pc, lr
17
                ands    ip, r1, #3
18
                bne     2f
19
 
20
1:              ldr     r3, [r1], #4
21
                str     r3, [r0]
22
                subs    r2, r2, #1
23
                bne     1b
24
                mov     pc, lr
25
 
26
2:              bic     r1, r1, #3
27
                cmp     ip, #2
28
                ldr     r3, [r1], #4
29
                bgt     4f
30
                blt     5f
31
 
32
3:              mov     ip, r3, lsr #16
33
                ldr     r3, [r1], #4
34
                orr     ip, ip, r3, lsl #16
35
                str     ip, [r0]
36
                subs    r2, r2, #1
37
                bne     3b
38
                mov     pc, lr
39
 
40
4:              mov     ip, r3, lsr #24
41
                ldr     r3, [r1], #4
42
                orr     ip, ip, r3, lsl #8
43
                str     ip, [r0]
44
                subs    r2, r2, #1
45
                bne     4b
46
                mov     pc, lr
47
 
48
5:              mov     ip, r3, lsr #8
49
                ldr     r3, [r1], #4
50
                orr     ip, ip, r3, lsl #24
51
                str     ip, [r0]
52
                subs    r2, r2, #1
53
                bne     5b
54
                mov     pc, lr
55
 
56
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.