This actually breaks the armv7 port. It has to be revisited in the
future, since it not only is not compilable right now, but also
cannot boot linux properly. TODO
Also introduce a new C-based __memcpy_optimized that does not
cause an exception on some devices when copying the initramfs.
This issue has to be debugged further.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Move onto using asmdefs macros in assembly files. Implement an
assembly-based memcpy for aarch64 and a C-optimized memset, while
also making place for replacing functions with more optimized ones
in the future.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
arch: aarch64: Load addresses via page + offset
arch: aarch64: Align the TEXT region
drivers: Introduce an empty framework
board: Rework to be PIC
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
unic is a small library of C functions that is currently written
in plain C. It's purpose isn't to be fast, but "universal" - as
in include as little architecture-specific code as possible.
The old neatlibc still resides, but isn't being built. There is
still more to do, including implementation of memory management,
so keep it there for now.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Introduce stack and bss memory regions, rename Start.S to start.S
This commit should allow jumping out of assembly code for certain
SoCs that had issues with SP like MTK and QCOM.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Make 2 different folders for armv7 and aarch64 assembly neatlibc
functions. Add the neatlibc submodule, make it work against the
Makefile system. Pray.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
This was an issue for other armv7 boards that have slightly different
addresses till now. This also allows to start working on relocation
in the near future for both armv7 and aarch64.
While we're at it, fix some mistakes here and there.
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>