Commit graph

383 commits

Author SHA1 Message Date
Michael Scire
53aae17b64 kern: allow non-inline GetObjectForIpc 2020-12-02 04:07:01 -08:00
Michael Scire
94d818db90 kern: fix KHandleTable null deref in ipc 2020-12-02 04:05:16 -08:00
Michael Scire
eccadf2958 kern: session mapping getters are on the hotpath 2020-12-02 03:52:08 -08:00
Michael Scire
60ea4a1b1c kern: tweak optimization settings for hot paths 2020-12-02 03:39:07 -08:00
Michael Scire
2f12dd039f microkernel: hot paths are pretty fucking hot 2020-12-02 02:14:24 -08:00
Michael Scire
f058d04933 kern: update KConditionVariable to support new has_waiter_flag rules 2020-12-02 01:28:21 -08:00
Michael Scire
8e1a46b951 kern: fix SvcGetResourceLimitPeakValue 2020-12-01 19:29:17 -08:00
Michael Scire
24db70602f kern: fix copy/paste error 2020-12-01 19:21:45 -08:00
Michael Scire
4ce3778d87 kern: fix bugs caused by UB + transition to -Os 2020-12-01 18:41:44 -08:00
Michael Scire
f089cd4b76 kern: allow non-inline KSchedulerLock::Lock 2020-12-01 17:36:14 -08:00
Michael Scire
6f95b738dc kern: build as -Os instead of -O2 2020-12-01 17:34:09 -08:00
Michael Scire
6cc21e4d98 kern: reduce KMemoryRegionAllocator slab size 2020-12-01 17:31:21 -08:00
Michael Scire
8936e4d5d9 kern: assume that uart has been setup by secmon 2020-12-01 17:30:42 -08:00
Michael Scire
3b3cb337f0 kern: update Initialize0 to account for new ordering 2020-12-01 17:29:42 -08:00
Michael Scire
a56bdab820 kern: add new overflow checks on KMemoryRegions 2020-12-01 17:14:23 -08:00
Michael Scire
866310937a kern: fix assertion in the multi-region pool partition code 2020-12-01 17:03:42 -08:00
Michael Scire
cc7cf49c88 kern: improve KMemoryManager pool detection 2020-12-01 17:03:00 -08:00
Michael Scire
1e9a3c3f91 kern: update KMemoryRegion to store last address rather than size 2020-12-01 16:42:25 -08:00
Michael Scire
5002b17c71 kern: add KAlpha/KBeta 2020-12-01 16:32:30 -08:00
Michael Scire
3886c8707f kern: stubs for Svc39, 3A, 46, 47 2020-12-01 16:23:09 -08:00
Michael Scire
4c8dad3ea2 kern: remove now unused SetupFor*Compare funcs 2020-12-01 16:20:20 -08:00
Michael Scire
25e1d34017 KConditionVariable/KAddressArbiter: no need for global compare thread 2020-12-01 16:19:39 -08:00
Michael Scire
b421e3eadb kern: implement 64-virtual-core interface 2020-12-01 15:54:31 -08:00
Michael Scire
72671d39ab kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject 2020-12-01 15:19:29 -08:00
Michael Scire
a4c4cf22c9 kern: improve KSynchronizationObject, kill KSynchronization 2020-12-01 14:58:35 -08:00
Michael Scire
6ea1955e94 kern: update for new interrupt event locking scheme 2020-12-01 14:17:25 -08:00
Michael Scire
e81025af2e kern: fix sleep save/resume for new x18/tpidr scheme 2020-12-01 14:09:09 -08:00
Michael Scire
791638e6ba kern: fix race-crash on interrupt controller save, improve fatal output 2020-12-01 13:56:01 -08:00
Michael Scire
2e0378c724 kern: KObjectContainer::Register -> void 2020-12-01 13:49:30 -08:00
Michael Scire
59ada14680 kern: Kill KCoreLocalRegion 2020-12-01 13:41:37 -08:00
Michael Scire
25e944f519 kern: remove more of clc 2020-12-01 13:08:47 -08:00
Michael Scire
3e87b8ff17 kern: move scheduler/interrupt task manager out of core local region 2020-12-01 13:03:44 -08:00
Michael Scire
55502fcd0c kern: update KHardwareTimer, move out of KCoreLocalRegion 2020-12-01 07:47:29 -08:00
Michael Scire
d3e3292bb8 kern: use single interrupt manager object 2020-12-01 07:35:43 -08:00
Michael Scire
33c568963d kern: fix unnecessary align-down 2020-12-01 07:22:05 -08:00
Michael Scire
c374f1c5ce kern: fix error in SeparatePages 2020-12-01 07:19:03 -08:00
Michael Scire
825e2df2e0 kern: fix re-order/assert in KMemoryBlock 2020-12-01 06:55:50 -08:00
Michael Scire
b3efdebeaf kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup 2020-12-01 06:54:53 -08:00
Michael Scire
b393f8f348 kern: implement DisableDeviceAddressSpaceMerge 2020-12-01 06:53:22 -08:00
Michael Scire
74e0ea1033 kern: SvcGetResourceLimitPeakValue 2020-12-01 06:07:18 -08:00
Michael Scire
1738a308c4 kern: KMemoryManager::Allocate -> AllocateAndOpen 2020-12-01 06:01:44 -08:00
Michael Scire
8fe7373ad2 kern: implement kmemoryblock/kmemoryinfo merge disable 2020-12-01 04:57:09 -08:00
Michael Scire
83dd25b894 kern: remove KMemoryAttribute_AnyLocked 2020-12-01 04:33:46 -08:00
Michael Scire
5217a78637 kern: update KMemoryBlockManagerUpdateAllocator api 2020-12-01 04:25:05 -08:00
Michael Scire
2f0470ff1c kern: implement new software-reserved page table bits 2020-12-01 04:14:58 -08:00
Michael Scire
e6733fb2d4 kern: update KPageTableBase for new disable-merge attrs 2020-12-01 03:33:46 -08:00
SciresM
166318ba77
sdmmc: implement driver suitable for fs + bootloader
* sdmmc: begin skeletoning sdmmc driver

* sdmmc: add most of SdHostStandardController

* sdmmc: implement most of SdmmcController

* sdmmc: Sdmmc2Controller

* sdmmc: skeleton implementation of Sdmmc1Controller

* sdmmc: complete abstract logic for Sdmmc1 power controller

* sdmmc: implement gpio handling for sdmmc1-register-control

* sdmmc: implement pinmux handling for sdmmc1-register-control

* sdmmc: fix building for arm32 and in stratosphere context

* sdmmc: implement voltage enable/set for sdmmc1-register-control

* util: move T(V)SNPrintf from kernel to util

* sdmmc: implement BaseDeviceAccessor

* sdmmc: implement MmcDeviceAccessor

* sdmmc: implement clock reset controller for register api

* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors

* exo: add sdmmc test program

* sdmmc: fix speed mode extension, add CheckMmcConnection for debug

* sdmmc: add DeviceDetector, gpio: implement client api

* gpio: modernize client api instead of doing it the lazy way

* sdmmc: SdCardDeviceAccessor impl

* sdmmc: update test program to read first two sectors of sd card

* sdmmc: fix vref sel

* sdmmc: finish outward-facing api (untested)

* ams: changes for libvapours including tegra register defs

* sdmmc: remove hwinit
2020-10-30 11:54:30 -07:00
SciresM
ac04e02a08
Meso build targets (#1196)
* meso: commit wip (thanks fincs) rewrite to support build targets

* meso: commit mostly-working build system

* meso: correct .o dependencies in kernel/kldr

* libstratosphere: fix building after PCH related build changes

Co-authored-by: fincs <fincs@devkitpro.org>
2020-10-27 13:55:19 -07:00
Michael Scire
2ee2a4f1ac docs/fatal error: update for 0.15.0 2020-10-26 16:00:34 -07:00
Michael Scire
2e7214b6fa kern: perform rescheduling on dispatch re-enable (closes #1169) 2020-10-13 23:07:51 -07:00