3ea7d4bab4
Linux kernel uses M-mode trap for handling Inter-Hart Communication (IHC). This patch provides all the required functionalities for this purpose. Previously, HSS bootloader was required. Now, NuttX is run as the bootloader providing OpenSBI vendor extensions instead. This setup has been tested on the following configuration: - Hart 0 has NuttX in bootloader mode with OpenSBI - Hart 1 unused - Hart 2 has NuttX configured at 0xa2000000 - Hart 3 has U-boot / Linux kernel (at 0x80200000) - Hart 4 has U-boot / Linux kernel (at 0x80200000) Upon startup, NuttX on hart 0 will initialize SD-card driver, loads the hart 2 NuttX from the SD-card and loads the U-boot to 0x80200000. Also the nuttx.sbi -binary is loaded from SD-card into address 0x80000000, which is also marked as reserved area in the Linux kernel device tree (for the chuck 0x80000000 - 0x80200000). Hart 2 NuttX waits until Linux kernel (IHC master) is started. After the initial handshake, RPMsg / virtIO bus along with the IHC may be used for proper AMP mode. Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi> |
||
---|---|---|
.. | ||
include | ||
src | ||
Kconfig |