Commit Graph

44 Commits

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