This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new e5aef873a2 riscv_internal.h: Remove riscv_sbi.h from the file
e5aef873a2 is described below
commit e5aef873a267b9a440e6b4d2885170742740b5c7
Author: Ville Juven <[email protected]>
AuthorDate: Fri Oct 4 12:58:24 2024 +0300
riscv_internal.h: Remove riscv_sbi.h from the file
riscv_internal.h is used literally everywhere, while the SBI definitions
are needed only by whomever needs the services.
Having the SBI definitions:
a) Copied from OpenSBI (why has this been done? even the names are same)
b) Presented publicly to 99% of risc-v modules
creates a build error when building with OpenSBI, due to duplicate
definitions of the SBI service identifiers:
In file included from /nuttx/arch/risc-v/src/common/riscv_internal.h:40,
from /nuttx/arch/risc-v/src/chip/chip.h:32,
from board/mpfs_domain.c:30:
/nuttx/arch/risc-v/src/common/riscv_sbi.h:36: error: "SBI_EXT_BASE"
redefined [-Werror]
36 | #define SBI_EXT_BASE 0x00000010
and so forth...
Fix this by removing riscv_sbi.h i.e. not exposing the ABI publicly.
---
arch/risc-v/src/common/riscv_internal.h | 1 -
arch/risc-v/src/common/riscv_ipi.h | 1 +
arch/risc-v/src/common/riscv_mtimer.c | 3 ++-
arch/risc-v/src/nuttsbi/sbi_mcall.c | 1 +
arch/risc-v/src/qemu-rv/qemu_rv_start.c | 3 ++-
boards/risc-v/qemu-rv/rv-virt/src/qemu_rv_appinit.c | 1 +
6 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/risc-v/src/common/riscv_internal.h
b/arch/risc-v/src/common/riscv_internal.h
index 8557ef8396..be3fe07ad6 100644
--- a/arch/risc-v/src/common/riscv_internal.h
+++ b/arch/risc-v/src/common/riscv_internal.h
@@ -37,7 +37,6 @@
#include <nuttx/irq.h>
-#include "riscv_sbi.h"
#include "riscv_common_memorymap.h"
/****************************************************************************
diff --git a/arch/risc-v/src/common/riscv_ipi.h
b/arch/risc-v/src/common/riscv_ipi.h
index 8c3989d7ee..5d8d2a400b 100644
--- a/arch/risc-v/src/common/riscv_ipi.h
+++ b/arch/risc-v/src/common/riscv_ipi.h
@@ -26,6 +26,7 @@
****************************************************************************/
#include "riscv_internal.h"
+#include "riscv_sbi.h"
#include "chip.h"
/****************************************************************************
diff --git a/arch/risc-v/src/common/riscv_mtimer.c
b/arch/risc-v/src/common/riscv_mtimer.c
index 0efc19b093..b611c3dd99 100644
--- a/arch/risc-v/src/common/riscv_mtimer.c
+++ b/arch/risc-v/src/common/riscv_mtimer.c
@@ -27,8 +27,9 @@
#include <arch/barriers.h>
-#include "riscv_mtimer.h"
#include "riscv_internal.h"
+#include "riscv_mtimer.h"
+#include "riscv_sbi.h"
/****************************************************************************
* Private Types
diff --git a/arch/risc-v/src/nuttsbi/sbi_mcall.c
b/arch/risc-v/src/nuttsbi/sbi_mcall.c
index 02f0eeb2a9..24536ef5da 100644
--- a/arch/risc-v/src/nuttsbi/sbi_mcall.c
+++ b/arch/risc-v/src/nuttsbi/sbi_mcall.c
@@ -28,6 +28,7 @@
#include <stdint.h>
#include "riscv_internal.h"
+#include "riscv_sbi.h"
#include "sbi_mcall.h"
#include "sbi_internal.h"
diff --git a/arch/risc-v/src/qemu-rv/qemu_rv_start.c
b/arch/risc-v/src/qemu-rv/qemu_rv_start.c
index 89a771d256..652bf9082b 100644
--- a/arch/risc-v/src/qemu-rv/qemu_rv_start.c
+++ b/arch/risc-v/src/qemu-rv/qemu_rv_start.c
@@ -31,6 +31,7 @@
#include <debug.h>
#include "riscv_internal.h"
+#include "riscv_sbi.h"
#include "chip.h"
#include "qemu_rv_userspace.h"
@@ -253,4 +254,4 @@ void sbi_late_initialize(void)
riscv_append_pmp_region(NAPOT_RW, 0, SIZE_HALF);
riscv_append_pmp_region(NAPOT_RWX, SIZE_HALF, SIZE_HALF);
}
-#endif
\ No newline at end of file
+#endif
diff --git a/boards/risc-v/qemu-rv/rv-virt/src/qemu_rv_appinit.c
b/boards/risc-v/qemu-rv/rv-virt/src/qemu_rv_appinit.c
index 345d85f489..786a08d771 100644
--- a/boards/risc-v/qemu-rv/rv-virt/src/qemu_rv_appinit.c
+++ b/boards/risc-v/qemu-rv/rv-virt/src/qemu_rv_appinit.c
@@ -41,6 +41,7 @@
#include "qemu_rv_rptun.h"
#include "riscv_internal.h"
+#include "riscv_sbi.h"
#include "romfs.h"
#ifdef CONFIG_USERLED