2 * Copyright (c) 2014 Andrew Turner
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 #include <machine/asm.h>
30 __FBSDID("$FreeBSD$");
52 ENTRY(generic_bs_rm_1)
53 /* If there is anything to read. */
56 /* Calculate the device address. */
59 * x0 = The device address.
60 * x3 = The kernel address.
73 ENTRY(generic_bs_rm_2)
74 /* If there is anything to read. */
77 /* Calculate the device address. */
80 * x0 = The device address.
81 * x3 = The kernel address.
94 ENTRY(generic_bs_rm_4)
95 /* If there is anything to read. */
98 /* Calculate the device address. */
101 * x0 = The device address.
102 * x3 = The kernel address.
115 ENTRY(generic_bs_rm_8)
116 /* If there is anything to read. */
119 /* Calculate the device address. */
122 * x0 = The device address.
123 * x3 = The kernel address.
137 ENTRY(generic_bs_w_1)
142 ENTRY(generic_bs_w_2)
147 ENTRY(generic_bs_w_4)
152 ENTRY(generic_bs_w_8)
157 ENTRY(generic_bs_wm_1)
158 /* If there is anything to write. */
163 * x0 = The device address.
164 * x3 = The kernel address.
177 ENTRY(generic_bs_wm_2)
178 /* If there is anything to write. */
183 * x0 = The device address.
184 * x3 = The kernel address.
197 ENTRY(generic_bs_wm_4)
198 /* If there is anything to write. */
203 * x0 = The device address.
204 * x3 = The kernel address.
217 ENTRY(generic_bs_wm_8)
218 /* If there is anything to write. */
223 * x0 = The device address.
224 * x3 = The kernel address.