Several boards call readl()/writel() or use uint32_t but do not include
<string.h> (which is where unic declares these). They build today only
because <drivers/framework.h> pulls <string.h> in.
The framework header has no business pulling string.h; Include it properly
in case we remove framework.h later on (spoiler lol).
This does not accomplish anything, and with the new initcall logic,
can be harmlessly removed.
Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Since we don't have to worry about writing positionally-independent
code, we can safely pass around globally defined structures and
have more fun with pointers without falling into UB.
With support for this board also come the following changes:
- rework blobs handling to get past the 0 size bug
- basic cpu "set up" in start.S
- assembly memcpy
- uart debugging