Commit graph

252 commits

Author SHA1 Message Date
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
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
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
Michael Scire
2e7214b6fa kern: perform rescheduling on dispatch re-enable (closes #1169) 2020-10-13 23:07:51 -07:00
Michael Scire
9b65daf439 kern: default to release config 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
4dc728824f kern: skeleton legacy lps driver 2020-09-07 10:43:35 -07:00
Michael Scire
49af4fae32 kern: begin 1.0.0 backwards compat changes (kips run, full boot fails) 2020-09-07 10:43:35 -07:00
Michael Scire
e8ffbe630f kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout 2020-09-07 10:43:35 -07:00
Michael Scire
ce95af89ef kern: change terminology metadata -> management 2020-09-07 10:43:35 -07:00
Michael Scire
546e2de300 kern: pool management should be within carveout 2020-09-07 10:43:35 -07:00
Michael Scire
11b120b667 kern: fix phys/virt pool management mixup 2020-09-07 10:43:35 -07:00
Michael Scire
1983f86875 kern: revamp KMemoryRegionType to better encode derivation hierarchies 2020-09-07 10:43:35 -07:00
Michael Scire
d50c7c5c79 kern: PMC must be user-mappable for 1.0.0 compat 2020-09-07 10:43:35 -07:00
Michael Scire
bb11c57e7d kern: fix warn-errors 2020-09-07 10:43:35 -07:00
Michael Scire
fac502aaa3 kern: fix KTypedAddress, strengthen assertions 2020-08-18 15:17:40 -07:00
Michael Scire
47f2e93a42 kern: add version bounds checking 2020-08-18 15:17:40 -07:00
Michael Scire
56ec55f3c4 kern: avoid hardcoding maximum board memory size 2020-08-18 15:17:40 -07:00
Michael Scire
1a262c1063 kern: improve resource region size definitions/calculations 2020-08-18 15:17:40 -07:00
fincs
68e29b56b6 kern: add stubbed KDevicePageTable implementation for systems without iommu 2020-08-18 15:17:40 -07:00
fincs
b917ea283e kern: make GetTargetFirmware a compile-time constant when not building for Switch 2020-08-18 15:17:40 -07:00
Michael Scire
48e8562033 kern: use common GIC implementation for arm/arm64 2020-08-18 15:17:40 -07:00
Michael Scire
f07bd0e337 kern: correct flushing of init arguments 2020-08-18 15:17:40 -07:00
Michael Scire
b5f2698bf0 kern: fix multicore instruction cache invalidation 2020-08-18 15:17:40 -07:00
Michael Scire
f058536b59 kern: add tracing for irq/scheduling 2020-08-18 15:17:40 -07:00
Michael Scire
8e5c0a9663 kern: cleanup some KMemoryManager functions 2020-08-18 15:17:40 -07:00
Michael Scire
1b63002f91 kern: refactor KMemoryLayout 2020-08-18 15:17:40 -07:00
Michael Scire
cda15f08d8 kern: mark KThread/KProcess.GetId() final to save virtual calls 2020-08-18 15:17:40 -07:00
Michael Scire
e1bd6fb874 kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt 2020-08-18 15:17:40 -07:00
Michael Scire
920b017677 kern: implement svc trace 2020-08-18 15:17:40 -07:00
Michael Scire
f9d68db3f6 kern: SvcChangeKernelTraceState 2020-08-18 15:17:40 -07:00
Michael Scire
73798cb812 kern: build with -Wextra 2020-08-17 14:20:24 -07:00
Michael Scire
51b5c3d87d ams: avoid UB infinite loops 2020-08-13 17:28:29 -07:00
Michael Scire
5d462c626c kern: SvcReturnFromException 2020-07-31 14:50:52 -07:00