diff options
Diffstat (limited to 'arch/sparc/cpu/leon3/ambapp_low_c.S')
-rw-r--r-- | arch/sparc/cpu/leon3/ambapp_low_c.S | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/arch/sparc/cpu/leon3/ambapp_low_c.S b/arch/sparc/cpu/leon3/ambapp_low_c.S deleted file mode 100644 index 42288fac59..0000000000 --- a/arch/sparc/cpu/leon3/ambapp_low_c.S +++ /dev/null @@ -1,113 +0,0 @@ -/* C-interface for AMBA PnP scanning functions implemented in - * ambapp_low.S. At the point the memory and stack can be - * used. - * - * (C) Copyright 2010, 2015 - * Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - - - .seg "text" - .extern _nomem_ambapp_find_buses - .extern _nomem_find_apb - .extern _nomem_find_ahb - - .globl ambapp_find_buses - .globl ambapp_find_apb - .globl ambapp_find_ahb - - -/* C-interface for _nomem_ambapp_find_buses used when memory is available. - */ -ambapp_find_buses: - save %sp, -104, %sp - mov %i1, %l7 /* Save second argument */ - call _nomem_ambapp_find_buses - mov %i0, %o0 - - /* Store result */ - st %g0, [%l7+0x00] - st %i0, [%l7+0x04] - st %i1, [%l7+0x08] - st %i2, [%l7+0x0c] - st %i3, [%l7+0x10] - st %i4, [%l7+0x14] - st %i5, [%l7+0x18] - - ret - restore - -/* C-interface for _nomem_find_apb used when memory is available. - * - * void ambapp_find_apb( - * struct ambapp_bus *abus, - * unsigned int dev_vend, - * int index, - * struct ambapp_find_apb_info *result - * ); - * - */ -ambapp_find_apb: - save %sp, -104, %sp - - mov %i3, %l7 /* Save second argument */ - mov %i1, %o1 - mov %i2, %o2 - - /* Initialize buses available in system */ - ld [%i0+0x08], %i1 - ld [%i0+0x0c], %i2 - ld [%i0+0x10], %i3 - ld [%i0+0x14], %i4 - ld [%i0+0x18], %i5 - - call _nomem_find_apb - ld [%i0+0x04], %i0 - - st %o2, [%l7+0x08] /* Decremented Index */ - st %o3, [%l7] /* PnP configuration address of APB Device */ - st %o4, [%l7+0x04] /* AHB Bus Index of AHB/APB bridge and APB Device */ - mov %o0, %i0 - ret - restore - -/* C-interface for _nomem_find_ahb used when memory is available. - * - * void ambapp_find_ahb( - * struct ambapp_bus *abus, - * unsigned int dev_vend, - * int index, - * int type, - * struct ambapp_find_ahb_info *result - * ); - * - */ -ambapp_find_ahb: - save %sp, -104, %sp - - mov %i4, %l7 /* Save second argument */ - clr %o0 - mov %i1, %o1 - mov %i2, %o2 - clr %o3 - clr %o4 - mov %i3, %o5 - - /* Initialize buses available in system */ - ld [%i0+0x08], %i1 - ld [%i0+0x0c], %i2 - ld [%i0+0x10], %i3 - ld [%i0+0x14], %i4 - ld [%i0+0x18], %i5 - - call _nomem_find_ahb - ld [%i0+0x04], %i0 - - st %o2, [%l7+0x08] /* Decremented Index */ - st %o3, [%l7] /* PnP configuration address of AHB Device */ - st %o4, [%l7+0x04] /* AHB Bus Index of AHB Device */ - mov %o0, %i0 - ret - restore |