mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-17 15:02:10 +08:00
parent
efd581f875
commit
d909c5f19c
@ -56,6 +56,7 @@ to the Community Project hosted at http://www.rtems.org/.
|
|||||||
altera_nios_ii
|
altera_nios_ii
|
||||||
openrisc_1000
|
openrisc_1000
|
||||||
powerpc
|
powerpc
|
||||||
|
riscv
|
||||||
superh
|
superh
|
||||||
sparc
|
sparc
|
||||||
sparc64
|
sparc64
|
||||||
|
79
cpu-supplement/riscv.rst
Normal file
79
cpu-supplement/riscv.rst
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
.. comment SPDX-License-Identifier: CC-BY-SA-4.0
|
||||||
|
|
||||||
|
.. COMMENT: Copyright (c) 2018
|
||||||
|
.. COMMENT: embedded brains GmbH
|
||||||
|
.. COMMENT: All rights reserved.
|
||||||
|
|
||||||
|
RISC-V Specific Information
|
||||||
|
***************************
|
||||||
|
|
||||||
|
Calling Conventions
|
||||||
|
===================
|
||||||
|
|
||||||
|
Please refer to the
|
||||||
|
`RISC-V ELF psABI specification <https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md>`_.
|
||||||
|
|
||||||
|
Multilibs
|
||||||
|
=========
|
||||||
|
|
||||||
|
The GCC for RISC-V can generate code for several 32-bit and 64-bit ISA/ABI
|
||||||
|
variants. The following multilibs are available:
|
||||||
|
|
||||||
|
* ``.``: The default multilib ISA is RV32IMAFDC with ABI ILP32D.
|
||||||
|
|
||||||
|
* ``rv32i/ilp32``: ISA RV32I with ABI ILP32.
|
||||||
|
|
||||||
|
* ``rv32im/ilp32``: ISA RV32IM with ABI ILP32.
|
||||||
|
|
||||||
|
* ``rv32imafd/ilp32d``: ISA RV32IMAFD with ABI ILP32D.
|
||||||
|
|
||||||
|
* ``rv32iac/ilp32``: ISA RV32IAC with ABI ILP32.
|
||||||
|
|
||||||
|
* ``rv32imac/ilp32``: ISA RV32IMAC with ABI ILP32.
|
||||||
|
|
||||||
|
* ``rv32imafc/ilp32f``: ISA RV32IMAFC with ABI ILP32F.
|
||||||
|
|
||||||
|
* ``rv64imafd/lp64d``: ISA RV64IMAFD with ABI LP64D and code model medlow.
|
||||||
|
|
||||||
|
* ``rv64imafd/lp64d/medany``: ISA RV64IMAFD with ABI LP64D and code model medany.
|
||||||
|
|
||||||
|
* ``rv64imac/lp64``: ISA RV64IMAC with ABI LP64 and code model medlow.
|
||||||
|
|
||||||
|
* ``rv64imac/lp64/medany``: ISA RV64IMAC with ABI LP64 and code model medany.
|
||||||
|
|
||||||
|
* ``rv64imafdc/lp64d``: ISA RV64IMAFDC with ABI LP64D and code model medlow.
|
||||||
|
|
||||||
|
* ``rv64imafdc/lp64d/medany``: ISA RV64IMAFDC with ABI LP64D and code model medany.
|
||||||
|
|
||||||
|
Interrupt Processing
|
||||||
|
====================
|
||||||
|
|
||||||
|
Interrupt exceptions are handled via the interrupt extensions API. All other
|
||||||
|
exceptions end up in a fatal error (RTEMS_FATAL_SOURCE_EXCEPTION).
|
||||||
|
|
||||||
|
Interrupt Levels
|
||||||
|
----------------
|
||||||
|
|
||||||
|
There are exactly two interrupt levels on RISC-V with respect to RTEMS. Level
|
||||||
|
zero corresponds to machine interrupts enabled. Level one corresponds to
|
||||||
|
machine interrupts disabled.
|
||||||
|
|
||||||
|
Interrupt Stack
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The memory region for the interrupt stack is defined by the BSP.
|
||||||
|
|
||||||
|
Default Fatal Error Processing
|
||||||
|
==============================
|
||||||
|
|
||||||
|
The default fatal error is BSP-specific.
|
||||||
|
|
||||||
|
Symmetric Multiprocessing
|
||||||
|
=========================
|
||||||
|
|
||||||
|
SMP is supported.
|
||||||
|
|
||||||
|
Thread-Local Storage
|
||||||
|
====================
|
||||||
|
|
||||||
|
Thread-local storage is supported.
|
Loading…
x
Reference in New Issue
Block a user