Michael Scire
7b279ab863
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
2020-12-02 06:43:37 -08:00
Michael Scire
6a85f7225d
kern: implement DisableDeviceAddressSpaceMerge
2020-12-02 06:43:37 -08:00
Michael Scire
f469dfbeb3
kern: SvcGetResourceLimitPeakValue
2020-12-02 06:43:37 -08:00
Michael Scire
cc11d452e5
kern: KMemoryManager::Allocate -> AllocateAndOpen
2020-12-02 06:43:37 -08:00
Michael Scire
3bce008170
kern: implement kmemoryblock/kmemoryinfo merge disable
2020-12-02 06:43:37 -08:00
Michael Scire
3383509da6
kern: remove KMemoryAttribute_AnyLocked
2020-12-02 06:43:37 -08:00
Michael Scire
281dcf232a
kern: update KMemoryBlockManagerUpdateAllocator api
2020-12-02 06:43:37 -08:00
Michael Scire
71a2fe1bb6
kern: implement new software-reserved page table bits
2020-12-02 06:43:37 -08:00
Michael Scire
4a216dc928
kern: update KPageTableBase for new disable-merge attrs
2020-12-02 06:43:37 -08:00
Michael Scire
2e7214b6fa
kern: perform rescheduling on dispatch re-enable ( closes #1169 )
2020-10-13 23:07:51 -07:00
Michael Scire
9b65daf439
kern: default to release config
2020-09-17 08:26:08 -07:00
Michael Scire
4acdc899f5
kern: generate fatal error on panic
2020-09-17 08:26:08 -07:00
Michael Scire
4dc728824f
kern: skeleton legacy lps driver
2020-09-07 10:43:35 -07:00
Michael Scire
49af4fae32
kern: begin 1.0.0 backwards compat changes (kips run, full boot fails)
2020-09-07 10:43:35 -07:00
Michael Scire
e8ffbe630f
kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout
2020-09-07 10:43:35 -07:00
Michael Scire
ce95af89ef
kern: change terminology metadata -> management
2020-09-07 10:43:35 -07:00
Michael Scire
546e2de300
kern: pool management should be within carveout
2020-09-07 10:43:35 -07:00
Michael Scire
11b120b667
kern: fix phys/virt pool management mixup
2020-09-07 10:43:35 -07:00
Michael Scire
1983f86875
kern: revamp KMemoryRegionType to better encode derivation hierarchies
2020-09-07 10:43:35 -07:00
Michael Scire
d50c7c5c79
kern: PMC must be user-mappable for 1.0.0 compat
2020-09-07 10:43:35 -07:00
Michael Scire
bb11c57e7d
kern: fix warn-errors
2020-09-07 10:43:35 -07:00
Michael Scire
fac502aaa3
kern: fix KTypedAddress, strengthen assertions
2020-08-18 15:17:40 -07:00
Michael Scire
47f2e93a42
kern: add version bounds checking
2020-08-18 15:17:40 -07:00
Michael Scire
56ec55f3c4
kern: avoid hardcoding maximum board memory size
2020-08-18 15:17:40 -07:00
Michael Scire
1a262c1063
kern: improve resource region size definitions/calculations
2020-08-18 15:17:40 -07:00
fincs
68e29b56b6
kern: add stubbed KDevicePageTable implementation for systems without iommu
2020-08-18 15:17:40 -07:00
fincs
b917ea283e
kern: make GetTargetFirmware a compile-time constant when not building for Switch
2020-08-18 15:17:40 -07:00
Michael Scire
48e8562033
kern: use common GIC implementation for arm/arm64
2020-08-18 15:17:40 -07:00
Michael Scire
f07bd0e337
kern: correct flushing of init arguments
2020-08-18 15:17:40 -07:00
Michael Scire
b5f2698bf0
kern: fix multicore instruction cache invalidation
2020-08-18 15:17:40 -07:00
Michael Scire
f058536b59
kern: add tracing for irq/scheduling
2020-08-18 15:17:40 -07:00
Michael Scire
8e5c0a9663
kern: cleanup some KMemoryManager functions
2020-08-18 15:17:40 -07:00
Michael Scire
1b63002f91
kern: refactor KMemoryLayout
2020-08-18 15:17:40 -07:00
Michael Scire
cda15f08d8
kern: mark KThread/KProcess.GetId() final to save virtual calls
2020-08-18 15:17:40 -07:00
Michael Scire
e1bd6fb874
kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt
2020-08-18 15:17:40 -07:00
Michael Scire
920b017677
kern: implement svc trace
2020-08-18 15:17:40 -07:00
Michael Scire
f9d68db3f6
kern: SvcChangeKernelTraceState
2020-08-18 15:17:40 -07:00
Michael Scire
73798cb812
kern: build with -Wextra
2020-08-17 14:20:24 -07:00
Michael Scire
51b5c3d87d
ams: avoid UB infinite loops
2020-08-13 17:28:29 -07:00
Michael Scire
5d462c626c
kern: SvcReturnFromException
2020-07-31 14:50:52 -07:00
Michael Scire
5c4fbf5c67
kern SvcGetDebugThreadContext, SvcSetDebugThreadContext
2020-07-31 14:50:52 -07:00
Michael Scire
3afd723b92
kern: SvcGetDebugThreadParam
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
85f533e6c4
kern: SvcGetDebugEventInfo64From32
2020-07-31 14:50:52 -07:00
Michael Scire
c9f8252577
kern: resolve MESOSPHERE_UNIMPLEMENTEDs other than UserException
2020-07-31 14:50:52 -07:00
Michael Scire
325802e29d
kern: Add real SvcBreak implementation
2020-07-31 14:50:52 -07:00
Michael Scire
4c3c910774
kern: SvcBreakDebugProcess, SvcTerminateDebugProcess
2020-07-31 14:50:52 -07:00
Michael Scire
b88e09de5b
kern: SvcSetHardwareBreakPoint
2020-07-31 14:50:52 -07:00
Michael Scire
b143f1e05f
kern: Svc(Legacy)ContinueDebugEvent
2020-07-31 14:50:52 -07:00
Michael Scire
91fa0d651f
kern: SvcQueryPhysicalAddress
2020-07-31 14:50:52 -07:00
Michael Scire
96c3dfee14
kern: SvcGetThreadList
2020-07-31 14:50:52 -07:00
Michael Scire
51084c0837
kern: SvcGetLastThreadInfo, SvcGetDebugFutureThreadInfo
2020-07-31 14:50:52 -07:00
Michael Scire
0993ae0685
kern: SvcFlushDataCache, SvcFlushEntireDataCache
2020-07-31 14:50:52 -07:00
Michael Scire
f6f43300e0
kern: SvcReadDebugProcessMemory, SvcWriteDebugProcessMemory
2020-07-31 14:50:52 -07:00
Michael Scire
f866f37cdc
kern: panic on failure-to-open auto object in debug config
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
3f17a34b67
SvcQueryDebugProcessMemory
2020-07-31 14:50:52 -07:00
Michael Scire
5de853b662
kern: fix ARM vs THUMB mode selection on 32-bit entry
2020-07-31 14:50:52 -07:00
Michael Scire
8922bbd108
kern: SendSyncRequestLight, ReplyAndReceiveLight
2020-07-31 14:50:52 -07:00
Michael Scire
b6cb561c47
kern: fix slab heap atomics
2020-07-31 14:50:52 -07:00
Michael Scire
39b22cee8c
kern: implement KCodeMemory (and SVCs)
2020-07-31 14:50:52 -07:00
Michael Scire
4bb9ef061a
kern: implement SvcGetThreadContext3
2020-07-31 14:50:52 -07:00
Michael Scire
787964f7e7
kern: implement thread pinning/SvcSynchronizePreemptionState
2020-07-31 14:50:52 -07:00
Michael Scire
9dc3e025fc
kern: Map L1/L2 blocks when possible
2020-07-31 14:50:52 -07:00
Michael Scire
4ac94e9179
kern: improve KLightLock accuracy
2020-07-31 14:50:52 -07:00
Michael Scire
1448068b69
kern: fix assertion in KThread::(Try)Suspend
2020-07-31 14:50:52 -07:00
Michael Scire
a4d376cc0f
kern: fix hardware timer task corruption on core migration
2020-07-31 14:50:52 -07:00
Michael Scire
840ab0785c
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
2020-07-31 14:50:52 -07:00
Michael Scire
583899ede3
kern: General system stability improvements to enhance the user's experience.
2020-07-31 14:50:52 -07:00
Michael Scire
2ad9927a88
kern: Fix bug in thread core migration
2020-07-31 14:50:52 -07:00
Michael Scire
1b9acc4a6a
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
2020-07-31 14:50:52 -07:00
Michael Scire
5ecc80a5f6
kern: implement SvcMapPhysicalMemory
2020-07-31 14:50:52 -07:00
Michael Scire
695b82b945
kern: finish SvcGetInfo
2020-07-31 14:50:52 -07:00
Michael Scire
fd9b986938
kern: Implement SecureMemory (system resource)
2020-07-31 14:50:52 -07:00
Michael Scire
9231646f33
kern: implement SvcSleepSystem
2020-07-31 14:50:52 -07:00
Michael Scire
418de7b0dc
kern: SvcInvalidateProcessDataCache
2020-07-31 14:50:52 -07:00
Michael Scire
46935fea80
kern: fix resource leak bugs
2020-07-31 14:50:52 -07:00
Michael Scire
11d5353827
kern: SvcMapProcessCodeMemory, SvcUnmapProcessCodeMemory
2020-07-31 14:50:52 -07:00
Michael Scire
1d4d637818
kern SvcGetCurrentProcessorNumber, SvcSetProcessActivity, half of SvcSetThreadActivity
2020-07-31 14:50:52 -07:00
Michael Scire
23eed522d3
kern: SvcGetThreadCoreMask, SvcSetThreadCoreMask
2020-07-31 14:50:52 -07:00
Michael Scire
d87a9f011c
kern: implement transfer memory (and SVCs)
2020-07-31 14:50:52 -07:00
Michael Scire
28aab09b5d
kern: implement process exit
2020-07-31 14:50:52 -07:00
Michael Scire
ab96255a5d
kern: implement SvcSetMemoryAttribute
2020-07-31 14:50:52 -07:00
Michael Scire
eecf59dd00
kern: fix bugs in interrupt permittance, DpcManager init
2020-07-31 14:50:52 -07:00
Michael Scire
afe7e41de8
kern: SvcGetProcessInfo, SvcTerminateProcess
2020-07-31 14:50:52 -07:00
Michael Scire
632a75eee7
kern: KConditionVariable::SignalImpl
2020-07-31 14:50:52 -07:00
Michael Scire
7aa3120f60
kern: fully implement KSharedMemory (and Svcs)
2020-07-31 14:50:52 -07:00
Michael Scire
51311a7332
kern: add KProcess::Initialize (for non-kip processes)
2020-07-31 14:50:52 -07:00
Michael Scire
8759cb4da3
kern: implement first half of SvcCreateProcess
2020-07-31 14:50:52 -07:00
Michael Scire
fb6e85b291
kern: implement SvcMapProcessMemory, SvcUnmapProcessMemory
2020-07-31 14:50:52 -07:00
Michael Scire
3cf793f87e
kern: implement KThread::Finalize
2020-07-31 14:50:52 -07:00
Michael Scire
3265927ed7
kern: KDevicePageTable::Finalize, InfoType_RandomEntropy
2020-07-31 14:50:52 -07:00
Michael Scire
058f223b97
kern: finish SvcGetSystemInfo
2020-07-31 14:50:52 -07:00
Michael Scire
43ad4eb794
kern: fix asid tlb invalidation
2020-07-31 14:50:52 -07:00
Michael Scire
dea1235e12
kern: dump page table on user exception
2020-07-31 14:50:52 -07:00
Michael Scire
26df56cd87
kern: implement SvcCancelSynchronization
2020-07-31 14:50:52 -07:00
Michael Scire
5b8a20dbf7
kern: fix bug in SvcSetThreadPriority
2020-07-31 14:50:52 -07:00
Michael Scire
94f9cc1626
kern: SvcCreateSession, KDebug finalization
2020-07-31 14:50:52 -07:00
Michael Scire
36eb78a3ce
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
2020-07-31 14:50:52 -07:00
Michael Scire
0bd14b7114
kern: fix bug in KPageTableBase::SetupForIpcServer
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
fae2daf77c
kern: fix bug in up/downcasting of scoped auto objects
2020-07-31 14:50:52 -07:00
Michael Scire
8d507aa5a1
kern: implement SvcSignalToAddress, SvcWaitForAddress
2020-07-31 14:50:52 -07:00
Michael Scire
a0cc22302c
kern: add KAddressArbiter::WaitIfEqual
2020-07-31 14:50:52 -07:00
Michael Scire
01a7606f95
kern: implement SvcSetHeapSize
2020-07-31 14:50:52 -07:00
Michael Scire
9c4c058307
kern: implement all device address space svcs
2020-07-31 14:50:52 -07:00
Michael Scire
2ca6772475
kern: implement DetachDeviceAddressSpace, skeleton other das funcs in KDevicePageTable
2020-07-31 14:50:52 -07:00
Michael Scire
0d3aa13f70
kern: add infra (but not impl) for all DeviceAddressSpace svcs
2020-07-31 14:50:52 -07:00
Michael Scire
fe035736ca
kern: implement SvcGetProcessList
2020-07-31 14:50:52 -07:00
Michael Scire
cfddb75398
kern: add SvcCreateDeviceAddressSpace, SvcAttachDeviceAddressSpace
2020-07-31 14:50:52 -07:00
Michael Scire
04f325cf5a
kern: implement SvcCreateInterruptEvent
2020-07-31 14:50:52 -07:00
Michael Scire
b35380a942
kern: implement SvcCreateEvent, SvcSignalEvent, SvcClearEvent, SvcResetSignal
2020-07-31 14:50:52 -07:00
Michael Scire
93be2ffcba
kern: add SvcCreatePort, SvcConnectToPort
2020-07-31 14:50:52 -07:00
Michael Scire
9f79710cb7
kern: add SvcReadWriteRegister
2020-07-31 14:50:52 -07:00
Michael Scire
18698bf1d3
kern: add SvcQueryIoMapping (NOTE: pre-10.x, ABI needs update)
2020-07-13 13:24:32 -07:00
Michael Scire
57867d6ced
kern: fix/add InfoType_(Total/Used)(NonSystem/)MemorySize
2020-07-13 12:17:28 -07:00
Michael Scire
84d8634938
kern: fix bugs in Receive/Exchange ipc buffers
2020-07-13 10:02:01 -07:00
Michael Scire
a8d4b10b17
kern: implement IPC KPageTable functionality
2020-07-12 15:42:47 -07:00
Michael Scire
4a7ce9dd75
kern/KScheduler: implement special yields
2020-07-11 00:48:26 -07:00
Michael Scire
ca9327a120
kern: implement SvcSleepThread for ns > 0
2020-07-10 23:30:15 -07:00
Michael Scire
f37eda6b86
kern: implement KPageTableBase::CopyHeapToHeap(WithoutCheckDestination)
2020-07-10 21:37:56 -07:00
Michael Scire
c72bdec328
kern: add KPageTableBase::CopyMemory Linear <-> User and Linear <-> Kernel
2020-07-10 20:09:06 -07:00
Michael Scire
4a767c9082
kern: mostly implement thread exit
2020-07-10 18:39:53 -07:00
Michael Scire
9fa6d12586
kern/ipc: finish Receive part of ReplyAndReceive
2020-07-10 11:55:33 -07:00
Michael Scire
804aa0e55d
ipc: add MapAlias processing logic for Receive
2020-07-10 11:55:33 -07:00
Michael Scire
a510a1138d
ipc::Reply -> add raw data copy logic
2020-07-10 11:55:33 -07:00
Michael Scire
84b1be1d58
kern: partially implement Receive half of ReplyAndReceive
2020-07-10 11:55:33 -07:00
Michael Scire
1b2203d102
kern: implement SvcSendSyncRequest(WithUserBuffer)
2020-07-10 11:55:33 -07:00
Michael Scire
4f12449acf
kern: implement SvcArbitrateLock, SvcArbitrateUnlock
2020-07-10 11:55:33 -07:00
Michael Scire
f4fd4cbbb2
kern: skeleton SvcReplyAndReceive
2020-07-10 11:55:33 -07:00
Michael Scire
be98aaa185
kern: partially implement SvcSignalProcessWideKey
2020-07-10 11:55:33 -07:00
Michael Scire
7f4c6ae9e7
kern: implement SvcCreateThread, SvcStartThread
2020-07-10 11:55:33 -07:00
Michael Scire
9503aae522
kern: implement SvcMapMemory
2020-07-10 11:55:33 -07:00
Michael Scire
78da7422ae
kern: implement SvcAcceptSession
2020-07-10 11:55:33 -07:00
Michael Scire
f52232f0f2
kern: implement SvcWaitSynchronization
2020-07-10 11:55:33 -07:00
Michael Scire
16c9c53a4a
kern: implement KEvent, KWritableEvent, KServerSession::OnClientClosed
2020-07-10 11:55:33 -07:00
Michael Scire
d0d8914f28
kern: implement SvcCloseHandle
2020-07-10 11:55:33 -07:00
Michael Scire
7400a8ff68
kern: SvcConnectToNamedPort
2020-07-10 11:55:33 -07:00
Michael Scire
a2eb93fde8
kern: svcOutputDebugString, svcGetThreadPriority, svcGetThreadId
2020-07-10 11:55:33 -07:00
Michael Scire
1a0696f8a3
kern: implement SvcUnmapMemory, more of SvcGetInfo
2020-07-10 11:55:33 -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
52c89a76b2
kern: fix KLinkedList dtor
2020-04-27 03:56:12 -07:00
Michael Scire
71d266f867
kern: implement SvcSetUnsafeLimit
2020-04-26 02:49:59 -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
4f50f57bb7
os: bug fixes after re-review of rwlock code
2020-04-21 22:40:45 -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
dcfb3bc9b5
kern: randomize dynamic slab heaps to reflect 10.x changes
2020-04-19 00:35:05 -07:00
Michael Scire
b4d003b4b9
kern: fix suboptimal mapping choices by kernel/kernelldr
2020-04-19 00:01:06 -07:00
Michael Scire
bc1d3ccc91
kern: Update init to reflect 10.0.0 changes
2020-04-18 22:19:09 -07:00
Michael Scire
152a945561
kern: Update page bitmaps/alloc to reflect 10.0.0 changes
2020-04-18 17:10:26 -07:00
Michael Scire
46d79387e8
mesosphere: implement KMemoryBlockManager::UpdateLock
2020-04-16 17:58:51 -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
bunnei
6096fa0e45
KPageHeap: Fix a typo in initialization block alignment. ( #862 )
2020-03-30 19:27:02 -07:00
Michael Scire
ca26d8ce27
kern: Implement SvcManageNamedPort
2020-03-18 00:09:51 -07:00
Michael Scire
96d15b28c6
kern: implement CallSecureMonitor, some of GetInfo/GetSystemInfo
2020-03-18 00:09:50 -07:00
Michael Scire
45f8343659
kern: tweak KHandleTable impl
2020-03-10 04:54:53 -07:00
Michael Scire
40400aee1f
ams: revamp assertion system
2020-02-22 23:05:14 -08:00
Michael Scire
3e4c962bbb
kern: correct error in KUserPointer
2020-02-22 15:38:31 -08:00
Michael Scire
34fb48b412
kern: mem access prep for svc streams, TODO_IMPLEMENT -> UNIMPLEMENTED
2020-02-22 05:42:46 -08:00
Michael Scire
5055bdb23e
kern: correct KClassToken generation
2020-02-22 02:53:14 -08:00
Michael Scire
d2a888d9e8
kern: minor fixes to prevent core0-2 panics during boot
2020-02-21 13:05:16 -08:00
Michael Scire
bb3f7c8ab9
kern: fix building without debugging turned on
2020-02-20 10:14:27 -08: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
9f9593e05f
kern: implement large page group mapping, fix debug flag cap
2020-02-19 22:35:31 -08:00
Michael Scire
80b115ef57
kern: implement user thread start, el0 code now runs
2020-02-19 21:21:44 -08:00
Michael Scire
aae3c789f2
kern: implement unsuspension of init threads
2020-02-19 20:42:21 -08:00
Michael Scire
c568788609
kern: implement KProcess::Run
2020-02-19 19:38:20 -08:00
Michael Scire
28ea0b12a8
kern: implement SetProcessMemoryPermission
2020-02-19 08:07:44 -08:00
Michael Scire
b857153964
kern: finish KProcess::Initialize() for KIPs
2020-02-19 06:46:59 -08:00
Michael Scire
b99bcbc619
kern: implement MapIo
2020-02-19 05:35:22 -08:00
Michael Scire
905ce0eeea
kern: implement capabilities parsing
2020-02-19 04:55:00 -08:00
Michael Scire
05a3e95834
kern: implement process(pagetable) init
2020-02-19 01:22:27 -08:00
Michael Scire
fba8fb539d
kern: add KProcess members
2020-02-18 05:04:49 -08:00
Michael Scire
772e1f1c4f
kern: implement IsValidPageGroup
2020-02-18 01:44:40 -08:00
Michael Scire
154422562a
kern: implement page group unmapping
2020-02-18 01:04:44 -08:00
Michael Scire
92521eed2a
kern: implement through kip decompression
2020-02-17 02:49:21 -08:00
Michael Scire
cbc73f4407
kern: skeleton initial process loading
2020-02-15 03:44:41 -08:00
Michael Scire
30d6b359f9
kern: implement smmu init
2020-02-15 00:00:35 -08:00
Michael Scire
2c496e94d5
kern: switch->nx, implement sleep manager init
2020-02-14 19:58:57 -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
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
ef3da6cb51
kern: implement KMemoryBlockManager::Update
2020-02-10 09:57:00 -08:00
Michael Scire
3bcc4adb5c
kern: implement init through InterruptTaskManager.Initialize()
2020-02-10 02:26:00 -08:00
Michael Scire
3c78bc4dbf
kern: implement KMemoryBlockManager init
2020-02-10 01:50:23 -08:00
Michael Scire
fdd7b1db15
kern: add KPageTableBase members
2020-02-09 18:29:38 -08:00
Michael Scire
50b8189e7f
kern: begin skeletoning page table types
2020-02-09 03:45:45 -08:00
Michael Scire
1d65352167
kern: print layout for debug during startup
2020-02-09 01:16:13 -08:00
Michael Scire
5dae43b192
kern: add svc stubs, turn on svc table build
2020-02-08 11:53:27 -08:00
Michael Scire
4b6b06fcaa
mesosphere: hard enforcement of TODOs
2020-02-08 03:18:08 -08:00
Michael Scire
919b8124dc
kern: Implement exception vector ASM
2020-02-08 02:49:32 -08:00
Michael Scire
e330b6187f
kern: bugfix, turn on auditing for the time being
2020-02-07 19:48:07 -08:00
Michael Scire
1224ed8abe
kern: implement dpc + skeleton rest of main
2020-02-07 19:16:09 -08:00
Michael Scire
e9e949ec36
kern: obj stubs to get past slab init
2020-02-07 11:51:58 -08:00
Michael Scire
8cfffc69d5
kern: print backtrace on panic
2020-02-07 06:26:01 -08:00
Michael Scire
cb6af379d8
kern: implement dynamic slab init + ini relocation
2020-02-07 04:58:35 -08:00
Michael Scire
d9e6771e63
kern: implement more of KMemoryManager through KPageBuffer slab init
2020-02-06 20:36:26 -08:00
Michael Scire
f7d3d50f33
kern: implement KMemoryManager init
2020-02-06 17:40:57 -08:00
Michael Scire
1de607c183
kern: implement KResourceLimit
2020-02-06 05:34:38 -08:00
Michael Scire
23f5d77f37
kern: fix carveout region calcs
2020-02-06 01:22:21 -08:00
Michael Scire
5961151a92
kern: implement uart init + logging
2020-02-06 01:05:35 -08:00
Michael Scire
323858cf96
kern: s/MemoryBlock/MemoryRegion/g
2020-02-05 14:16:56 -08:00
Michael Scire
5f857cb079
kern: implement more of KInterruptManager
2020-02-05 14:07:51 -08:00
Michael Scire
62de3322ff
kern: implement much of KScheduler, KHardwareTimer
2020-02-05 13:02:35 -08:00
Michael Scire
5e4307046a
style cleanup
2020-01-31 16:38:33 -08:00
Michael Scire
2355047715
kern: add abstract scoped lock template
2020-01-31 16:37:58 -08:00
Michael Scire
57222e8301
kern: implement KSchedulerLock
2020-01-31 16:25:17 -08:00
Michael Scire
b2b1129cc0
kern: mostly implement KThread::Initialize
2020-01-31 01:53:30 -08:00
Michael Scire
d9db723bc8
kern: add all kthread members
2020-01-31 00:07:06 -08:00
Michael Scire
08cb370a45
kern: implement KThreadContext
2020-01-30 22:46:18 -08:00
Michael Scire
d262ff92cc
kern: implement KPriorityQueue
2020-01-30 20:56:24 -08:00
Michael Scire
e25a4ca8d7
kern: implement KAffinityMask
2020-01-30 17:07:08 -08:00
Michael Scire
059c706f19
kern: implement KThreadLocalPage
2020-01-30 16:51:35 -08:00
Michael Scire
484f132651
kern: implement KHandleTable, other cleanup
2020-01-30 15:29:51 -08:00
Michael Scire
d5a4c17ee7
kern: fully implement slabheap init
2020-01-30 01:41:59 -08:00
Michael Scire
7d6b16d7fb
kern: Skeleton KSynchronizationObject
2020-01-29 23:46:55 -08:00
Michael Scire
2faf3d33b5
kern: Implement KAutoObject, KSlabHeap, KLightLock
2020-01-29 22:06:25 -08:00
Michael Scire
bb4ade30e4
kern: optimize memory block tree lookups
2020-01-29 14:55:26 -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
bce7133128
meso: add script to build mesosphere.bin
2020-01-24 02:11:24 -08:00
Michael Scire
6ee305464a
mesosphere: Implement SVC table auto-generation
2020-01-24 02:11:21 -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
a85e20bcea
kernel_ldr::cpu: prevent reordering around barrier instructions
2019-12-31 00:46:09 -08:00
Michael Scire
f78653d815
kernelldr: miscellaneous fixes
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
SciresM
af352e4f7f
Remove unnecessary copyright header.
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
36c47a0014
meso: skeleton libmesosphere in prep for kernelldr dev
2019-12-31 00:46:09 -08:00