003 File Manager
Current Path:
/usr/src/sys/arm64/arm64
usr
/
src
/
sys
/
arm64
/
arm64
/
📁
..
📄
autoconf.c
(2.78 KB)
📄
bus_machdep.c
(8.05 KB)
📄
bus_space_asm.S
(8.08 KB)
📄
busdma_bounce.c
(40.82 KB)
📄
busdma_machdep.c
(7.46 KB)
📄
bzero.S
(5.33 KB)
📄
clock.c
(1.47 KB)
📄
copyinout.S
(5.31 KB)
📄
cpu_errata.c
(5.14 KB)
📄
cpufunc_asm.S
(4.71 KB)
📄
db_disasm.c
(2.26 KB)
📄
db_interface.c
(5.33 KB)
📄
db_trace.c
(3.3 KB)
📄
debug_monitor.c
(14.85 KB)
📄
disassem.c
(15.34 KB)
📄
dump_machdep.c
(2.19 KB)
📄
efirt_machdep.c
(7.31 KB)
📄
elf32_machdep.c
(7.31 KB)
📄
elf_machdep.c
(7.58 KB)
📄
exception.S
(6.02 KB)
📄
freebsd32_machdep.c
(11.11 KB)
📄
gdb_machdep.c
(3.21 KB)
📄
genassym.c
(3.45 KB)
📄
gic_v3.c
(35.72 KB)
📄
gic_v3_acpi.c
(10.84 KB)
📄
gic_v3_fdt.c
(9.3 KB)
📄
gic_v3_reg.h
(13.57 KB)
📄
gic_v3_var.h
(3.96 KB)
📄
gicv3_its.c
(51.37 KB)
📄
identcpu.c
(51.79 KB)
📄
in_cksum.c
(6.24 KB)
📄
locore.S
(18.17 KB)
📄
machdep.c
(33.05 KB)
📄
machdep_boot.c
(6.13 KB)
📄
mem.c
(3.48 KB)
📄
memcpy.S
(6.71 KB)
📄
memmove.S
(5.25 KB)
📄
minidump_machdep.c
(10.08 KB)
📄
mp_machdep.c
(19.43 KB)
📄
nexus.c
(14.39 KB)
📄
ofw_machdep.c
(1.9 KB)
📄
pmap.c
(190.66 KB)
📄
stack_machdep.c
(2.61 KB)
📄
support.S
(6.38 KB)
📄
swtch.S
(7.23 KB)
📄
sys_machdep.c
(1.66 KB)
📄
trap.c
(14.88 KB)
📄
uio_machdep.c
(4.22 KB)
📄
uma_machdep.c
(2.3 KB)
📄
undefined.c
(4.63 KB)
📄
unwind.c
(1.92 KB)
📄
vfp.c
(9.92 KB)
📄
vm_machdep.c
(7.35 KB)
Editing: bus_space_asm.S
/*- * Copyright (c) 2014 Andrew Turner * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */ #include <machine/asm.h> __FBSDID("$FreeBSD$"); ENTRY(generic_bs_r_1) ldrb w0, [x1, x2] ret END(generic_bs_r_1) ENTRY(generic_bs_r_2) ldrh w0, [x1, x2] ret END(generic_bs_r_2) ENTRY(generic_bs_r_4) ldr w0, [x1, x2] ret END(generic_bs_r_4) ENTRY(generic_bs_r_8) ldr x0, [x1, x2] ret END(generic_bs_r_8) ENTRY(generic_bs_rm_1) /* If there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldrb w1, [x0] strb w1, [x3], #1 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rm_1) ENTRY(generic_bs_rm_2) /* If there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldrh w1, [x0] strh w1, [x3], #2 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rm_2) ENTRY(generic_bs_rm_4) /* If there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldr w1, [x0] str w1, [x3], #4 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rm_4) ENTRY(generic_bs_rm_8) /* If there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldr x1, [x0] str x1, [x3], #8 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rm_8) ENTRY(generic_bs_rr_1) /* Is there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldrb w1, [x0], #1 strb w1, [x3], #1 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rr_1) ENTRY(generic_bs_rr_2) /* Is there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldrh w1, [x0], #2 strh w1, [x3], #2 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rr_2) ENTRY(generic_bs_rr_4) /* Is there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldr w1, [x0], #4 str w1, [x3], #4 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rr_4) ENTRY(generic_bs_rr_8) /* Is there is anything to read. */ cbz x4, 2f /* Calculate the device address. */ add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Read the data. */ 1: ldr x1, [x0], #8 str x1, [x3], #8 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_rr_8) ENTRY(generic_bs_w_1) strb w3, [x1, x2] ret END(generic_bs_w_1) ENTRY(generic_bs_w_2) strh w3, [x1, x2] ret END(generic_bs_w_2) ENTRY(generic_bs_w_4) str w3, [x1, x2] ret END(generic_bs_w_4) ENTRY(generic_bs_w_8) str x3, [x1, x2] ret END(generic_bs_w_8) ENTRY(generic_bs_wm_1) /* If there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldrb w1, [x3], #1 strb w1, [x0] subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wm_1) ENTRY(generic_bs_wm_2) /* If there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldrh w1, [x3], #2 strh w1, [x0] subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wm_2) ENTRY(generic_bs_wm_4) /* If there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldr w1, [x3], #4 str w1, [x0] subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wm_4) ENTRY(generic_bs_wm_8) /* If there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldr x1, [x3], #8 str x1, [x0] subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wm_8) ENTRY(generic_bs_wr_1) /* Is there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldrb w1, [x3], #1 strb w1, [x0], #1 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wr_1) ENTRY(generic_bs_wr_2) /* Is there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldrh w1, [x3], #2 strh w1, [x0], #2 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wr_2) ENTRY(generic_bs_wr_4) /* Is there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldr w1, [x3], #4 str w1, [x0], #4 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wr_4) ENTRY(generic_bs_wr_8) /* Is there is anything to write. */ cbz x4, 2f add x0, x1, x2 /* * x0 = The device address. * x3 = The kernel address. * x4 = Count */ /* Write the data */ 1: ldr x1, [x3], #8 str x1, [x0], #8 subs x4, x4, #1 b.ne 1b 2: ret END(generic_bs_wr_8) ENTRY(generic_bs_fault) mov x0, #-1 ret END(bus_fault) ENTRY(generic_bs_peek_1) .globl generic_bs_peek_1f generic_bs_peek_1f: ldrb w0, [x1, x2] /* Checked instruction */ dsb sy strb w0,[x3] mov x0, #0 ret END(generic_bs_peek_1) ENTRY(generic_bs_peek_2) .globl generic_bs_peek_2f generic_bs_peek_2f: ldrh w0, [x1, x2] /* Checked instruction */ dsb sy strh w0,[x3] mov x0, #0 ret END(generic_bs_peek_2) ENTRY(generic_bs_peek_4) .globl generic_bs_peek_4f generic_bs_peek_4f: ldr w0, [x1, x2] /* Checked instruction */ dsb sy str w0,[x3] mov x0, #0 ret END(generic_bs_peek_4) ENTRY(generic_bs_peek_8) .globl generic_bs_peek_8f generic_bs_peek_8f: ldr x0, [x1, x2] /* Checked instruction */ dsb sy str x0,[x3] mov x0, #0 ret END(generic_bs_peek_8) ENTRY(generic_bs_poke_1) .globl generic_bs_poke_1f generic_bs_poke_1f: strb w3, [x1, x2] /* Checked instruction */ dsb sy mov x0, #0 ret END(generic_bs_poke_1) ENTRY(generic_bs_poke_2) .globl generic_bs_poke_2f generic_bs_poke_2f: strh w3, [x1, x2] /* Checked instruction */ dsb sy mov x0, #0 ret END(generic_bs_poke_2) ENTRY(generic_bs_poke_4) .globl generic_bs_poke_4f generic_bs_poke_4f: str w3, [x1, x2] /* Checked instruction */ dsb sy mov x0, #0 ret END(generic_bs_poke_4) ENTRY(generic_bs_poke_8) .globl generic_bs_poke_8f generic_bs_poke_8f: str x3, [x1, x2] /* Checked instruction */ dsb sy mov x0, #0 ret END(generic_bs_poke_8)
Upload File
Create Folder