Commit Graph

157 Commits

Author SHA1 Message Date
Michael Scire
191e233745 kern: implement SvcUnmapMemory, more of SvcGetInfo 2020-08-01 15:31:00 -07:00
SciresM
7d041e853d 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-12 15:44:19 -07:00
Michael Scire
1f35c699a7 ams: revamp target firmware 2020-05-12 15:44:18 -07:00
Michael Scire
4496c6aa23 kern/kldr: fix bugs in physical randomization 2020-04-24 17:29:11 -07:00
Michael Scire
71027e463a kern: implement 10.x perm change, fix many page table bugs 2020-04-24 17:29:10 -07:00
Michael Scire
432e2aa60d kern: fix suboptimal mapping choices by kernel/kernelldr 2020-04-24 17:29:09 -07:00
Michael Scire
08b4ed8daf kern: Update init to reflect 10.0.0 changes 2020-04-24 17:29:09 -07:00
Michael Scire
4c1dc00766 kern: Update page bitmaps/alloc to reflect 10.0.0 changes 2020-04-24 17:29:09 -07:00
Michael Scire
a253850abc ams: fix boot sysmodule/kernel for 10.0.0 2020-04-15 11:55:06 -07:00
Michael Scire
b4f1833c50 kernel_ldr: update to support 10.0.0 2020-04-15 11:55:05 -07:00
Michael Scire
b5f8d04924 kern: implement CallSecureMonitor, some of GetInfo/GetSystemInfo 2020-03-18 00:15:02 -07:00
Michael Scire
3c8d569f0a kern: mem access prep for svc streams, TODO_IMPLEMENT -> UNIMPLEMENTED 2020-03-02 19:51:02 -08:00
Michael Scire
feae39aa2e kern: implement KUserPointer (and test with QueryMemory) in advance of svc dev 2020-03-02 19:51:01 -08:00
Michael Scire
2e23abe83d kern: implement user thread start, el0 code now runs 2020-03-02 19:51:01 -08:00
Michael Scire
fb23bfc77f kern: implement unsuspension of init threads 2020-03-02 19:51:00 -08:00
Michael Scire
cba973f859 kern: implement KProcess::Run 2020-03-02 19:51:00 -08:00
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
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
868f2aa1b9 kern: implement page group unmapping 2020-03-02 19:50:58 -08:00
Michael Scire
d3a47ce27a kern: implement through kip decompression 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
fe32c9d12d kern: implement interrupt thread init 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
1f655ad760 kern: implement init through InterruptTaskManager.Initialize() 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
7e1b820041 kern: Implement exception vector ASM 2020-03-02 19:50:52 -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
7e2b75ce0f kern: implement KResourceLimit 2020-03-02 19:50:50 -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
59a66ddad3 kern: implement KThreadContext 2020-03-02 19:50:47 -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
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
28465b1a82 kern: implement debug register/vectors init 2020-03-02 19:50:44 -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
7ee4ae460e find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-03-02 19:50:40 -08:00
Michael Scire
6ce4be859f mesosphere: refactor Elf vs Elf64 distinction 2020-01-03 13:05:27 -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
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