Michael Scire
01f5c89902
kern: add bounds checking to KHandleTable::Register/Unreserve
2021-04-11 03:42:16 -07:00
Michael Scire
44ccbc2a7b
kern: update set/way cache operations for new semantics
2021-04-11 03:42:16 -07:00
Michael Scire
6e4664ee05
kern: if a page table region is zero-size, nothing overlaps it
2021-04-11 03:42:16 -07:00
Michael Scire
85f9355184
kern: use KScopedLightLockPair helper for page table pair-locks
2021-04-11 03:42:16 -07:00
Michael Scire
60b5bd73b7
kern: track mapped ipc server memory in page table
2021-04-11 03:42:16 -07:00
Michael Scire
53e7aa0a20
kern: add KPageTableBase::Read/WriteDebugIoMemory
2021-04-11 03:42:16 -07:00
Michael Scire
561a16a348
kern: flush memory before reading in KPageTableBase::ReadDebugMemory
2021-04-11 03:42:16 -07:00
Michael Scire
1fce7b08b1
kern: update KMemoryBlockManagerUpdaterAllocator for new ctor/init semantics
2021-04-11 03:42:16 -07:00
Michael Scire
c216f92a91
kern: swap tpidr_el1/cntv_cval_el0 as scratch vs exception stack
2021-04-11 03:42:16 -07:00
Michael Scire
2f930c2d5f
kern: support immortal processes
2021-04-11 03:42:16 -07:00
Michael Scire
256eb92f4c
kern: update process/thread for new running/termination semantics
2021-04-11 03:42:16 -07:00
Michael Scire
ec1d9c4c49
kern: unconditionally set thread state when appropriate
2021-04-11 03:42:16 -07:00
Michael Scire
3356eddcba
kern: update kernel waiter management rules
2021-04-11 03:42:16 -07:00
Michael Scire
f67d1b7026
kern: update KInterruptEvent to store core id
2021-04-11 03:42:16 -07:00
Michael Scire
e64fef109c
kern: update pinned thread priority rules
2021-04-11 03:42:16 -07:00
Michael Scire
1b2cf173b3
kern: add new checks to SetThreadPriority/CoreMask
2021-04-11 03:42:16 -07:00
Michael Scire
962cf97150
kern: KLinkedList no longer exists
2021-04-11 03:42:16 -07:00
Michael Scire
4b9e7c7d27
kern: bump svc limit to 192 from 128
2021-04-11 03:42:16 -07:00
Michael Scire
d84dcb653d
ams: prefer construct_at/destroy_at over placement new/explicit destructor
2021-03-21 20:30:40 -07:00
Michael Scire
a7564cf303
kern: add extension InfoType for retrieving current process handle.
2021-03-17 17:48:30 -07:00
Michael Scire
021d4c88fa
kern: use fix usage of incorrect page table for UserBuffer ipc
2021-03-13 15:14:36 -08:00
Michael Scire
deb4aece9a
kern: fix inverted conditional in KDebugBase::SetThreadContext
2021-03-11 12:53:43 -08:00
Michael Scire
8b32b9eadf
kern: Increase reserved system memory, require mesosphere for htc/tma
2021-02-24 04:06:54 -08:00
Michael Scire
eb50e99748
kern: alleviate a little KPort pressure.
2021-02-23 14:31:24 -08:00
Michael Scire
621520c30b
kern: fix support for virtual core IDs
2021-02-05 14:59:03 -08:00
Michael Scire
4ce2a6deb3
meso: update for new fatal encoding
2021-02-02 11:41:49 -08:00
Michael Scire
a28c60970f
kern: fix scheduler update semantics in KLightLock::LockSlowPath
2021-01-28 17:47:26 -08:00
Michael Scire
1e643f7ab0
kern: further codegen tweaks
2021-01-08 02:35:29 -08:00
Michael Scire
4aa18b06e8
kern: greatly improve codegen for atomics, scheduler
2021-01-08 02:13:43 -08:00
Michael Scire
1c9d6b4d90
kern: fix svc bounds checking for main memory size 4GB -> 8GB ( closes #1320 )
2021-01-07 03:43:09 -08:00
Michael Scire
113ab8439d
kern: fix KTrace buffer memory region type to match official kernel
2020-12-28 00:57:45 -08:00
ameerj
60c888126b
fix typo in KServerPort::Destroy()
2020-12-25 20:23:10 -08:00
Michael Scire
968f50bc07
kern: refactor to use m_ for member variables
2020-12-18 13:31:01 -08:00
Michael Scire
4ff026224e
kern: fix inverted conditional in waiter debug print
2020-12-14 10:32:49 -08:00
Michael Scire
16cd1141d1
kern: fix some typos/naming semantics
2020-12-12 05:36:48 -08:00
Michael Scire
4b71e3a87e
kern: implement process cpu utilization debug
2020-12-12 05:34:31 -08:00
Michael Scire
d090a7886d
kern: add kernel thread utilization debug
2020-12-12 05:02:23 -08:00
Michael Scire
9a6cca7499
kern: add page table contents debug
2020-12-11 19:30:48 -08:00
Michael Scire
569e1bc650
kern: cfi fix pt 2
2020-12-11 04:59:20 -08:00
Michael Scire
652e9bf9e8
kern: fix cfi (requires x18 not cleared on return to userland)
2020-12-11 04:53:25 -08:00
Michael Scire
17c8c390fc
kern: fix building debug config
2020-12-11 03:48:34 -08:00
Michael Scire
7fb902d8fb
kern: update for 11.0.1
2020-12-11 02:59:09 -08:00
Michael Scire
be8473cf65
kern: implement memory debug
2020-12-10 16:32:19 -08:00
Michael Scire
6df26d674c
kern/sm: fix debug port output
2020-12-10 04:06:02 -08:00
Michael Scire
1a6e003a5d
kern: add kernel object debug
2020-12-10 03:31:57 -08:00
Michael Scire
0acd79c8c2
kern: implement port debug
2020-12-10 01:44:27 -08:00
Michael Scire
8a4bf6a0a8
kern: add handle table/process/suspend/resume debug
2020-12-09 23:44:36 -08:00
Michael Scire
af259eabda
kern: implement thread call stack debug
2020-12-09 22:49:04 -08:00
Michael Scire
bcc7eed037
kern: add debug thread dump
2020-12-09 05:59:54 -08:00
Michael Scire
abd7ad2720
meso: properly initialize per-thread CFI-value for 11.x
2020-12-08 16:16:49 -08:00
Michael Scire
2de85c633a
exo/meso/fusee: support dynamic control of log port/baud rate
2020-12-07 19:25:06 -08:00
Michael Scire
c45088d1cd
kern: add support for InfoType_FreeThreadCount
2020-12-04 18:20:56 -08:00
Michael Scire
bba99d49da
kern: fix inverted conditional in UnmapProcessCodeMemory
2020-12-02 11:31:50 -08:00
Michael Scire
e760a9d4b0
kern: fix reboot to fatal error
2020-12-02 11:31:15 -08:00
Michael Scire
726d7b6e4d
kern: tweak optimization settings for hot paths
2020-12-02 06:43:37 -08:00
Michael Scire
ab8de72db0
microkernel: hot paths are pretty fucking hot
2020-12-02 06:43:37 -08:00
Michael Scire
331fa1d00d
kern: update KConditionVariable to support new has_waiter_flag rules
2020-12-02 06:43:37 -08:00
Michael Scire
fd745ab2d3
kern: fix SvcGetResourceLimitPeakValue
2020-12-02 06:43:37 -08:00
Michael Scire
972b396f61
kern: fix copy/paste error
2020-12-02 06:43:37 -08:00
Michael Scire
3c8e7de915
kern: fix bugs caused by UB + transition to -Os
2020-12-02 06:43:37 -08:00
Michael Scire
63974d9bce
kern: reduce KMemoryRegionAllocator slab size
2020-12-02 06:43:37 -08:00
Michael Scire
2b483866c7
kern: assume that uart has been setup by secmon
2020-12-02 06:43:37 -08:00
Michael Scire
0a1465f198
kern: add new overflow checks on KMemoryRegions
2020-12-02 06:43:37 -08:00
Michael Scire
748893fe77
kern: fix assertion in the multi-region pool partition code
2020-12-02 06:43:37 -08:00
Michael Scire
1ca64cf2a1
kern: improve KMemoryManager pool detection
2020-12-02 06:43:37 -08:00
Michael Scire
aac8af8bf5
kern: update KMemoryRegion to store last address rather than size
2020-12-02 06:43:37 -08:00
Michael Scire
5da6b60008
kern: add KAlpha/KBeta
2020-12-02 06:43:37 -08:00
Michael Scire
e400e2afc7
kern: stubs for Svc39, 3A, 46, 47
2020-12-02 06:43:37 -08:00
Michael Scire
c8ebd7eea0
KConditionVariable/KAddressArbiter: no need for global compare thread
2020-12-02 06:43:37 -08:00
Michael Scire
28f9b534b6
kern: implement 64-virtual-core interface
2020-12-02 06:43:37 -08:00
Michael Scire
8b2ed36698
kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject
2020-12-02 06:43:37 -08:00
Michael Scire
1852fe8612
kern: improve KSynchronizationObject, kill KSynchronization
2020-12-02 06:43:37 -08:00
Michael Scire
b60054dba1
kern: update for new interrupt event locking scheme
2020-12-02 06:43:37 -08:00
Michael Scire
c7f37f81ee
kern: fix sleep save/resume for new x18/tpidr scheme
2020-12-02 06:43:37 -08:00
Michael Scire
19a279ce45
kern: fix race-crash on interrupt controller save, improve fatal output
2020-12-02 06:43:37 -08:00
Michael Scire
783f1077be
kern: KObjectContainer::Register -> void
2020-12-02 06:43:37 -08:00
Michael Scire
b0debd72a7
kern: Kill KCoreLocalRegion
2020-12-02 06:43:37 -08:00
Michael Scire
24d545701c
kern: remove more of clc
2020-12-02 06:43:37 -08:00
Michael Scire
aae565629e
kern: move scheduler/interrupt task manager out of core local region
2020-12-02 06:43:37 -08:00
Michael Scire
bee629b8ad
kern: update KHardwareTimer, move out of KCoreLocalRegion
2020-12-02 06:43:37 -08:00
Michael Scire
5cb237d030
kern: use single interrupt manager object
2020-12-02 06:43:37 -08:00
Michael Scire
a4e09fc6c4
kern: fix unnecessary align-down
2020-12-02 06:43:37 -08:00
Michael Scire
73d9d5ff47
kern: fix error in SeparatePages
2020-12-02 06:43:37 -08:00
Michael Scire
7b279ab863
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
2020-12-02 06:43:37 -08:00
Michael Scire
6a85f7225d
kern: implement DisableDeviceAddressSpaceMerge
2020-12-02 06:43:37 -08:00
Michael Scire
f469dfbeb3
kern: SvcGetResourceLimitPeakValue
2020-12-02 06:43:37 -08:00
Michael Scire
cc11d452e5
kern: KMemoryManager::Allocate -> AllocateAndOpen
2020-12-02 06:43:37 -08:00
Michael Scire
3bce008170
kern: implement kmemoryblock/kmemoryinfo merge disable
2020-12-02 06:43:37 -08:00
Michael Scire
3383509da6
kern: remove KMemoryAttribute_AnyLocked
2020-12-02 06:43:37 -08:00
Michael Scire
281dcf232a
kern: update KMemoryBlockManagerUpdateAllocator api
2020-12-02 06:43:37 -08:00
Michael Scire
71a2fe1bb6
kern: implement new software-reserved page table bits
2020-12-02 06:43:37 -08:00
Michael Scire
4a216dc928
kern: update KPageTableBase for new disable-merge attrs
2020-12-02 06:43:37 -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
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
Michael Scire
388f9e6455
kern: minor behavioral fixes to condvar/address arbiter
2020-10-12 01:06:19 -07:00
Michael Scire
48b4dd48a4
ams: expose reboot payload for kernel panic
2020-09-18 00:43:55 -07:00
Michael Scire
dbe59fd041
kern: fix KCodeMemory SVCs when Owner process != Generator process
2020-09-17 08:26:08 -07:00
Michael Scire
4acdc899f5
kern: generate fatal error on panic
2020-09-17 08:26:08 -07:00
Michael Scire
76957e502d
kern: add build-define for logging to iram ringbuffer
2020-09-17 08:26:08 -07:00