This repository has been archived by the owner on Apr 27, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
LibraryKernel
Daniel Page edited this page Dec 20, 2019
·
1 revision
-
The
libscarv
library is a set of individual kernels; the associated implementation is housed in${REPO_HOME}/src/libscarv/${KERNEL}
and built by providing
${REPO_HOME}/src/libscarv/${KERNEL}/Makefile.in
for the build system to include.
-
The directory housing a kernel implementation is structured per
${REPO_HOME}/src/libscarv/${KERNEL} ${REPO_HOME}/src/libscarv/${KERNEL}/native ${REPO_HOME}/src/libscarv/${KERNEL}/riscv ${REPO_HOME}/src/libscarv/${KERNEL}/riscv-xcrypto
i.e., there are sub-directories for each target architecture. Note that:
-
The top-level directory for a given kernel (i.e.,
${REPO_HOME}/src/libscarv/${KERNEL}
) houses an architecture-agnostic implementation. This implementation may be either- incomplete, meaning it must be combined with supporting, architecture-specific functionality (i.e., cannot be used as a stand-alone kernel),
- complete, meaning it may be combined with supporting, architecture-specific functionality (i.e., can be used as a stand-alone kernel).
-
If supporting, architecture-specific functionality is used, the target architecture (sub-)directory (i.e.,
${REPO_HOME}/src/libscarv/${KERNEL}/${ARCH}
) houses it. -
Within a given target architecture (sub-)directory,
-
X_imp.S
captures the architecture-specific implementation of some functionalityX
, -
macro.S
captures macros that support said implementation(s).
-
-