Michael Scire
06ea58c7fa
ams: mark ams::Result [[nodiscard]] (partially complete).
...
NOTE: This work is not yet fully complete; kernel is done, but
it was taking an exceedingly long time to get through libstratosphere.
Thus, I've temporarily added -Wno-error=unused-result for libstratosphere/stratosphere.
All warnings should be fixed to do the same thing Nintendo does as relevant, but this
is taking a phenomenally long time and is not actually the most important work to do,
so it can be put off for some time to prioritize other tasks for 21.0.0 support.
2025-11-15 12:57:42 -07:00
Michael Scire
082cd441f6
kern: write cpu tick differential to tls +0x108 on thread switch
2025-11-15 12:57:41 -07:00
Michael Scire
7042cd28a1
kern: refactor priority inheritance to represent locks as C++ objects
2023-02-23 09:00:32 -07:00
Michael Scire
30ecdbcf6a
kern: update scheduler for new switch count tracking logic
2023-02-23 09:00:26 -07:00
Michael Scire
f38d589516
kern: implement new thread context/fpu semantics
2022-03-23 09:16:06 -07:00
Michael Scire
2409222dd0
kern: be a little more consistent about pragma GCC location
2021-11-30 16:34:45 -08:00
Michael Scire
24101aaa86
KScheduler big brain strat for mdscr_el1 cfg change
2021-11-30 16:34:43 -08:00
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
00353a05e9
kern: use new AtomicRef, use Atomic<bool>
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
573769303b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
2021-10-26 01:11:11 -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
99e78d285b
kern: KSchedulerInterruptTask -> KSchedulerInterruptHandler
2021-09-19 10:35:37 -07:00
Michael Scire
2913096bc4
kern: kill the interrupt task manager thread
2021-09-19 10:35:36 -07:00
Michael Scire
54618ff03a
kern: fix enormous whoops
2021-06-08 08:09:22 -07:00
Michael Scire
1328f17fb1
kern: unconditionally set thread state when appropriate
2021-04-11 03:59:10 -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
0c73792282
kern: Kill KCoreLocalRegion
2020-12-02 06:53:12 -08:00
Michael Scire
aea200fece
kern: non-loop cas-weak -> cas-strong
2020-09-07 10:51:44 -07:00
Michael Scire
e1e2be41d6
kern: fix bug in KScheduler::ClearPreviousThread
2020-09-07 10:51:43 -07:00
Michael Scire
e6bf8d2d97
kern: use std::atomic_ref instead of reinterpret_cast to std::atomic
2020-09-07 10:51:42 -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
dc59a2d2e5
kern: build with -Wextra
2020-09-07 10:51:36 -07:00
Michael Scire
bb044b1934
kern: clean up majority of TODOs
2020-08-01 15:31:44 -07:00
Michael Scire
be1314cb88
kern: implement thread pinning/SvcSynchronizePreemptionState
2020-08-01 15:31:34 -07:00
Michael Scire
10415aefee
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
2020-08-01 15:31:31 -07:00
Michael Scire
4822da6fea
kern: finish SvcGetInfo
2020-08-01 15:31:30 -07:00
Michael Scire
29a3bafb6f
kern: fix kscheduler interrupt api, adjust debug logging
2020-08-01 15:31:20 -07:00
Michael Scire
900a90a843
kern: fix bug in up/downcasting of scoped auto objects
2020-08-01 15:31:19 -07:00
Michael Scire
5d3f416451
kern/KScheduler: implement special yields
2020-08-01 15:31:08 -07:00
Michael Scire
d5310407ad
kern: implement SvcSleepThread for ns > 0
2020-08-01 15:31:08 -07:00
Michael Scire
9fdf063039
kern: mostly implement thread exit
2020-08-01 15:31:07 -07:00
Michael Scire
fb23bfc77f
kern: implement unsuspension of init threads
2020-03-02 19:51:00 -08:00
Michael Scire
b550f2c3cd
kern: implement lightlock slowpath (works on hw)
2020-03-02 19:50:56 -08:00
Michael Scire
049ae760ab
libmesosphere: move .s to kernel (prevent manifesting in kernelldr)
2020-03-02 19:50:55 -08:00
Michael Scire
c3a76103b6
mesosphere: hard enforcement of TODOs
2020-03-02 19:50:52 -08:00
Michael Scire
7e1b820041
kern: Implement exception vector ASM
2020-03-02 19:50:52 -08:00
Michael Scire
09ef619c51
kern: bugfix, turn on auditing for the time being
2020-03-02 19:50:52 -08:00
Michael Scire
6930294583
kern: implement dpc + skeleton rest of main
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
923ee1c494
kern: skeleton enough types to init KCoreLocalRegion in main()
2020-03-02 19:50:44 -08:00