Michael Scire
f152b16639
kern: update KMemoryBlockManagerUpdateAllocator api
2020-12-02 06:53:09 -08:00
Michael Scire
5f885a3b22
kern: implement new software-reserved page table bits
2020-12-02 06:53:08 -08:00
Michael Scire
394112f9ac
kern: update KPageTableBase for new disable-merge attrs
2020-12-02 06:53:08 -08:00
Michael Scire
00a43ac776
kern: revamp KMemoryRegionType to better encode derivation hierarchies
2020-09-07 10:51:49 -07:00
Michael Scire
ec6535bd4b
kern: fix warn-errors
2020-09-07 10:51:47 -07:00
Michael Scire
5bc3307ffa
kern: improve resource region size definitions/calculations
2020-09-07 10:51:45 -07:00
Michael Scire
78161021f4
kern: use common GIC implementation for arm/arm64
2020-09-07 10:51:41 -07:00
Michael Scire
888f5cdd20
kern: fix multicore instruction cache invalidation
2020-09-07 10:51:40 -07:00
Michael Scire
227b9603cd
kern: SvcReturnFromException
2020-08-01 15:31:46 -07:00
Michael Scire
f80eb2c26f
kern SvcGetDebugThreadContext, SvcSetDebugThreadContext
2020-08-01 15:31:45 -07:00
Michael Scire
bb044b1934
kern: clean up majority of TODOs
2020-08-01 15:31:44 -07:00
Michael Scire
c7f108082b
kern: resolve MESOSPHERE_UNIMPLEMENTEDs other than UserException
2020-08-01 15:31:44 -07:00
Michael Scire
3d5f2b7258
kern: Add real SvcBreak implementation
2020-08-01 15:31:43 -07:00
Michael Scire
179427687b
kern: SvcSetHardwareBreakPoint
2020-08-01 15:31:43 -07:00
Michael Scire
a5d7e8328b
kern: SvcQueryPhysicalAddress
2020-08-01 15:31:42 -07:00
Michael Scire
a0de667005
kern: SvcGetLastThreadInfo, SvcGetDebugFutureThreadInfo
2020-08-01 15:31:41 -07:00
Michael Scire
641e92e6a0
kern: SvcFlushDataCache, SvcFlushEntireDataCache
2020-08-01 15:31:41 -07:00
Michael Scire
ef6ede3aeb
kern: SvcReadDebugProcessMemory, SvcWriteDebugProcessMemory
2020-08-01 15:31:40 -07:00
Michael Scire
911a81430a
kern: switch memset to optimized impl
2020-08-01 15:31:39 -07:00
Michael Scire
85932bb91e
kern: fix ARM vs THUMB mode selection on 32-bit entry
2020-08-01 15:31:38 -07:00
Michael Scire
a7cc9dd743
kern: fix slab heap atomics
2020-08-01 15:31:37 -07:00
Michael Scire
a7de710f09
kern: implement KCodeMemory (and SVCs)
2020-08-01 15:31:36 -07:00
Michael Scire
c64e490663
kern: implement SvcGetThreadContext3
2020-08-01 15:31:35 -07:00
Michael Scire
b98450c9cf
kern: Map L1/L2 blocks when possible
2020-08-01 15:31:34 -07:00
Michael Scire
6935929c33
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
2020-08-01 15:31:33 -07:00
Michael Scire
dc8fccd168
kern: implement SvcMapPhysicalMemory
2020-08-01 15:31:31 -07:00
Michael Scire
a22d1d04f2
kern: implement SvcSleepSystem
2020-08-01 15:31:30 -07:00
Michael Scire
16ce69e333
kern: SvcInvalidateProcessDataCache
2020-08-01 15:31:30 -07:00
Michael Scire
c0c9fe5fd3
kern: SvcMapProcessCodeMemory, SvcUnmapProcessCodeMemory
2020-08-01 15:31:29 -07:00
Michael Scire
0cfdef738d
kern: implement transfer memory (and SVCs)
2020-08-01 15:31:28 -07:00
Michael Scire
417ed5f01c
kern: implement SvcSetMemoryAttribute
2020-08-01 15:31:27 -07:00
Michael Scire
0013041509
kern: KConditionVariable::SignalImpl
2020-08-01 15:31:26 -07:00
Michael Scire
fe48b9163d
kern: fully implement KSharedMemory (and Svcs)
2020-08-01 15:31:25 -07:00
Michael Scire
8cad49ee02
kern: add KProcess::Initialize (for non-kip processes)
2020-08-01 15:31:25 -07:00
Michael Scire
e760bd7038
kern: implement SvcMapProcessMemory, SvcUnmapProcessMemory
2020-08-01 15:31:24 -07:00
Michael Scire
70385eeec9
kern: fix asid tlb invalidation
2020-08-01 15:31:23 -07:00
Michael Scire
69274df795
kern: dump page table on user exception
2020-08-01 15:31:23 -07:00
Michael Scire
eeb12eb4a2
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
2020-08-01 15:31:21 -07:00
Michael Scire
ba1d964100
kern: fix bug in KPageTableBase::SetupForIpcServer
2020-08-01 15:31:20 -07:00
Michael Scire
a22c0a84dd
kern: implement SvcSignalToAddress, SvcWaitForAddress
2020-08-01 15:31:19 -07:00
Michael Scire
d501c3832a
kern: add infra (but not impl) for all DeviceAddressSpace svcs
2020-08-01 15:31:17 -07:00
Michael Scire
df104ecc34
kern: implement SvcCreateInterruptEvent
2020-08-01 15:31:16 -07:00
Michael Scire
1a8393e8b2
kern: add SvcQueryIoMapping (NOTE: pre-10.x, ABI needs update)
2020-08-01 15:31:11 -07:00
Michael Scire
2a8979b6a1
kern: implement KPageTableBase::CopyHeapToHeap(WithoutCheckDestination)
2020-08-01 15:31:08 -07:00
Michael Scire
67c18a0008
ipc: add MapAlias processing logic for Receive
2020-08-01 15:31:04 -07:00
Michael Scire
f7b9ea9ff5
ipc::Reply -> add raw data copy logic
2020-08-01 15:31:04 -07:00
Michael Scire
d986b698d4
kern: implement SvcSendSyncRequest(WithUserBuffer)
2020-08-01 15:31:03 -07:00
Michael Scire
f752db8379
kern: implement SvcCreateThread, SvcStartThread
2020-08-01 15:31:02 -07:00
Michael Scire
3c386e8ab3
kern: implement SvcMapMemory
2020-08-01 15:31:02 -07:00
Michael Scire
98ac3c7efc
kern: implement KEvent, KWritableEvent, KServerSession::OnClientClosed
2020-08-01 15:31:01 -07:00
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