forked from Imagelibrary/rtems
@@ -44,6 +44,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define BSP_FDT_IS_SUPPORTED
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup riscv_generic Register Definitions
|
* @defgroup riscv_generic Register Definitions
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -27,10 +27,11 @@
|
|||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <bsp/linker-symbols.h>
|
|
||||||
#include <rtems/score/riscv-utility.h>
|
|
||||||
#include <rtems/score/cpu.h>
|
|
||||||
#include <rtems/asm.h>
|
#include <rtems/asm.h>
|
||||||
|
#include <rtems/score/cpu.h>
|
||||||
|
#include <rtems/score/riscv-utility.h>
|
||||||
|
#include <bsp/linker-symbols.h>
|
||||||
|
#include <bspopts.h>
|
||||||
|
|
||||||
EXTERN(bsp_section_bss_begin)
|
EXTERN(bsp_section_bss_begin)
|
||||||
EXTERN(bsp_section_bss_end)
|
EXTERN(bsp_section_bss_end)
|
||||||
@@ -57,12 +58,17 @@ SYM(_start):
|
|||||||
bnez s0, .Lloop_forever
|
bnez s0, .Lloop_forever
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
la t0, ISR_Handler
|
|
||||||
csrw mtvec, t0
|
|
||||||
|
|
||||||
/* load stack and frame pointers */
|
/* load stack and frame pointers */
|
||||||
la sp, _Configuration_Interrupt_stack_area_end
|
la sp, _Configuration_Interrupt_stack_area_end
|
||||||
|
|
||||||
|
#ifdef BSP_START_COPY_FDT_FROM_U_BOOT
|
||||||
|
mv a0, a1
|
||||||
|
call bsp_fdt_copy
|
||||||
|
#endif
|
||||||
|
|
||||||
|
la t0, ISR_Handler
|
||||||
|
csrw mtvec, t0
|
||||||
|
|
||||||
/* Clear .bss */
|
/* Clear .bss */
|
||||||
la a0, bsp_section_bss_begin
|
la a0, bsp_section_bss_begin
|
||||||
li a1, 0
|
li a1, 0
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/riscv/riscv/start/bsp_fatal_halt
|
|||||||
# Shared
|
# Shared
|
||||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c
|
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c
|
||||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/getentropy/getentropy-cpucounter.c
|
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/getentropy/getentropy-cpucounter.c
|
||||||
|
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bsp-fdt.c
|
||||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c
|
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c
|
||||||
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c
|
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,18 @@ RTEMS_CANONICAL_TARGET_CPU
|
|||||||
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
|
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
|
||||||
RTEMS_BSP_CONFIGURE
|
RTEMS_BSP_CONFIGURE
|
||||||
|
|
||||||
|
RTEMS_BSPOPTS_SET([BSP_START_COPY_FDT_FROM_U_BOOT],[*],[1])
|
||||||
|
RTEMS_BSPOPTS_HELP([BSP_START_COPY_FDT_FROM_U_BOOT],[copy the U-Boot provided FDT to an internal storage])
|
||||||
|
|
||||||
|
RTEMS_BSPOPTS_SET([BSP_FDT_BLOB_SIZE_MAX],[*],[65536])
|
||||||
|
RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_SIZE_MAX],[maximum size of the FDT blob in bytes])
|
||||||
|
|
||||||
|
RTEMS_BSPOPTS_SET([BSP_FDT_BLOB_READ_ONLY],[*],[1])
|
||||||
|
RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_READ_ONLY],[place the FDT blob into the read-only data area])
|
||||||
|
|
||||||
|
RTEMS_BSPOPTS_SET([BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA],[*],[1])
|
||||||
|
RTEMS_BSPOPTS_HELP([BSP_FDT_BLOB_COPY_TO_READ_ONLY_LOAD_AREA],[copy the FDT blob into the read-only load area via bsp_fdt_copy()])
|
||||||
|
|
||||||
RTEMS_BSP_CLEANUP_OPTIONS
|
RTEMS_BSP_CLEANUP_OPTIONS
|
||||||
|
|
||||||
case "${RTEMS_BSP}" in
|
case "${RTEMS_BSP}" in
|
||||||
|
|||||||
Reference in New Issue
Block a user