Michael Scire
|
10ed579c38
|
kernel_ldr: bring initial cache flush in line with Nintendo
|
2021-10-25 13:38:52 -07:00 |
|
Michael Scire
|
2490bbf4f9
|
kern: KCacheHelper: better reflect nintendo coremask clearing logic
|
2021-10-23 17:44:30 -07:00 |
|
SciresM
|
36e4914be8
|
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) (#1668)
|
2021-10-23 15:25:20 -07:00 |
|
Michael Scire
|
aed9d3f535
|
util: better match true std::atomic semantics
|
2021-10-20 11:02:17 -07:00 |
|
Michael Scire
|
d74f364107
|
kern/util: use custom atomics wrapper to substantially improve codegen
|
2021-10-19 15:24:15 -07:00 |
|
Michael Scire
|
42b6c2dd95
|
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
|
2021-10-19 01:19:31 -07:00 |
|
Michael Scire
|
889d843718
|
ams: improve offsetof style consistency
|
2021-10-18 00:17:13 -07:00 |
|
Michael Scire
|
77fe5cf6f5
|
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
|
2021-10-04 12:59:10 -07:00 |
|
Michael Scire
|
3fe072a1d0
|
kern: devirtualize page table operations
|
2021-09-21 10:09:27 -07:00 |
|
Michael Scire
|
2f2c36b22b
|
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
2c4bd44d7e
|
kern: support dynamic resource expansion for system heaps/events/sessions.
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
2b91956051
|
kern: improve kdebug attach semantics
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
4c73c461f1
|
kern: update KPageTable::Unmap block closing logic
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
8b49cea4a9
|
kern: optimize logging for release kernel strings (saves printf space in .text)
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
ebb0bd2b41
|
kern: improve single-step around user-exception entry
|
2021-09-11 19:41:47 -07:00 |
|
Michael Scire
|
c10265676f
|
kern: fix spsr register in RestoreContext
|
2021-09-11 19:41:47 -07:00 |
|
Michael Scire
|
9e7b56b33c
|
kern: optimize hw-single-step management
|
2021-09-11 19:41:47 -07:00 |
|
Michael Scire
|
4075d24e0c
|
kern: add hardware single step extension
|
2021-09-11 19:41:47 -07:00 |
|
Michael Scire
|
f175802136
|
kern: improve some debug output
|
2021-08-20 00:06:43 -07:00 |
|
Michael Scire
|
2da31b122f
|
kern: fix hardware watchpoint detection
|
2021-07-22 00:35:40 -07:00 |
|
Michael Scire
|
43bbfd29bb
|
kern: fix inverted condition in context breakpoint validation
|
2021-07-21 23:56:28 -07:00 |
|
Michael Scire
|
bd6155bcb4
|
kern: since 10.0.0, KDebug::GetThreadContext always returns X0-X7
|
2021-07-13 13:00:16 -07:00 |
|
Michael Scire
|
14d458522d
|
kern: update initial cache management to match latest kernel
|
2021-07-12 18:30:01 -07:00 |
|
Michael Scire
|
4892ffae15
|
kern: implement improved [new page tables are zero] invariant
|
2021-06-17 13:03:46 -07:00 |
|
Michael Scire
|
037b04ac60
|
kern: mostly kill magic numbers in assembly, fix SVCs >= 0x80
|
2021-04-14 18:01:08 -07:00 |
|
Michael Scire
|
6faa3534bf
|
kern: update pinning semantics for terminating threads
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
a1e137cc1c
|
kern: update Initialize0 for new changes
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
19b253fd17
|
kern: trivially optimize userspace io memory write
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
44ccbc2a7b
|
kern: update set/way cache operations for new semantics
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
60b5bd73b7
|
kern: track mapped ipc server memory in page table
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
f67d1b7026
|
kern: update KInterruptEvent to store core id
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
4b9e7c7d27
|
kern: bump svc limit to 192 from 128
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
4aa18b06e8
|
kern: greatly improve codegen for atomics, scheduler
|
2021-01-08 02:13:43 -08:00 |
|
Michael Scire
|
968f50bc07
|
kern: refactor to use m_ for member variables
|
2020-12-18 13:31:01 -08:00 |
|
Michael Scire
|
9a6cca7499
|
kern: add page table contents debug
|
2020-12-11 19:30:48 -08:00 |
|
Michael Scire
|
569e1bc650
|
kern: cfi fix pt 2
|
2020-12-11 04:59:20 -08:00 |
|
Michael Scire
|
652e9bf9e8
|
kern: fix cfi (requires x18 not cleared on return to userland)
|
2020-12-11 04:53:25 -08:00 |
|
Michael Scire
|
1a6e003a5d
|
kern: add kernel object debug
|
2020-12-10 03:31:57 -08:00 |
|
Michael Scire
|
8a4bf6a0a8
|
kern: add handle table/process/suspend/resume debug
|
2020-12-09 23:44:36 -08:00 |
|
Michael Scire
|
af259eabda
|
kern: implement thread call stack debug
|
2020-12-09 22:49:04 -08:00 |
|
Michael Scire
|
abd7ad2720
|
meso: properly initialize per-thread CFI-value for 11.x
|
2020-12-08 16:16:49 -08:00 |
|
Michael Scire
|
726d7b6e4d
|
kern: tweak optimization settings for hot paths
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
8b2ed36698
|
kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
19a279ce45
|
kern: fix race-crash on interrupt controller save, improve fatal output
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
b0debd72a7
|
kern: Kill KCoreLocalRegion
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
24d545701c
|
kern: remove more of clc
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
bee629b8ad
|
kern: update KHardwareTimer, move out of KCoreLocalRegion
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
5cb237d030
|
kern: use single interrupt manager object
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
a4e09fc6c4
|
kern: fix unnecessary align-down
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
73d9d5ff47
|
kern: fix error in SeparatePages
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
6a85f7225d
|
kern: implement DisableDeviceAddressSpaceMerge
|
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
|
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
|
4acdc899f5
|
kern: generate fatal error on panic
|
2020-09-17 08:26:08 -07:00 |
|
Michael Scire
|
1983f86875
|
kern: revamp KMemoryRegionType to better encode derivation hierarchies
|
2020-09-07 10:43:35 -07:00 |
|
Michael Scire
|
48e8562033
|
kern: use common GIC implementation for arm/arm64
|
2020-08-18 15:17:40 -07:00 |
|
Michael Scire
|
b8c2782ede
|
kern: SvcLegacyGetFutureThreadInfo
|
2020-08-18 15:17:40 -07:00 |
|
Michael Scire
|
3ec9a9e59f
|
kern: rename CacheHelper operation for accuracy
|
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
|
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
|
73798cb812
|
kern: build with -Wextra
|
2020-08-17 14:20:24 -07:00 |
|
Michael Scire
|
3fd4002bc9
|
kern: complete final SVC stubs (KernelDebug/Trace debug-impl still TODO)
|
2020-07-31 14:50:52 -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
|
e1f3bb10a5
|
kern: clean up majority of TODOs
|
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
|
b88e09de5b
|
kern: SvcSetHardwareBreakPoint
|
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
|
008bfc27f3
|
kern: automatic PC alignment on ERET is implementation defined
|
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
|
4bb9ef061a
|
kern: implement SvcGetThreadContext3
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
f70ee67753
|
kern: correct behavior when setting activity/core mask for pinned thread
|
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
|
0af44d2875
|
kern: fix bug in page table mapping calculations
|
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
|
893b046111
|
kern: update interrupt manager
|
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
|
9231646f33
|
kern: implement SvcSleepSystem
|
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
|
632a75eee7
|
kern: KConditionVariable::SignalImpl
|
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
|
4fca870f2f
|
kern: fix incorrect cache routines, implement SvcSetProcessMemoryPermission
|
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
|
8d507aa5a1
|
kern: implement SvcSignalToAddress, SvcWaitForAddress
|
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
|
c72bdec328
|
kern: add KPageTableBase::CopyMemory Linear <-> User and Linear <-> Kernel
|
2020-07-10 20:09:06 -07:00 |
|
Michael Scire
|
7f4c6ae9e7
|
kern: implement SvcCreateThread, SvcStartThread
|
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 |
|
Michael Scire
|
b39b6f0d5b
|
kern: implement 10.x perm change, fix many page table bugs
|
2020-04-19 17:16:19 -07:00 |
|