Berkus Decker
ce05c157a7
Remove redundant returns
...
* As suggested by clippy.
2019-03-02 19:16:16 +02:00
Berkus Decker
b2b7de2c96
Align __restore_context function outside of VBAR section
2019-03-02 19:15:55 +02:00
Berkus Decker
593544a6ec
Drop dmb function
...
* Use cortex_a functions directly.
2019-03-02 19:14:11 +02:00
Berkus Decker
94324f3f8c
Fix jtag_dbg_wait to not mangle WAIT_FLAG
2019-02-25 10:36:04 +02:00
Berkus Decker
98be0a304c
Add NonCacheable DRAM mapping for VC framebuffer area
2019-02-24 18:34:37 +02:00
Berkus Decker
a073ceb272
Revert “[wip] mmu refactor for Phil-Opps code”
...
15c55dc0cd
2019-02-24 02:01:22 +02:00
Berkus Decker
15c55dc0cd
[wip] mmu refactor for Phil-Opps code
2019-02-24 01:50:15 +02:00
Berkus Decker
9a91382a78
Clean up formatting
2019-02-24 01:50:15 +02:00
Berkus Decker
8bbde88bfb
Add kernel memory map
...
* From Andre Richter tutorial
2019-02-24 01:50:15 +02:00
Berkus Decker
a9d25b74e9
Add working exception recovery
2019-02-24 00:21:15 +02:00
Berkus Decker
b7d2fdf0b2
[wip] Update copyrights
2019-02-24 00:04:22 +02:00
Berkus Decker
551f081892
Update documentation
2019-02-24 00:04:09 +02:00
Berkus Decker
75295e0b0d
Update mmu init and add output
2019-02-24 00:03:09 +02:00
Berkus Decker
c4cb106f79
Add first approximation of exception handlers
2019-02-23 22:58:40 +02:00
Berkus Decker
4858ae0159
Add JTAG debugger wait function
2019-02-23 22:57:59 +02:00
Berkus Decker
c4f255ff27
Do full sync after MMU enable
2019-01-22 02:45:10 +02:00
Berkus Decker
3a8d99b08e
Clean up addressing
2019-01-22 02:44:52 +02:00
Berkus Decker
a04f2e4f17
Remove duplicated BcmHost
2019-01-22 02:43:50 +02:00
Berkus Decker
79218ff2dd
[sq] publish mmu mod
2019-01-21 19:22:32 +02:00
Berkus Decker
d04c844bbb
[temp] reenable custom uart mapping
2019-01-21 17:46:19 +02:00
Berkus Decker
5666fcbec9
Add mmu::init() from Andre Richter's tutorial
...
* Does not work on real rpi
Gpu memory is corrupted with semi-random patterns
2019-01-21 02:00:24 +02:00
Berkus Decker
6cf5551efb
[sq] Disable some unused memory stuff
2019-01-21 01:59:34 +02:00
Berkus Decker
befa1c5db8
Rustfmt [paging]
2019-01-20 19:45:43 +02:00
Berkus Decker
a2ea1f59a6
[wip] mark some unused vars
2019-01-20 19:45:32 +02:00
Berkus Decker
aac393381d
[wip] temporarily init allocator
2019-01-20 19:44:52 +02:00
Berkus Decker
c5d99b3b82
Add map/unmap implementation from phil_opp
2019-01-20 19:44:37 +02:00
Berkus Decker
401dfdd06d
Implement table hierarchy traversing
2019-01-20 19:44:26 +02:00
Berkus Decker
87b3007c10
Add paging Entry flags
2019-01-20 19:44:16 +02:00
Berkus Decker
d92dea35af
Add docs [wip]
2019-01-20 19:44:07 +02:00
Berkus Decker
6018ac2b3d
Rearrange mods and imports [wip]
2019-01-20 19:43:57 +02:00
Berkus Decker
2abf70fe90
Introduce Phys/Virt addresses
2019-01-20 19:43:37 +02:00
Berkus Decker
ef2796a583
Add updated paging module based on phil-opp code
2019-01-20 18:34:06 +02:00
Berkus Decker
e75770a335
Put memregions inside setup_paging
2019-01-20 18:33:18 +02:00
Berkus Decker
ed9cbe5d4e
[wip] memtypes
2019-01-20 17:47:32 +02:00
Berkus Decker
98acc888bd
Add paging helpers [sq]
2019-01-20 17:46:12 +02:00
Berkus Decker
7630f5a558
Add paging setup [wip]
2019-01-20 17:44:34 +02:00
Berkus Decker
73d852f57c
Add memory map code from u-boot [sq]
2019-01-20 17:43:20 +02:00
Berkus Decker
1b5a1a87aa
Add some paging assembly code
...
* [fixme - replace with cortex-a]
2019-01-20 17:41:53 +02:00
Berkus Decker
7974c645a2
[sq] cosmetic boot updates
2019-01-19 02:50:55 +02:00
Berkus Decker
f8fe6cf9e5
If started in EL1, just straight run
2019-01-18 17:07:34 +02:00
Berkus Decker
d931e70b89
Copy swio explanation from bztsc's tutorials (see issue#)
2019-01-18 17:07:17 +02:00
Berkus Decker
185f6916ac
[wip] Enable aarch64 exceptions
2019-01-17 22:42:05 +02:00
Berkus Decker
67b3b95d9a
Use boot code from japaric/andre-richter
2019-01-17 22:42:05 +02:00
Berkus Decker
072e0a05aa
Add rust skeleton code and build system
...
* panic_fmt lang-item
* arch-based crates, inspired by Redox
* Port over target files from Robigalia, add aarch64
* Use rlibc for memset/memcpy
* Create linker script for raspberry pi 3
* Implement primitive dmb()
* Important: initialize stack pointer!
Kernel interface is to be defined in a separate crate.
2019-01-15 02:18:52 +02:00