Commit Graph

29 Commits

Author SHA1 Message Date
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