Commit Graph

888 Commits

Author SHA1 Message Date
Michael Scire
ae14cf51b5 kern: PMC must be user-mappable for 1.0.0 compat 2020-09-07 10:51:48 -07:00
Michael Scire
c89927177e kern: expose mesosphere meta over GetInfo instead of GetSystemInfo 2020-09-07 10:51:48 -07:00
Michael Scire
8836a5385c kern/pm: support for 5.x under mesosphere 2020-09-07 10:51:47 -07:00
Michael Scire
8741ee24a0 loader: support MapRegion capability as an atmosphere extension (normally kips-only) 2020-09-07 10:51:47 -07:00
Michael Scire
99bd8bae5f fusee: fix sleep/wake on 6.x 2020-09-07 10:51:47 -07:00
Michael Scire
ec6535bd4b kern: fix warn-errors 2020-09-07 10:51:47 -07:00
Michael Scire
fea438eb76 sm: fix deadlock semantics surrounding mitm installation 2020-09-07 10:51:46 -07:00
Michael Scire
8b88149742 kern: fix KTypedAddress, strengthen assertions 2020-09-07 10:51:46 -07:00
Michael Scire
658b92e17a kern: add version bounds checking 2020-09-07 10:51:45 -07:00
Michael Scire
576892ff32 kern: avoid hardcoding maximum board memory size 2020-09-07 10:51:45 -07:00
Michael Scire
5bc3307ffa kern: improve resource region size definitions/calculations 2020-09-07 10:51:45 -07:00
Michael Scire
959122a849 kern: resolve NonSecure definition TODO 2020-09-07 10:51:44 -07:00
Michael Scire
1007d8756a kern: correct thread termination atomicity 2020-09-07 10:51:44 -07:00
Michael Scire
f577ffa682 kern: fix reference leak in KThread::GetThreadFromId callers 2020-09-07 10:51:44 -07: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
fincs
1db868b95f arm64: set -march in cpu specific configuration 2020-09-07 10:51:43 -07:00
fincs
e1876a293f kern: add stubbed KDevicePageTable implementation for systems without iommu 2020-09-07 10:51:42 -07:00
fincs
4916f3f7f8 kern: move SetupPoolPartitionMemoryRegions into board specific implementation 2020-09-07 10:51:42 -07:00
fincs
ec558b3828 kern: make GetTargetFirmware a compile-time constant when not building for Switch 2020-09-07 10:51:42 -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
78161021f4 kern: use common GIC implementation for arm/arm64 2020-09-07 10:51:41 -07:00
Michael Scire
4a50b00cab kern: correct flushing of init arguments 2020-09-07 10:51:41 -07:00
Michael Scire
f02868d886 kern: simplify SetupForIpcClient cleanup 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
23864afe32 kern: KPageTableBase::WriteDebugMemory stores/invalidates cache 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
b876337ffd kern: cleanup some KMemoryManager functions 2020-09-07 10:51:39 -07:00
Michael Scire
f0b455de83 kern: refactor KMemoryLayout 2020-09-07 10:51:39 -07:00
Michael Scire
c99184e155 IntrusiveRedBlackTree: refactor to add ->GetPrev(), ->GetNext() to BaseNode inheritors 2020-09-07 10:51:39 -07:00
Michael Scire
0a4a0d3f03 kern: N reduced the slabheap gap size in 10.0.0 2020-09-07 10:51:38 -07:00
Michael Scire
3d800b407e kern: mark KThread/KProcess.GetId() final to save virtual calls 2020-09-07 10:51:38 -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
db93ab974d kern: SvcChangeKernelTraceState 2020-09-07 10:51:37 -07:00
Michael Scire
b31aa538da kern: remove stray log in SetHeapSize 2020-09-07 10:51:37 -07:00
Michael Scire
f2b9036355 exo: build with -Wextra 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
2d522dc6a1 libstrat: fix building of source/os/* 2020-08-15 09:20:25 -07:00
Michael Scire
5a60240fc8 strat: fix inclusion/ordering for some c headers 2020-08-14 17:36:37 -07:00
Michael Scire
9f7bc49438 ams: avoid UB infinite loops 2020-08-14 17:36:37 -07:00
Michael Scire
9f765dd4ee sf: handle serialization errors more accurately and gracefully 2020-08-14 17:36:36 -07:00
Michael Scire
1cf97bfb29 ams: add support for cpu-extension specific source files 2020-08-14 17:36:36 -07:00
Michael Scire
4ee7df6340 ams: update build system to add generic-fallback support 2020-08-14 17:36:36 -07:00
Michael Scire
cac5957d3f ams: dump version to 0.14.1 2020-08-02 15:02:55 -07:00
Michael Scire
5d51dfdd6c kernel_ldr: use unoptimized memcpy before mmu bringup (closes #1102)
Before the MMU is up, all reads/writes must be aligned; the optimized
memcpy implementation does not guarantee all reads/writes it performs
are aligned.

This commit splits the libc impl to be separate for kernel/kernel_ldr,
and so now only kernel will use the optimized impl. This is safe,
as the MMU is brought up before kernel begins executing.
2020-08-02 15:02:55 -07:00
Michael Scire
f288b81b23 target firmware: I am remarkably bad at this 2020-08-01 15:37:07 -07:00
Michael Scire
4e80a4013f target firmware: fix typo 2020-08-01 15:35:48 -07:00