Michael Scire
|
610e99b277
|
kern: audit (and fix) our hardware maintenance instructions to match official kernel
|
2021-10-27 22:57:18 -07:00 |
|
Michael Scire
|
695a99183b
|
kern: other dmbs in kernel were already dmb ish
|
2021-10-26 01:11:19 -07:00 |
|
Michael Scire
|
5f0eb19a41
|
kernel_ldr: bring initial cache flush in line with Nintendo
|
2021-10-26 01:11:16 -07:00 |
|
Michael Scire
|
89f01cb068
|
kern: KCacheHelper: better reflect nintendo coremask clearing logic
|
2021-10-26 01:11:14 -07:00 |
|
SciresM
|
823c0df6b9
|
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) (#1668)
|
2021-10-26 01:11:13 -07:00 |
|
Michael Scire
|
0d1ec0739f
|
util: better match true std::atomic semantics
|
2021-10-26 01:11:13 -07:00 |
|
Michael Scire
|
d3b358bbb9
|
kern/util: use custom atomics wrapper to substantially improve codegen
|
2021-10-26 01:11:12 -07:00 |
|
Michael Scire
|
2827f6300e
|
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
|
2021-10-26 01:11:11 -07:00 |
|
Michael Scire
|
960c5c19f9
|
ams: improve offsetof style consistency
|
2021-10-26 01:11:10 -07:00 |
|
Michael Scire
|
002422d5dc
|
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
|
2021-10-07 23:06:25 -07:00 |
|
Michael Scire
|
204b389252
|
kern: devirtualize page table operations
|
2021-09-24 09:17:11 -07:00 |
|
Michael Scire
|
f103b6876b
|
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
1ac249dd13
|
kern: support dynamic resource expansion for system heaps/events/sessions.
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
5a41163576
|
kern: improve kdebug attach semantics
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
ccdee05857
|
kern: update KPageTable::Unmap block closing logic
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
62655a9e3b
|
kern: optimize logging for release kernel strings (saves printf space in .text)
|
2021-09-19 10:35:37 -07:00 |
|
Michael Scire
|
0a262ed268
|
kern: improve single-step around user-exception entry
|
2021-09-19 10:35:29 -07:00 |
|
Michael Scire
|
2b91674b42
|
kern: fix spsr register in RestoreContext
|
2021-09-19 10:35:29 -07:00 |
|
Michael Scire
|
e9a80d95e7
|
kern: optimize hw-single-step management
|
2021-09-19 10:35:29 -07:00 |
|
Michael Scire
|
33d58424c7
|
kern: add hardware single step extension
|
2021-09-19 10:35:28 -07:00 |
|
Michael Scire
|
42ef588bf4
|
kern: improve some debug output
|
2021-08-20 13:34:02 -07:00 |
|
Michael Scire
|
68e98575be
|
kern: fix hardware watchpoint detection
|
2021-08-20 13:34:00 -07:00 |
|
Michael Scire
|
5bad58cb8f
|
kern: fix inverted condition in context breakpoint validation
|
2021-08-20 13:34:00 -07:00 |
|
Michael Scire
|
4f66af77b0
|
kern: since 10.0.0, KDebug::GetThreadContext always returns X0-X7
|
2021-08-20 13:33:59 -07:00 |
|
Michael Scire
|
525254b32b
|
kern: update initial cache management to match latest kernel
|
2021-08-20 13:33:58 -07:00 |
|
Michael Scire
|
765c854768
|
kern: implement improved [new page tables are zero] invariant
|
2021-07-06 07:28:30 -07:00 |
|
Michael Scire
|
e238fa426d
|
kern: mostly kill magic numbers in assembly, fix SVCs >= 0x80
|
2021-04-29 03:04:51 -07:00 |
|
Michael Scire
|
0162133f1e
|
kern: update pinning semantics for terminating threads
|
2021-04-11 03:59:19 -07:00 |
|
Michael Scire
|
3ebf91304e
|
kern: update Initialize0 for new changes
|
2021-04-11 03:59:15 -07:00 |
|
Michael Scire
|
438fc774ba
|
kern: trivially optimize userspace io memory write
|
2021-04-11 03:59:14 -07:00 |
|
Michael Scire
|
324ec34f5c
|
kern: update set/way cache operations for new semantics
|
2021-04-11 03:59:13 -07:00 |
|
Michael Scire
|
43900d4765
|
kern: track mapped ipc server memory in page table
|
2021-04-11 03:59:12 -07:00 |
|
Michael Scire
|
be127dfc4b
|
kern: update KInterruptEvent to store core id
|
2021-04-11 03:59:09 -07:00 |
|
Michael Scire
|
af72072313
|
kern: bump svc limit to 192 from 128
|
2021-04-11 03:59:07 -07:00 |
|
Michael Scire
|
ca5e69f16d
|
kern: greatly improve codegen for atomics, scheduler
|
2021-01-13 10:41:26 -08:00 |
|
Michael Scire
|
4ddacf3384
|
kern: refactor to use m_ for member variables
|
2020-12-19 10:21:52 -08:00 |
|
Michael Scire
|
02453fc15f
|
kern: add page table contents debug
|
2020-12-19 10:21:46 -08:00 |
|
Michael Scire
|
59b4e75021
|
kern: cfi fix pt 2
|
2020-12-11 05:02:36 -08:00 |
|
Michael Scire
|
da89824925
|
kern: fix cfi (requires x18 not cleared on return to userland)
|
2020-12-11 05:02:35 -08:00 |
|
Michael Scire
|
7519d17941
|
kern: add kernel object debug
|
2020-12-11 03:49:01 -08:00 |
|
Michael Scire
|
f3882fa0f7
|
kern: add handle table/process/suspend/resume debug
|
2020-12-11 03:49:01 -08:00 |
|
Michael Scire
|
9784530bcf
|
kern: implement thread call stack debug
|
2020-12-11 03:49:00 -08:00 |
|
Michael Scire
|
98c80d487b
|
meso: properly initialize per-thread CFI-value for 11.x
|
2020-12-11 03:48:59 -08:00 |
|
Michael Scire
|
9586142e90
|
kern: tweak optimization settings for hot paths
|
2020-12-02 06:53:22 -08:00 |
|
Michael Scire
|
a57c7f7a48
|
kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject
|
2020-12-02 06:53:14 -08:00 |
|
Michael Scire
|
0c73792282
|
kern: Kill KCoreLocalRegion
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
43a0706e96
|
kern: remove more of clc
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
f36d24e1ed
|
kern: update KHardwareTimer, move out of KCoreLocalRegion
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
8ec3f47a80
|
kern: use single interrupt manager object
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
843e2b08fe
|
kern: fix unnecessary align-down
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
c21e43f7e1
|
kern: fix error in SeparatePages
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
397d317a6c
|
kern: implement DisableDeviceAddressSpaceMerge
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
396dc066e9
|
kern: KMemoryManager::Allocate -> AllocateAndOpen
|
2020-12-02 06:53:09 -08:00 |
|
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
|
ba45f73e40
|
kern: generate fatal error on panic
|
2020-09-17 08:34:22 -07:00 |
|
Michael Scire
|
78161021f4
|
kern: use common GIC implementation for arm/arm64
|
2020-09-07 10:51:41 -07:00 |
|
Michael Scire
|
d7e420c895
|
kern: SvcLegacyGetFutureThreadInfo
|
2020-09-07 10:51:40 -07:00 |
|
Michael Scire
|
4cafc6acb9
|
kern: rename CacheHelper operation for accuracy
|
2020-09-07 10:51:40 -07:00 |
|
Michael Scire
|
888f5cdd20
|
kern: fix multicore instruction cache invalidation
|
2020-09-07 10:51:40 -07:00 |
|
Michael Scire
|
d2dd922f47
|
kern: add tracing for irq/scheduling
|
2020-09-07 10:51:39 -07:00 |
|
Michael Scire
|
6f177e3e84
|
kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt
|
2020-09-07 10:51:38 -07:00 |
|
Michael Scire
|
4a91046154
|
kern: implement svc trace
|
2020-09-07 10:51:37 -07:00 |
|
Michael Scire
|
dc59a2d2e5
|
kern: build with -Wextra
|
2020-09-07 10:51:36 -07:00 |
|
Michael Scire
|
b5c915a6f2
|
kern: complete final SVC stubs (KernelDebug/Trace debug-impl still TODO)
|
2020-08-01 15:31:46 -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
|
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
|
8019804c7f
|
kern: automatic PC alignment on ERET is implementation defined
|
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
|
e8021705d8
|
kern: SendSyncRequestLight, ReplyAndReceiveLight
|
2020-08-01 15:31:37 -07:00 |
|
Michael Scire
|
c64e490663
|
kern: implement SvcGetThreadContext3
|
2020-08-01 15:31:35 -07:00 |
|
Michael Scire
|
2cee81697c
|
kern: correct behavior when setting activity/core mask for pinned thread
|
2020-08-01 15:31:35 -07:00 |
|
Michael Scire
|
be1314cb88
|
kern: implement thread pinning/SvcSynchronizePreemptionState
|
2020-08-01 15:31:34 -07:00 |
|
Michael Scire
|
b98450c9cf
|
kern: Map L1/L2 blocks when possible
|
2020-08-01 15:31:34 -07:00 |
|
Michael Scire
|
52e5e0866a
|
kern: fix bug in page table mapping calculations
|
2020-08-01 15:31:33 -07:00 |
|
Michael Scire
|
a56e8ca4b0
|
kern: General system stability improvements to enhance the user's experience.
|
2020-08-01 15:31:32 -07:00 |
|
Michael Scire
|
c624611487
|
kern: update interrupt manager
|
2020-08-01 15:31:32 -07:00 |
|
Michael Scire
|
10415aefee
|
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
|
2020-08-01 15:31:31 -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
|
670824fa0a
|
kern: implement process exit
|
2020-08-01 15:31:27 -07:00 |
|
Michael Scire
|
0013041509
|
kern: KConditionVariable::SignalImpl
|
2020-08-01 15:31:26 -07:00 |
|
Michael Scire
|
69274df795
|
kern: dump page table on user exception
|
2020-08-01 15:31:23 -07:00 |
|
Michael Scire
|
767a3fca3a
|
kern: fix incorrect cache routines, implement SvcSetProcessMemoryPermission
|
2020-08-01 15:31:22 -07:00 |
|
Michael Scire
|
29a3bafb6f
|
kern: fix kscheduler interrupt api, adjust debug logging
|
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
|
03d30f5b15
|
kern: patch svc tables via asm, instead of relying on compiler to be nice
|
2020-08-01 15:31:15 -07:00 |
|
Michael Scire
|
8dbdf596bc
|
kern: Support older SVC ABIs
|
2020-08-01 15:31:15 -07:00 |
|
Michael Scire
|
7a57010993
|
kern: add KPageTableBase::CopyMemory Linear <-> User and Linear <-> Kernel
|
2020-08-01 15:31:07 -07:00 |
|
Michael Scire
|
f752db8379
|
kern: implement SvcCreateThread, SvcStartThread
|
2020-08-01 15:31:02 -07:00 |
|
Michael Scire
|
191e233745
|
kern: implement SvcUnmapMemory, more of SvcGetInfo
|
2020-08-01 15:31:00 -07:00 |
|
Michael Scire
|
71027e463a
|
kern: implement 10.x perm change, fix many page table bugs
|
2020-04-24 17:29:10 -07:00 |
|