Module Name: src
Committed By: jakllsch
Date: Sat Sep 5 16:44:54 UTC 2020
Modified Files:
src/sys/arch/aarch64/aarch64: bus_space.c
Log Message:
Adjust aarch64 bus_space tags to also work on aarch64eb
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/aarch64/aarch64/bus_space.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/aarch64/aarch64/bus_space.c
diff -u src/sys/arch/aarch64/aarch64/bus_space.c:1.9 src/sys/arch/aarch64/aarch64/bus_space.c:1.10
--- src/sys/arch/aarch64/aarch64/bus_space.c:1.9 Sat Dec 28 17:19:43 2019
+++ src/sys/arch/aarch64/aarch64/bus_space.c Sat Sep 5 16:44:54 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: bus_space.c,v 1.9 2019/12/28 17:19:43 jmcneill Exp $ */
+/* $NetBSD: bus_space.c,v 1.10 2020/09/05 16:44:54 jakllsch Exp $ */
/*
* Copyright (c) 2017 Ryo Shimizu <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: bus_space.c,v 1.9 2019/12/28 17:19:43 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bus_space.c,v 1.10 2020/09/05 16:44:54 jakllsch Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -43,6 +43,12 @@ __KERNEL_RCSID(1, "$NetBSD: bus_space.c,
bs_protos(generic)
bs_protos(generic_dsb)
+#if __AARCH64EB__
+#define NSWAP(n) n ## _swap
+#else
+#define NSWAP(n) n
+#endif
+
struct bus_space arm_generic_bs_tag = {
.bs_cookie = &arm_generic_bs_tag,
@@ -60,27 +66,27 @@ struct bus_space arm_generic_bs_tag = {
/* read */
.bs_r_1 = generic_bs_r_1,
- .bs_r_2 = generic_bs_r_2,
- .bs_r_4 = generic_bs_r_4,
- .bs_r_8 = generic_bs_r_8,
+ .bs_r_2 = NSWAP(generic_bs_r_2),
+ .bs_r_4 = NSWAP(generic_bs_r_4),
+ .bs_r_8 = NSWAP(generic_bs_r_8),
/* write */
.bs_w_1 = generic_bs_w_1,
- .bs_w_2 = generic_bs_w_2,
- .bs_w_4 = generic_bs_w_4,
- .bs_w_8 = generic_bs_w_8,
+ .bs_w_2 = NSWAP(generic_bs_w_2),
+ .bs_w_4 = NSWAP(generic_bs_w_4),
+ .bs_w_8 = NSWAP(generic_bs_w_8),
/* read region */
.bs_rr_1 = generic_bs_rr_1,
- .bs_rr_2 = generic_bs_rr_2,
- .bs_rr_4 = generic_bs_rr_4,
- .bs_rr_8 = generic_bs_rr_8,
+ .bs_rr_2 = NSWAP(generic_bs_rr_2),
+ .bs_rr_4 = NSWAP(generic_bs_rr_4),
+ .bs_rr_8 = NSWAP(generic_bs_rr_8),
/* write region */
.bs_wr_1 = generic_bs_wr_1,
- .bs_wr_2 = generic_bs_wr_2,
- .bs_wr_4 = generic_bs_wr_4,
- .bs_wr_8 = generic_bs_wr_8,
+ .bs_wr_2 = NSWAP(generic_bs_wr_2),
+ .bs_wr_4 = NSWAP(generic_bs_wr_4),
+ .bs_wr_8 = NSWAP(generic_bs_wr_8),
/* copy region */
.bs_c_1 = generic_bs_c_1,
@@ -90,27 +96,27 @@ struct bus_space arm_generic_bs_tag = {
/* set region */
.bs_sr_1 = generic_bs_sr_1,
- .bs_sr_2 = generic_bs_sr_2,
- .bs_sr_4 = generic_bs_sr_4,
- .bs_sr_8 = generic_bs_sr_8,
+ .bs_sr_2 = NSWAP(generic_bs_sr_2),
+ .bs_sr_4 = NSWAP(generic_bs_sr_4),
+ .bs_sr_8 = NSWAP(generic_bs_sr_8),
/* read multi */
.bs_rm_1 = generic_bs_rm_1,
- .bs_rm_2 = generic_bs_rm_2,
- .bs_rm_4 = generic_bs_rm_4,
- .bs_rm_8 = generic_bs_rm_8,
+ .bs_rm_2 = NSWAP(generic_bs_rm_2),
+ .bs_rm_4 = NSWAP(generic_bs_rm_4),
+ .bs_rm_8 = NSWAP(generic_bs_rm_8),
/* write multi */
.bs_wm_1 = generic_bs_wm_1,
- .bs_wm_2 = generic_bs_wm_2,
- .bs_wm_4 = generic_bs_wm_4,
- .bs_wm_8 = generic_bs_wm_8,
+ .bs_wm_2 = NSWAP(generic_bs_wm_2),
+ .bs_wm_4 = NSWAP(generic_bs_wm_4),
+ .bs_wm_8 = NSWAP(generic_bs_wm_8),
/* set multi */
.bs_sm_1 = generic_bs_sm_1,
- .bs_sm_2 = generic_bs_sm_2,
- .bs_sm_4 = generic_bs_sm_4,
- .bs_sm_8 = generic_bs_sm_8,
+ .bs_sm_2 = NSWAP(generic_bs_sm_2),
+ .bs_sm_4 = NSWAP(generic_bs_sm_4),
+ .bs_sm_8 = NSWAP(generic_bs_sm_8),
#ifdef __BUS_SPACE_HAS_STREAM_METHODS
/* read stream */
@@ -182,27 +188,27 @@ struct bus_space aarch64_generic_dsb_bs_
/* read */
.bs_r_1 = generic_dsb_bs_r_1,
- .bs_r_2 = generic_dsb_bs_r_2,
- .bs_r_4 = generic_dsb_bs_r_4,
- .bs_r_8 = generic_dsb_bs_r_8,
+ .bs_r_2 = NSWAP(generic_dsb_bs_r_2),
+ .bs_r_4 = NSWAP(generic_dsb_bs_r_4),
+ .bs_r_8 = NSWAP(generic_dsb_bs_r_8),
/* write */
.bs_w_1 = generic_dsb_bs_w_1,
- .bs_w_2 = generic_dsb_bs_w_2,
- .bs_w_4 = generic_dsb_bs_w_4,
- .bs_w_8 = generic_dsb_bs_w_8,
+ .bs_w_2 = NSWAP(generic_dsb_bs_w_2),
+ .bs_w_4 = NSWAP(generic_dsb_bs_w_4),
+ .bs_w_8 = NSWAP(generic_dsb_bs_w_8),
/* read region */
.bs_rr_1 = generic_dsb_bs_rr_1,
- .bs_rr_2 = generic_dsb_bs_rr_2,
- .bs_rr_4 = generic_dsb_bs_rr_4,
- .bs_rr_8 = generic_dsb_bs_rr_8,
+ .bs_rr_2 = NSWAP(generic_dsb_bs_rr_2),
+ .bs_rr_4 = NSWAP(generic_dsb_bs_rr_4),
+ .bs_rr_8 = NSWAP(generic_dsb_bs_rr_8),
/* write region */
.bs_wr_1 = generic_dsb_bs_wr_1,
- .bs_wr_2 = generic_dsb_bs_wr_2,
- .bs_wr_4 = generic_dsb_bs_wr_4,
- .bs_wr_8 = generic_dsb_bs_wr_8,
+ .bs_wr_2 = NSWAP(generic_dsb_bs_wr_2),
+ .bs_wr_4 = NSWAP(generic_dsb_bs_wr_4),
+ .bs_wr_8 = NSWAP(generic_dsb_bs_wr_8),
/* copy region */
.bs_c_1 = generic_dsb_bs_c_1,
@@ -212,27 +218,27 @@ struct bus_space aarch64_generic_dsb_bs_
/* set region */
.bs_sr_1 = generic_dsb_bs_sr_1,
- .bs_sr_2 = generic_dsb_bs_sr_2,
- .bs_sr_4 = generic_dsb_bs_sr_4,
- .bs_sr_8 = generic_dsb_bs_sr_8,
+ .bs_sr_2 = NSWAP(generic_dsb_bs_sr_2),
+ .bs_sr_4 = NSWAP(generic_dsb_bs_sr_4),
+ .bs_sr_8 = NSWAP(generic_dsb_bs_sr_8),
/* read multi */
.bs_rm_1 = generic_dsb_bs_rm_1,
- .bs_rm_2 = generic_dsb_bs_rm_2,
- .bs_rm_4 = generic_dsb_bs_rm_4,
- .bs_rm_8 = generic_dsb_bs_rm_8,
+ .bs_rm_2 = NSWAP(generic_dsb_bs_rm_2),
+ .bs_rm_4 = NSWAP(generic_dsb_bs_rm_4),
+ .bs_rm_8 = NSWAP(generic_dsb_bs_rm_8),
/* write multi */
.bs_wm_1 = generic_dsb_bs_wm_1,
- .bs_wm_2 = generic_dsb_bs_wm_2,
- .bs_wm_4 = generic_dsb_bs_wm_4,
- .bs_wm_8 = generic_dsb_bs_wm_8,
+ .bs_wm_2 = NSWAP(generic_dsb_bs_wm_2),
+ .bs_wm_4 = NSWAP(generic_dsb_bs_wm_4),
+ .bs_wm_8 = NSWAP(generic_dsb_bs_wm_8),
/* set multi */
.bs_sm_1 = generic_dsb_bs_sm_1,
- .bs_sm_2 = generic_dsb_bs_sm_2,
- .bs_sm_4 = generic_dsb_bs_sm_4,
- .bs_sm_8 = generic_dsb_bs_sm_8,
+ .bs_sm_2 = NSWAP(generic_dsb_bs_sm_2),
+ .bs_sm_4 = NSWAP(generic_dsb_bs_sm_4),
+ .bs_sm_8 = NSWAP(generic_dsb_bs_sm_8),
#ifdef __BUS_SPACE_HAS_STREAM_METHODS
/* read stream */
@@ -304,27 +310,27 @@ struct bus_space arm_generic_a4x_bs_tag
/* read */
.bs_r_1 = generic_bs_r_1,
- .bs_r_2 = generic_bs_r_2,
- .bs_r_4 = generic_bs_r_4,
- .bs_r_8 = generic_bs_r_8,
+ .bs_r_2 = NSWAP(generic_bs_r_2),
+ .bs_r_4 = NSWAP(generic_bs_r_4),
+ .bs_r_8 = NSWAP(generic_bs_r_8),
/* write */
.bs_w_1 = generic_bs_w_1,
- .bs_w_2 = generic_bs_w_2,
- .bs_w_4 = generic_bs_w_4,
- .bs_w_8 = generic_bs_w_8,
+ .bs_w_2 = NSWAP(generic_bs_w_2),
+ .bs_w_4 = NSWAP(generic_bs_w_4),
+ .bs_w_8 = NSWAP(generic_bs_w_8),
/* read region */
.bs_rr_1 = generic_bs_rr_1,
- .bs_rr_2 = generic_bs_rr_2,
- .bs_rr_4 = generic_bs_rr_4,
- .bs_rr_8 = generic_bs_rr_8,
+ .bs_rr_2 = NSWAP(generic_bs_rr_2),
+ .bs_rr_4 = NSWAP(generic_bs_rr_4),
+ .bs_rr_8 = NSWAP(generic_bs_rr_8),
/* write region */
.bs_wr_1 = generic_bs_wr_1,
- .bs_wr_2 = generic_bs_wr_2,
- .bs_wr_4 = generic_bs_wr_4,
- .bs_wr_8 = generic_bs_wr_8,
+ .bs_wr_2 = NSWAP(generic_bs_wr_2),
+ .bs_wr_4 = NSWAP(generic_bs_wr_4),
+ .bs_wr_8 = NSWAP(generic_bs_wr_8),
/* copy region */
.bs_c_1 = generic_bs_c_1,
@@ -334,27 +340,27 @@ struct bus_space arm_generic_a4x_bs_tag
/* set region */
.bs_sr_1 = generic_bs_sr_1,
- .bs_sr_2 = generic_bs_sr_2,
- .bs_sr_4 = generic_bs_sr_4,
- .bs_sr_8 = generic_bs_sr_8,
+ .bs_sr_2 = NSWAP(generic_bs_sr_2),
+ .bs_sr_4 = NSWAP(generic_bs_sr_4),
+ .bs_sr_8 = NSWAP(generic_bs_sr_8),
/* read multi */
.bs_rm_1 = generic_bs_rm_1,
- .bs_rm_2 = generic_bs_rm_2,
- .bs_rm_4 = generic_bs_rm_4,
- .bs_rm_8 = generic_bs_rm_8,
+ .bs_rm_2 = NSWAP(generic_bs_rm_2),
+ .bs_rm_4 = NSWAP(generic_bs_rm_4),
+ .bs_rm_8 = NSWAP(generic_bs_rm_8),
/* write multi */
.bs_wm_1 = generic_bs_wm_1,
- .bs_wm_2 = generic_bs_wm_2,
- .bs_wm_4 = generic_bs_wm_4,
- .bs_wm_8 = generic_bs_wm_8,
+ .bs_wm_2 = NSWAP(generic_bs_wm_2),
+ .bs_wm_4 = NSWAP(generic_bs_wm_4),
+ .bs_wm_8 = NSWAP(generic_bs_wm_8),
/* set multi */
.bs_sm_1 = generic_bs_sm_1,
- .bs_sm_2 = generic_bs_sm_2,
- .bs_sm_4 = generic_bs_sm_4,
- .bs_sm_8 = generic_bs_sm_8,
+ .bs_sm_2 = NSWAP(generic_bs_sm_2),
+ .bs_sm_4 = NSWAP(generic_bs_sm_4),
+ .bs_sm_8 = NSWAP(generic_bs_sm_8),
#ifdef __BUS_SPACE_HAS_STREAM_METHODS
/* read stream */
@@ -426,27 +432,27 @@ struct bus_space aarch64_generic_a4x_dsb
/* read */
.bs_r_1 = generic_dsb_bs_r_1,
- .bs_r_2 = generic_dsb_bs_r_2,
- .bs_r_4 = generic_dsb_bs_r_4,
- .bs_r_8 = generic_dsb_bs_r_8,
+ .bs_r_2 = NSWAP(generic_dsb_bs_r_2),
+ .bs_r_4 = NSWAP(generic_dsb_bs_r_4),
+ .bs_r_8 = NSWAP(generic_dsb_bs_r_8),
/* write */
.bs_w_1 = generic_dsb_bs_w_1,
- .bs_w_2 = generic_dsb_bs_w_2,
- .bs_w_4 = generic_dsb_bs_w_4,
- .bs_w_8 = generic_dsb_bs_w_8,
+ .bs_w_2 = NSWAP(generic_dsb_bs_w_2),
+ .bs_w_4 = NSWAP(generic_dsb_bs_w_4),
+ .bs_w_8 = NSWAP(generic_dsb_bs_w_8),
/* read region */
.bs_rr_1 = generic_dsb_bs_rr_1,
- .bs_rr_2 = generic_dsb_bs_rr_2,
- .bs_rr_4 = generic_dsb_bs_rr_4,
- .bs_rr_8 = generic_dsb_bs_rr_8,
+ .bs_rr_2 = NSWAP(generic_dsb_bs_rr_2),
+ .bs_rr_4 = NSWAP(generic_dsb_bs_rr_4),
+ .bs_rr_8 = NSWAP(generic_dsb_bs_rr_8),
/* write region */
.bs_wr_1 = generic_dsb_bs_wr_1,
- .bs_wr_2 = generic_dsb_bs_wr_2,
- .bs_wr_4 = generic_dsb_bs_wr_4,
- .bs_wr_8 = generic_dsb_bs_wr_8,
+ .bs_wr_2 = NSWAP(generic_dsb_bs_wr_2),
+ .bs_wr_4 = NSWAP(generic_dsb_bs_wr_4),
+ .bs_wr_8 = NSWAP(generic_dsb_bs_wr_8),
/* copy region */
.bs_c_1 = generic_dsb_bs_c_1,
@@ -456,27 +462,27 @@ struct bus_space aarch64_generic_a4x_dsb
/* set region */
.bs_sr_1 = generic_dsb_bs_sr_1,
- .bs_sr_2 = generic_dsb_bs_sr_2,
- .bs_sr_4 = generic_dsb_bs_sr_4,
- .bs_sr_8 = generic_dsb_bs_sr_8,
+ .bs_sr_2 = NSWAP(generic_dsb_bs_sr_2),
+ .bs_sr_4 = NSWAP(generic_dsb_bs_sr_4),
+ .bs_sr_8 = NSWAP(generic_dsb_bs_sr_8),
/* read multi */
.bs_rm_1 = generic_dsb_bs_rm_1,
- .bs_rm_2 = generic_dsb_bs_rm_2,
- .bs_rm_4 = generic_dsb_bs_rm_4,
- .bs_rm_8 = generic_dsb_bs_rm_8,
+ .bs_rm_2 = NSWAP(generic_dsb_bs_rm_2),
+ .bs_rm_4 = NSWAP(generic_dsb_bs_rm_4),
+ .bs_rm_8 = NSWAP(generic_dsb_bs_rm_8),
/* write multi */
.bs_wm_1 = generic_dsb_bs_wm_1,
- .bs_wm_2 = generic_dsb_bs_wm_2,
- .bs_wm_4 = generic_dsb_bs_wm_4,
- .bs_wm_8 = generic_dsb_bs_wm_8,
+ .bs_wm_2 = NSWAP(generic_dsb_bs_wm_2),
+ .bs_wm_4 = NSWAP(generic_dsb_bs_wm_4),
+ .bs_wm_8 = NSWAP(generic_dsb_bs_wm_8),
/* set multi */
.bs_sm_1 = generic_dsb_bs_sm_1,
- .bs_sm_2 = generic_dsb_bs_sm_2,
- .bs_sm_4 = generic_dsb_bs_sm_4,
- .bs_sm_8 = generic_dsb_bs_sm_8,
+ .bs_sm_2 = NSWAP(generic_dsb_bs_sm_2),
+ .bs_sm_4 = NSWAP(generic_dsb_bs_sm_4),
+ .bs_sm_8 = NSWAP(generic_dsb_bs_sm_8),
#ifdef __BUS_SPACE_HAS_STREAM_METHODS
/* read stream */
@@ -669,7 +675,7 @@ generic_bs_pe_2(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- *datap = generic_dsb_bs_r_2(t, bsh, offset);
+ *datap = NSWAP(generic_dsb_bs_r_2)(t, bsh, offset);
cpu_unset_onfault();
}
return error;
@@ -683,7 +689,7 @@ generic_bs_pe_4(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- *datap = generic_dsb_bs_r_4(t, bsh, offset);
+ *datap = NSWAP(generic_dsb_bs_r_4)(t, bsh, offset);
cpu_unset_onfault();
}
return error;
@@ -697,7 +703,7 @@ generic_bs_pe_8(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- *datap = generic_dsb_bs_r_8(t, bsh, offset);
+ *datap = NSWAP(generic_dsb_bs_r_8)(t, bsh, offset);
cpu_unset_onfault();
}
return error;
@@ -725,7 +731,7 @@ generic_bs_po_2(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- generic_dsb_bs_w_2(t, bsh, offset, data);
+ NSWAP(generic_dsb_bs_w_2)(t, bsh, offset, data);
cpu_unset_onfault();
}
return error;
@@ -739,7 +745,7 @@ generic_bs_po_4(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- generic_dsb_bs_w_4(t, bsh, offset, data);
+ NSWAP(generic_dsb_bs_w_4)(t, bsh, offset, data);
cpu_unset_onfault();
}
return error;
@@ -753,7 +759,7 @@ generic_bs_po_8(void *t, bus_space_handl
int error;
if ((error = cpu_set_onfault(&fb)) == 0) {
- generic_dsb_bs_w_8(t, bsh, offset, data);
+ NSWAP(generic_dsb_bs_w_8)(t, bsh, offset, data);
cpu_unset_onfault();
}
return error;