Commit graph

115 commits

Author SHA1 Message Date
Michael Scire 8cd81b3092 kern: fix dynamic calculation of slab heap size 2020-07-31 14:50:52 -07:00
Michael Scire e1f3bb10a5 kern: clean up majority of TODOs 2020-07-31 14:50:52 -07:00
Michael Scire 1ffe08672d kern: fix EL0 TLB conflict handler 2020-07-31 14:50:52 -07:00
Michael Scire 7352d87b20 kern: switch memset to optimized impl 2020-07-31 14:50:52 -07:00
Michael Scire 9231646f33 kern: implement SvcSleepSystem 2020-07-31 14:50:52 -07:00
Michael Scire 5fa59ec888 kern: fix kscheduler interrupt api, adjust debug logging 2020-07-31 14:50:52 -07:00
Michael Scire 9beb05da50 kern: retrieve target firmware from exosphere instead of hardcoding 2020-07-31 14:50:52 -07:00
Michael Scire ef1763334b kern: patch svc tables via asm, instead of relying on compiler to be nice 2020-07-31 14:50:52 -07:00
Michael Scire ff022115ca kern: Support older SVC ABIs 2020-07-31 14:50:52 -07:00
Michael Scire 33434e21ef kern: Prepare to commit cardinal sin 2020-07-13 17:00:51 -07:00
SciresM 3a1ccdd919
Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20

* remove mno-outline-atomics

* ams: take care of most TODO C++20s

* fusee/sept: update for gcc10

* whoosh, your code now uses pre-compiled headers

* make: dependency fixes
2020-05-11 15:02:10 -07:00
Michael Scire 8e75a4169d ams: revamp target firmware 2020-05-06 22:29:07 -07:00
Michael Scire 970b85bf9a kern: implement KUnsafeMemory 2020-04-26 02:35:10 -07:00
Michael Scire 6ad0f0e7f2 kern/kldr: fix bugs in physical randomization 2020-04-22 03:45:21 -07:00
Michael Scire b39b6f0d5b kern: implement 10.x perm change, fix many page table bugs 2020-04-19 17:16:19 -07:00
Michael Scire bc1d3ccc91 kern: Update init to reflect 10.0.0 changes 2020-04-18 22:19:09 -07:00
Michael Scire 94b10b5779 ams: fix boot sysmodule/kernel for 10.0.0 2020-04-14 10:11:58 -07:00
Michael Scire 116e00c21c kernel_ldr: update to support 10.0.0 2020-04-14 07:38:01 -07:00
Michael Scire 96d15b28c6 kern: implement CallSecureMonitor, some of GetInfo/GetSystemInfo 2020-03-18 00:09:50 -07:00
Michael Scire efae01c165 kern: implement KUserPointer (and test with QueryMemory) in advance of svc dev 2020-02-20 09:05:24 -08:00
Michael Scire 80b115ef57 kern: implement user thread start, el0 code now runs 2020-02-19 21:21:44 -08:00
Michael Scire c568788609 kern: implement KProcess::Run 2020-02-19 19:38:20 -08:00
Michael Scire d9c3908caf kern: mark initial threads as intended constinit 2020-02-19 05:45:32 -08:00
Michael Scire fba8fb539d kern: add KProcess members 2020-02-18 05:04:49 -08:00
Michael Scire 30d6b359f9 kern: implement smmu init 2020-02-15 00:00:35 -08:00
Michael Scire 20b5268e90 kern: kern::arm64 -> kern::arch::arm64 2020-02-14 18:22:55 -08:00
Michael Scire 11f70759ce kern: implement lightlock slowpath (works on hw) 2020-02-14 15:27:34 -08:00
Michael Scire 5b98426171 kern: implement KWorkerTaskManager 2020-02-14 02:56:42 -08:00
Michael Scire c91386b0fa kern: implement interrupt thread init 2020-02-14 02:20:33 -08:00
Michael Scire 19e6d2e1c0 kernel_ldr: fix consistency on hardware 2020-02-13 22:53:26 -08:00
Michael Scire ea0011d572 kern: use TinyMT instead of mt19937_t 2020-02-13 22:37:30 -08:00
Michael Scire 364b04b68a libmesosphere: move .s to kernel (prevent manifesting in kernelldr) 2020-02-13 22:05:20 -08:00
Michael Scire 8c93eb5712 kern: implement enough of KPageTable to initialize a thread 2020-02-13 17:38:56 -08:00
Michael Scire 919b8124dc kern: Implement exception vector ASM 2020-02-08 02:49:32 -08:00
Michael Scire cb6af379d8 kern: implement dynamic slab init + ini relocation 2020-02-07 04:58:35 -08:00
Michael Scire 323858cf96 kern: s/MemoryBlock/MemoryRegion/g 2020-02-05 14:16:56 -08:00
Michael Scire 797c04d19f kern .fini array: one weird trick 2020-01-31 04:57:28 -08:00
Michael Scire 86eea62cd8 kernel: use .rel.ro 2020-01-31 03:37:49 -08:00
Michael Scire d5a4c17ee7 kern: fully implement slabheap init 2020-01-30 01:41:59 -08:00
Michael Scire 2faf3d33b5 kern: Implement KAutoObject, KSlabHeap, KLightLock 2020-01-29 22:06:25 -08:00
Michael Scire 981bb1f15d kern: skeleton enough types to init KCoreLocalRegion in main() 2020-01-29 14:26:24 -08:00
Michael Scire ad0d2faa6c meso: makefile improvements, sysreg accessors 2020-01-29 05:37:14 -08:00
Michael Scire 7820e5b759 kern: implement debug register/vectors init 2020-01-29 02:42:41 -08:00
Michael Scire 7c703903ea kern: implement pool partition memblock setup 2020-01-29 01:49:04 -08:00
Michael Scire e7dee2a9fc kern: Implement most of memory init (all cores hit main, but still more to do) 2020-01-28 22:09:47 -08:00
Michael Scire b2e522c0a0 meso: find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:12:37 -08:00
Michael Scire 32fb22e361 kern: finish implementing assembly init routines 2020-01-24 02:11:26 -08:00
Michael Scire b3bfd6c4c9 meso: discard .interp section 2020-01-24 02:11:25 -08:00
Michael Scire 866771fdae kern: reuse data cache code during init 2020-01-24 02:11:25 -08:00
Michael Scire 308ddecc9c kern: fix bss end align (now gets through kernelldr on hardware) 2020-01-24 02:11:25 -08:00
Michael Scire 24d41ce55e kern: push code through call to kernelldr 2020-01-24 02:11:25 -08:00
Michael Scire bce7133128 meso: add script to build mesosphere.bin 2020-01-24 02:11:24 -08:00
Michael Scire 3982afdd6b meso: skeleton buildsystem for kernel 2020-01-24 02:11:23 -08:00
Michael Scire 6ecf04c3b7 find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:10:40 -08:00
Michael Scire bf5bbfbcef kernel_ldr: clean up KSystemControl init API 2019-12-31 00:46:09 -08:00
Michael Scire d10621e832 mesosphere: refactor Elf vs Elf64 distinction 2019-12-31 00:46:09 -08:00
Michael Scire d3b697fd1d fusee: inject our kernel_ldr in place of N's 2019-12-31 00:46:09 -08:00
fincs daa7f5db79 kernel_ldr: Explicitly reserve space for bss section in output .bin 2019-12-31 00:46:09 -08:00
fincs 4adc0e4096 Replace HFILES with HFILES_BIN in all makefiles 2019-12-31 00:46:09 -08:00
Michael Scire f78653d815 kernelldr: miscellaneous fixes 2019-12-31 00:46:09 -08:00
Michael Scire 3c7c1fbd8a kernel_ldr: ensure crt0 is at start of output binary 2019-12-31 00:46:09 -08:00
Michael Scire 8efdd04fcd kernel_ldr: finish implementing all core logic. 2019-12-31 00:46:09 -08:00
fincs 623b5f4eb9 meso: miscellaneous cleanup and build fixes 2019-12-31 00:46:09 -08:00
Michael Scire 2866cb5fe6 mesosphere: Implement kernelldr through first page table mapping 2019-12-31 00:46:09 -08:00
Michael Scire b5becba8ff kernelldr: skeleton build system in prep for dev 2019-12-31 00:46:09 -08:00