Commit Graph

588 Commits

Author SHA1 Message Date
Michael Scire
67c77d92f7 kern: implement SetProcessMemoryPermission 2020-03-02 19:51:00 -08:00
Michael Scire
46258eaf63 kern: finish KProcess::Initialize() for KIPs 2020-03-02 19:51:00 -08:00
Michael Scire
a385be8301 kern: implement MapIo 2020-03-02 19:50:59 -08:00
Michael Scire
bd81af7439 kern: implement capabilities parsing 2020-03-02 19:50:59 -08:00
Michael Scire
b530ddbdbe kern: correct alloc region size 2020-03-02 19:50:59 -08:00
Michael Scire
0daddfacc6 libmesosphere: precompile mesosphere.hpp 2020-03-02 19:50:58 -08:00
Michael Scire
40619b2eeb kern: implement process(pagetable) init 2020-03-02 19:50:58 -08:00
Michael Scire
375d5ecd08 kern: add KProcess members 2020-03-02 19:50:58 -08:00
Michael Scire
733b13441d kern: implement IsValidPageGroup 2020-03-02 19:50:58 -08:00
Michael Scire
868f2aa1b9 kern: implement page group unmapping 2020-03-02 19:50:58 -08:00
Michael Scire
89772b2eca kern: change decompression asserts -> audits 2020-03-02 19:50:57 -08:00
Michael Scire
d3a47ce27a kern: implement through kip decompression 2020-03-02 19:50:57 -08:00
Michael Scire
a35f47e61d kern: skeleton initial process loading 2020-03-02 19:50:57 -08:00
Michael Scire
a599e2f892 kern: implement smmu init 2020-03-02 19:50:57 -08:00
Michael Scire
c87812ef8a kern: switch->nx, implement sleep manager init 2020-03-02 19:50:56 -08:00
Michael Scire
103122ab4c kern: kern::arm64 -> kern::arch::arm64 2020-03-02 19:50:56 -08:00
Michael Scire
b550f2c3cd kern: implement lightlock slowpath (works on hw) 2020-03-02 19:50:56 -08:00
Michael Scire
e2e7594b3a kern: improve panic output 2020-03-02 19:50:56 -08:00
Michael Scire
0ec0d0db8d kern: implement KWorkerTaskManager 2020-03-02 19:50:56 -08:00
Michael Scire
fe32c9d12d kern: implement interrupt thread init 2020-03-02 19:50:55 -08:00
Michael Scire
6b778d39ec kern: use TinyMT instead of mt19937_t 2020-03-02 19:50:55 -08:00
Michael Scire
049ae760ab libmesosphere: move .s to kernel (prevent manifesting in kernelldr) 2020-03-02 19:50:55 -08:00
Michael Scire
f2b38254d3 kern: implement enough of KPageTable to initialize a thread 2020-03-02 19:50:55 -08:00
Michael Scire
ce92f9d6b0 vapours: add time primitives, fix result name 2020-03-02 19:50:54 -08:00
Michael Scire
4c78b8f7af kern: implement KMemoryBlockManager::Update 2020-03-02 19:50:54 -08:00
Michael Scire
1f655ad760 kern: implement init through InterruptTaskManager.Initialize() 2020-03-02 19:50:54 -08:00
Michael Scire
2f285ec86b kern: implement KMemoryBlockManager init 2020-03-02 19:50:54 -08:00
Michael Scire
870fe26090 kern: add KPageTableBase members 2020-03-02 19:50:53 -08:00
Michael Scire
74950d85d1 kern: begin skeletoning page table types 2020-03-02 19:50:53 -08:00
Michael Scire
308ce70af7 kern: print build date/time, git revision 2020-03-02 19:50:53 -08:00
Michael Scire
6ff5a3fda7 kern: print layout for debug during startup 2020-03-02 19:50:53 -08:00
Michael Scire
ab29107424 kern: newlines at end of svc files 2020-03-02 19:50:53 -08:00
Michael Scire
02ffc465bd kern: add svc stubs, turn on svc table build 2020-03-02 19:50:52 -08:00
Michael Scire
c3a76103b6 mesosphere: hard enforcement of TODOs 2020-03-02 19:50:52 -08:00
Michael Scire
7e1b820041 kern: Implement exception vector ASM 2020-03-02 19:50:52 -08:00
Michael Scire
09ef619c51 kern: bugfix, turn on auditing for the time being 2020-03-02 19:50:52 -08:00
Michael Scire
6930294583 kern: implement dpc + skeleton rest of main 2020-03-02 19:50:51 -08:00
Michael Scire
a58b57ef24 kern: obj stubs to get past slab init 2020-03-02 19:50:51 -08:00
Michael Scire
b53659b398 kern: print backtrace on panic 2020-03-02 19:50:51 -08:00
Michael Scire
8b3c64323b kern: implement dynamic slab init + ini relocation 2020-03-02 19:50:51 -08:00
Michael Scire
93c2f6cf32 kern: implement more of KMemoryManager through KPageBuffer slab init 2020-03-02 19:50:51 -08:00
Michael Scire
8b9e19b8f3 kern: implement KMemoryManager init 2020-03-02 19:50:50 -08:00
Michael Scire
7e2b75ce0f kern: implement KResourceLimit 2020-03-02 19:50:50 -08:00
Michael Scire
ae0c9ef1d6 kern: fix carveout region calcs 2020-03-02 19:50:50 -08:00
Michael Scire
d2072dc573 kern: implement uart init + logging 2020-03-02 19:50:50 -08:00
Michael Scire
eeda912cd1 kern: s/MemoryBlock/MemoryRegion/g 2020-03-02 19:50:49 -08:00
Michael Scire
6f2b517d86 kern: implement more of KInterruptManager 2020-03-02 19:50:49 -08:00
Michael Scire
841f6cf1d9 kern: implement much of KScheduler, KHardwareTimer 2020-03-02 19:50:49 -08:00
Michael Scire
9fd8a08495 style cleanup 2020-03-02 19:50:49 -08:00
Michael Scire
af2b9252ec kern: add abstract scoped lock template 2020-03-02 19:50:49 -08:00
Michael Scire
4e0de30536 kern: implement KSchedulerLock 2020-03-02 19:50:48 -08:00
Michael Scire
c86352c06e meso: use -fno-non-call-exceptions, -fno-use-cxa-atexit 2020-03-02 19:50:48 -08:00
Michael Scire
8fce9ea672 kern: mostly implement KThread::Initialize 2020-03-02 19:50:47 -08:00
Michael Scire
c5bb5e4f43 kern: add all kthread members 2020-03-02 19:50:47 -08:00
Michael Scire
59a66ddad3 kern: implement KThreadContext 2020-03-02 19:50:47 -08:00
Michael Scire
efcfa04a80 kern: implement KPriorityQueue 2020-03-02 19:50:47 -08:00
Michael Scire
13cb4a8c5a kern: implement KAffinityMask 2020-03-02 19:50:46 -08:00
Michael Scire
25048b72f5 kern: implement KThreadLocalPage 2020-03-02 19:50:46 -08:00
Michael Scire
458572283b kern: implement KHandleTable, other cleanup 2020-03-02 19:50:46 -08:00
Michael Scire
60c286164b kern: fully implement slabheap init 2020-03-02 19:50:45 -08:00
Michael Scire
ed41030c42 kern: Skeleton KSynchronizationObject 2020-03-02 19:50:45 -08:00
Michael Scire
7b58a368a9 kern: Implement KAutoObject, KSlabHeap, KLightLock 2020-03-02 19:50:45 -08:00
Michael Scire
7c7d5985e2 kern: optimize memory block tree lookups 2020-03-02 19:50:44 -08:00
Michael Scire
923ee1c494 kern: skeleton enough types to init KCoreLocalRegion in main() 2020-03-02 19:50:44 -08:00
Michael Scire
e8dbc5cbb0 meso: makefile improvements, sysreg accessors 2020-03-02 19:50:44 -08:00
Michael Scire
f837f53c3b cpu: optimize core barrier 2020-03-02 19:50:44 -08:00
Michael Scire
28465b1a82 kern: implement debug register/vectors init 2020-03-02 19:50:44 -08:00
Michael Scire
dd79074734 kern: implement pool partition memblock setup 2020-03-02 19:50:43 -08:00
Michael Scire
c0e7bc5c9d kern: Implement most of memory init (all cores hit main, but still more to do) 2020-03-02 19:50:43 -08:00
Michael Scire
27acf7bf23 meso: find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-03-02 19:50:43 -08:00
Michael Scire
b7e9fc1513 kern: finish implementing assembly init routines 2020-03-02 19:50:42 -08:00
Michael Scire
0ef7d15c5e meso: add script to build mesosphere.bin 2020-03-02 19:50:41 -08:00
Michael Scire
6c540ee0e4 mesosphere: Implement SVC table auto-generation 2020-03-02 19:50:41 -08:00
Michael Scire
7ee4ae460e find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-03-02 19:50:40 -08:00
Michael Scire
18414efc29 libvapours: add (kibi/mebi/gibi)byte literals 2020-01-03 13:05:34 -08:00
Michael Scire
929c40f9d7 meso: use BitPack 2020-01-03 13:05:34 -08:00
Michael Scire
197610d8e2 kernel_ldr: clean up KSystemControl init API 2020-01-03 13:05:28 -08:00
Michael Scire
6ce4be859f mesosphere: refactor Elf vs Elf64 distinction 2020-01-03 13:05:27 -08:00
fincs
92671af569 Replace HFILES with HFILES_BIN in all makefiles 2020-01-03 13:05:26 -08:00
Michael Scire
5bb14b180a meso: build with -ffixed-x18 2020-01-03 13:05:26 -08:00
Michael Scire
4e81f0176a kernel_ldr::cpu: prevent reordering around barrier instructions 2020-01-03 13:05:25 -08:00
Michael Scire
fcae4af5f7 kernelldr: miscellaneous fixes 2020-01-03 13:05:25 -08:00
Michael Scire
c85fac4c43 kernel_ldr: finish implementing all core logic. 2020-01-03 13:05:23 -08:00
fincs
e89e0cc45d meso: miscellaneous cleanup and build fixes 2020-01-03 13:05:22 -08:00
SciresM
ab902694f7 Remove unnecessary copyright header. 2020-01-03 13:05:22 -08:00
Michael Scire
b74a5a2676 mesosphere: Implement kernelldr through first page table mapping 2020-01-03 13:05:21 -08:00
Michael Scire
6eb76feb03 kernelldr: skeleton build system in prep for dev 2020-01-03 13:05:20 -08:00
Michael Scire
f83d72e18b meso: skeleton libmesosphere in prep for kernelldr dev 2020-01-03 13:05:20 -08:00