Commit Graph

26 Commits

Author SHA1 Message Date
Michael Scire
73dd0b5019 kern: update KAddressSpaceInfo to reflect 20.0.0 changes 2025-05-09 12:10:04 -07:00
Michael Scire
adc3f5e155 kern: add minimum alignment support to KMemoryManager 2024-10-15 21:51:39 -07:00
Michael Scire
49f2449073 kern/strat: update for new DebugFlags capability semantics 2024-10-15 21:51:38 -07:00
Michael Scire
7be7c1ba7c kern: KAddressSpaceInfo now takes CreateProcessFlags in getters 2024-10-15 21:51:35 -07:00
Michael Scire
60e3c8a4cc kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize 2024-03-29 02:55:02 -07:00
Michael Scire
9ca1336762 kern: fix GetProcessId wrong result on invalid parameter 2023-01-24 14:39:16 -07:00
Michael Scire
3be59053ca kern: add new KCapability checks before creating process 2022-03-23 09:16:04 -07:00
SciresM
00203fd7c3 Integrate new result macros. (#1780)
* result: try out some experimental shenanigans

* result: sketch out some more shenanigans

* result: see what it looks like to convert kernel to use result conds instead of guards

* make rest of kernel use experimental new macro-ing
2022-03-23 09:15:40 -07:00
Léo Lam
2916512fb7 Minor header fixes to reduce parsing issues with Clang (#1700)
* Work around Clang's incomplete C++20 support for omitting typename

* vapours: fix Clang error about missing return in constexpr function

* stratosphere: fix call to non-constexpr strlen in constexpr function

strlen being constexpr is a non-compliant GCC extension; Clang
explicitly rejects it: https://reviews.llvm.org/D23692

* stratosphere: add a bunch of missing override specifiers

* stratosphere: work around Clang consteval bug

Minimal example: https://godbolt.org/z/MoM64v93M

The issue seems to be that Clang does not consider f(x) to be a
constant expression if x comes from a template argument that isn't
a non-type auto template argument (???)

We can work around this by relaxing GetMessageHeaderForCheck (by using
constexpr instead of consteval). This produces no functional changes
because the result of GetMessageHeaderForCheck() is assigned to a
constexpr variable, so the result is guaranteed to be computed
at compile-time.

* stratosphere: fix missing require clauses in definitions

GCC not requiring the require clauses to be repeated for member
definitions is actually a compiler bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96830

Clang rejects declarations with missing require clauses.

* Fix ALWAYS_INLINE_LAMBDA and parameter list relative order

While GCC doesn't seem to care about the position of the always_inline
attribute relative to the parameter list, Clang is very picky
and requires the attribute to appear after the parameter list
(and before a trailing return type)

* stratosphere: fix static constexpr member variable with incomplete type

GCC accepts this for some reason (because of the lambda?) but Clang
correctly rejects this.
2021-11-30 16:34:43 -08: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
5a41163576 kern: improve kdebug attach semantics 2021-09-19 10:35:38 -07:00
Michael Scire
ec7e3fb07f kern: update process/thread for new running/termination semantics 2021-04-11 03:59:10 -07:00
Michael Scire
832f0f441d kern: fix support for virtual core IDs 2021-02-15 19:51:57 -08:00
Michael Scire
514756094b kern: fix svc bounds checking for main memory size 4GB -> 8GB (closes #1320) 2021-01-13 10:41:26 -08:00
Michael Scire
1582110af7 kern: KObjectContainer::Register -> void 2020-12-02 06:53:12 -08:00
Michael Scire
22f2946671 kern: begin 1.0.0 backwards compat changes (kips run, full boot fails) 2020-09-07 10:51:50 -07:00
Michael Scire
1aedaa0f91 kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout 2020-09-07 10:51:50 -07:00
Michael Scire
c7f108082b kern: resolve MESOSPHERE_UNIMPLEMENTEDs other than UserException 2020-08-01 15:31:44 -07:00
Michael Scire
df019af185 kern: SvcGetProcessInfo, SvcTerminateProcess 2020-08-01 15:31:26 -07:00
Michael Scire
e5d0e2863b kern: add SvcStartProcess 2020-08-01 15:31:25 -07:00
Michael Scire
fcffa49fd5 kern: implement first half of SvcCreateProcess 2020-08-01 15:31:25 -07:00
Michael Scire
fd486a5efd kern: implement SvcGetProcessList 2020-08-01 15:31:17 -07:00
Michael Scire
2415b68748 kern: skeleton SvcReplyAndReceive 2020-08-01 15:31:02 -07:00
Michael Scire
bc9c0c255c kern: Implement SvcManageNamedPort 2020-03-18 00:15:04 -07:00
Michael Scire
ab29107424 kern: newlines at end of svc files 2020-03-02 19:50:53 -08:00
Michael Scire
02ffc465bd kern: add svc stubs, turn on svc table build 2020-03-02 19:50:52 -08:00