Commit Graph

50 Commits

Author SHA1 Message Date
Ivaylo Ivanov
a244bad67f lib: Completely drop neatlibc
It's of no use anymore, we have our own libc.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:38:42 +03:00
Ivaylo Ivanov
3b517ba95a lib: debug: Introduce loglevels + many minor changes
Implement 8 loglevels to use with printk:

While at it, separate the font in a new "video" directory, which
also makes space for a proper video probing implementation. Fill
in the font from 32 to 256. Scale the font to render twice as big.
Implement dynamic line length detection. Change a few things here
and there to follow the linux kernel code style. Add a nice logo.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:24:20 +03:00
Ivaylo Ivanov
be0ad76a97 lib: unic: Implement strcat
Also fix-up the strncpy func.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:21:48 +03:00
Ivaylo Ivanov
784bfd609a lib: unic: Optimize memcpy and memset for aarch64
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>
2024-10-09 18:49:23 +03:00
Ivaylo Ivanov
81d26edaa3 uniLoader: Mass rework
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>
2024-10-08 21:22:21 +03:00
Ivaylo Ivanov
b301e51432 board: Introduce board file configurations
This is meant to replace the current Kconfig / SoC / Board files
configuration, which is ugly and annoying to maintain. Begin
by creating the board files registration framework and
transitioning all exynos boards to it. This also opens room for
creating the drivers registration framework in the future.

All non-samsung boards will be no longer able to do their board
configuration until they're also transitioned.

Every new board must have the following structure:
struct board_data default_board = {
	.name = "DEFAULT",
	.init = NULL,
	.late_init = NULL,
	.driver_setup = NULL,
};

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-09-26 15:34:26 +03:00
Ivaylo Ivanov
69c7156eb3 lib: simplefb: simplify cleaning framebuffer
Pretty self-explanatory, it's faster as well.

Suggested-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-09-24 22:18:52 +03:00
Ivaylo Ivanov
3ab64bed39 lib: Introduce unic
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>
2024-09-23 20:17:44 +03:00
Ivaylo Ivanov
3fae0e9880
Merge pull request #18 from chmcax/gta4xl
Add support for gta4xl (Galaxy Tab S6 Lite)
2024-09-15 11:52:06 +03:00
chmcax
571fcac1f7 board: Add support for gta4xl (Samsung Galaxy Tab S6 Lite)
Signed-off-by: Alexandru Chimac	<alexchimac@protonmail.com>
2024-09-15 09:53:37 +03:00
chmcax
0d2f55d9f6 soc: Add basic support for Exynos9610
Signed-off-by: Alexandru Chimac <alexchimac@protonmail.com>
2024-09-15 09:53:36 +03:00
Ivaylo Ivanov
54d3d93a92 arch: aarch64: Set up Stack Pointer
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>
2024-08-06 19:23:47 +03:00
Ivaylo Ivanov
4a0977b0f6 lib: Replace the broken newlib implementation with neatlibc
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>
2024-08-06 13:25:07 +03:00
Ivaylo Ivanov
b37e225721 arch: arm: Implement TEXT_BASE instead of using a hardcoded address
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>
2024-08-06 11:12:31 +03:00
Ivaylo Ivanov
1b6ce821f7 README: Rework it according to the totally-recent build changes
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-08-06 10:33:38 +03:00
Ivaylo Ivanov
108caaa77f
Merge pull request #14 from predefine/master
j4lte: fix PAYLOAD_ENTRY
2024-03-12 23:10:09 +02:00
predefine
e3ecb8206c j4lte: fix PAYLOAD_ENTRY
0x40008000 is used by kernel, and can be rewrited by new payload
2024-03-13 04:02:43 +07:00
Ivaylo Ivanov
0147763114
Merge pull request #9 from predefine/fix-bgra
add BGRA support
2024-03-12 22:57:03 +02:00
predefine
61bb21275c add BGRA support 2023-11-10 23:06:34 +07:00
Ivaylo Ivanov
7ed7b2b902 soc: apple: Add basic support for Apple T8010 (aka A10)
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-08-15 14:15:02 +03:00
Ivaylo Ivanov
f7906fff57
Merge pull request #8 from predefine/master
add Samsung Galaxy J4lte & Exynos 7570 support
2023-08-15 14:02:31 +03:00
Ivaylo Ivanov
c93df2826e
Merge branch 'master' into master 2023-08-15 14:01:46 +03:00
Ivaylo Ivanov
db0f9e4bfd
Merge pull request #7 from BotchedRPR/master
Add support for c1s (Samsung Galaxy Note20)
2023-08-15 14:01:00 +03:00
predefine
9d2a29835c add Samsung Galaxy J4lte & Exynos 7570 support 2023-08-12 01:35:57 +07:00
BotchedRPR
6f83a56d5e
Add support for c1s (Samsung Galaxy Note20) 2023-08-09 13:56:10 +02:00
Ivaylo Ivanov
ed246836e9 lib: simplefb: Add support for RGB888 24bpp (dependant on the stride)
Also comes with small changes here and there.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-07-24 09:54:16 +03:00
Ivaylo Ivanov
a1be36ae02 EXPERIMENTAL: Partially implement NewLib
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-07-19 19:37:17 +03:00
Ivaylo Ivanov
d85632eb76
Merge pull request #6 from halal-beef/master
Support for the exynos990 and the Samsung S20
2023-07-18 15:01:20 +03:00
Ivaylo Ivanov
05a43c1d73
Merge branch 'master' into master 2023-07-18 14:59:15 +03:00
Ivaylo Ivanov
ed98b5d900 .: Multiple changes
arch: Implement ARM32 support
soc: Implement ARM32 support for MSM8916
board: Implement ARM32 support for Samsung Galaxy J5 2015
include: main: Revert built-in memcpy, rearrange and add support for writel
lib: simplefb: Make the clear screen function usable

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Cc: Efim Girjeu <efimgirjeu@gmail.com>
2023-07-18 14:41:37 +03:00
halal-beef
5901622aaa Support for the exynos990 and the Samsung S20 2023-07-16 10:20:06 +01:00
Ivaylo Ivanov
c4044f40fa
Merge pull request #4 from ungeskriptet/exynos7420
Add support for Samsung Galaxy S6
2023-07-15 15:25:48 +03:00
David Wronek
2daacf4645
board: zeroflte: Add support for Samsung Galaxy S6
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-07-09 09:44:58 +02:00
Faiz Faadhillah
e55d091dcc board: noblelte: Add support for Samsung Galaxy Note5
Signed-off-by: Faiz Faadhillah <faiz.faadhillah@gmail.com>
2022-06-29 13:02:28 +07:00
Faiz Faadhillah
1f62b4e5ac soc: exynos: Add basic support for Exynos 7420
Signed-off-by: Faiz Faadhillah <faiz.faadhillah@gmail.com>
2022-06-29 12:59:54 +07:00
Markuss Broks
3643d6a0c8 main: Use built-in memcpy
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-16 18:18:20 +03:00
ivoszbg
7ce00a6ed2 main: Move assembly code into an individual arch-specific folder
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-16 14:40:28 +03:00
David Wronek
79c5d972e1 board: jackpotlte: Add support for Samsung Galaxy A8 (2018)
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-06-15 17:49:48 +03:00
David Wronek
cc694062ec soc: exynos: Add basic support for Exynos 7885
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-06-15 17:45:19 +03:00
ivoszbg
e246a8d60a Makefile: Move Linux kernel and Device Tree paths to Kconfig
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 21:50:15 +03:00
ivoszbg
c038c7839c lib: Move debug print function into a separate file
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 19:51:51 +03:00
Markuss Broks
0ac15a9da6 main: Drop PAYLOAD_SIZE, use compile time kernel size
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-14 19:06:38 +03:00
ivoszbg
4d1a5f84bc board: Drop Board specific headers
It isn't required anymore, as we've moved on to Kconfig.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 18:51:04 +03:00
Markuss Broks
9850f8756b board: starlte: Add support for Samsung Galaxy S9
Also while we're at it, do some cleanup.
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-14 18:46:17 +03:00
Markuss Broks
ad48f247fb soc: exynos: Add basic support for Exynos 9810
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-14 18:30:11 +03:00
ivoszbg
fd8ed2d1b8 uniLoader: Migrate to kconfig based configurations
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 18:02:47 +03:00
ivoszbg
e364dfbc1b lib: Implement simplefb driver for framebuffer management
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-13 21:43:45 +03:00
ivoszbg
94b2cf0c4a board: apple: Add basic iPhone 6 support
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-12 19:08:34 +03:00
ivoszbg
abb3a2cf4a soc: apple: Add basic support for Apple T7000 (aka A8)
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-12 19:03:26 +03:00
ivoszbg
6b4830e362 .: Initiate the project
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-12 17:09:32 +03:00