Michael Scire
|
dbbd04fd2c
|
kern: fix/update thread permissions on pin
|
2021-10-07 23:06:18 -07:00 |
|
Michael Scire
|
204b389252
|
kern: devirtualize page table operations
|
2021-09-24 09:17:11 -07:00 |
|
Michael Scire
|
993ffbfdcd
|
kern: unify all waiting semantics to use single api
|
2021-09-19 10:35:39 -07:00 |
|
Michael Scire
|
ecb607bade
|
kern/svc: implement IoPool/Region svc support
|
2021-09-19 10:35:39 -07:00 |
|
Michael Scire
|
b579a6d75e
|
svc/kern/dd: remove MapDeviceAddressSpace()
|
2021-09-19 10:35:39 -07:00 |
|
Michael Scire
|
3e328eae72
|
kern: update Initialize0 for new arguments/randomization semantics
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
f103b6876b
|
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
1ac249dd13
|
kern: support dynamic resource expansion for system heaps/events/sessions.
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
5a41163576
|
kern: improve kdebug attach semantics
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
ccdee05857
|
kern: update KPageTable::Unmap block closing logic
|
2021-09-19 10:35:38 -07:00 |
|
Michael Scire
|
62655a9e3b
|
kern: optimize logging for release kernel strings (saves printf space in .text)
|
2021-09-19 10:35:37 -07:00 |
|
Michael Scire
|
22bb619873
|
kern: add new KMemoryState
|
2021-09-19 10:35:37 -07:00 |
|
Michael Scire
|
010fb5986e
|
kern: KWorkerTaskManager no longer tracks id
|
2021-09-19 10:35:37 -07:00 |
|
Michael Scire
|
2913096bc4
|
kern: kill the interrupt task manager thread
|
2021-09-19 10:35:36 -07:00 |
|
Michael Scire
|
ccbca5fb57
|
kern: remove per-KInterruptEventTask locks
|
2021-09-19 10:35:36 -07:00 |
|
Michael Scire
|
2361bee5fe
|
kern: delete KWritableEvent, devirtualize KReadableEvent Signal/Clear
|
2021-09-19 10:35:36 -07:00 |
|
Michael Scire
|
cbec3828bf
|
kern: KConditionVariable arbiter functions now static
|
2021-09-19 10:35:36 -07:00 |
|
Michael Scire
|
94fa7524ff
|
kern: KAutoObject doesn't need (virtual) destructor
|
2021-09-19 10:35:35 -07:00 |
|
Michael Scire
|
8939693d33
|
kern: optimize handle table layout
|
2021-09-19 10:35:35 -07:00 |
|
Michael Scire
|
e9a80d95e7
|
kern: optimize hw-single-step management
|
2021-09-19 10:35:29 -07:00 |
|
Michael Scire
|
33d58424c7
|
kern: add hardware single step extension
|
2021-09-19 10:35:28 -07:00 |
|
Michael Scire
|
525254b32b
|
kern: update initial cache management to match latest kernel
|
2021-08-20 13:33:58 -07:00 |
|
Michael Scire
|
2a98931260
|
kern: fix handling of is_aligned parameter in DevicePageTable
|
2021-07-06 07:28:32 -07:00 |
|
Michael Scire
|
765c854768
|
kern: implement improved [new page tables are zero] invariant
|
2021-07-06 07:28:30 -07:00 |
|
Michael Scire
|
5785447252
|
kern: ensure InitArguments do not cross page boundaries
|
2021-07-06 07:28:29 -07:00 |
|
Michael Scire
|
d8e35f2277
|
exo/meso: update for gcc 11 compatibility
|
2021-04-29 03:04:54 -07:00 |
|
Michael Scire
|
c34109718f
|
kern: fix initial process binary load on 2.0.0-4.1.0 (closes #1460)
|
2021-04-29 03:04:54 -07:00 |
|
Michael Scire
|
2ccba9adbb
|
util: implement red black trees as templates over macros
|
2021-04-29 03:04:53 -07:00 |
|
Michael Scire
|
049c56f75a
|
kern: fix constant evaluation correctness, codegen tweak
|
2021-04-29 03:04:53 -07:00 |
|
Michael Scire
|
71e8931b89
|
kern: tweak KHandleTable codegen
|
2021-04-29 03:04:52 -07:00 |
|
Michael Scire
|
c8ca3ecccd
|
kern: tweak KAutoObject::Open/Close codegen
|
2021-04-29 03:04:52 -07:00 |
|
Michael Scire
|
53693dfb17
|
kern: add names/links to kern_assembly_offsets.h
|
2021-04-29 03:04:52 -07:00 |
|
Michael Scire
|
e238fa426d
|
kern: mostly kill magic numbers in assembly, fix SVCs >= 0x80
|
2021-04-29 03:04:51 -07:00 |
|
Michael Scire
|
f863ad0a32
|
kern: mesosphere now implements kernel/sdk 12.3
|
2021-04-11 03:59:20 -07:00 |
|
Michael Scire
|
e9d44eb71a
|
kern: fuck the KPolice^H^H^H^H^H^HPageGroups
|
2021-04-11 03:59:20 -07:00 |
|
Michael Scire
|
44621eeb57
|
kern: who needs __purecall?
|
2021-04-11 03:59:19 -07:00 |
|
Michael Scire
|
0162133f1e
|
kern: update pinning semantics for terminating threads
|
2021-04-11 03:59:19 -07:00 |
|
Michael Scire
|
863008ab54
|
kern: ensure handle table is finalized when deferring termination
|
2021-04-11 03:59:19 -07:00 |
|
Michael Scire
|
b1b8944ccd
|
kern: update port/session state semantics
|
2021-04-11 03:59:17 -07:00 |
|
Michael Scire
|
94dce392ff
|
kern: update KLightConditionVariable
|
2021-04-11 03:59:17 -07:00 |
|
Michael Scire
|
f9cd04c7c4
|
kern: optimize KHandleTable to use indices instead of pointers
|
2021-04-11 03:59:17 -07:00 |
|
Michael Scire
|
7c35303c62
|
kern: KAutoObject destruction is now scheduled for next dpc-time
|
2021-04-11 03:59:16 -07:00 |
|
Michael Scire
|
13ddcae970
|
kern: update for new slab resource counts/extents
|
2021-04-11 03:59:16 -07:00 |
|
Michael Scire
|
cf19a7b64d
|
kern: load initial process binary from user pool, rather than from pt heap
|
2021-04-11 03:59:15 -07:00 |
|
Michael Scire
|
3ebf91304e
|
kern: update Initialize0 for new changes
|
2021-04-11 03:59:15 -07:00 |
|
Michael Scire
|
50ce41adf2
|
kern: use KScopedLightLockPair helper for page table pair-locks
|
2021-04-11 03:59:12 -07:00 |
|
Michael Scire
|
43900d4765
|
kern: track mapped ipc server memory in page table
|
2021-04-11 03:59:12 -07:00 |
|
Michael Scire
|
8df6062a1d
|
kern: add KPageTableBase::Read/WriteDebugIoMemory
|
2021-04-11 03:59:12 -07:00 |
|
Michael Scire
|
6eda131ab6
|
kern: update KMemoryBlockManagerUpdaterAllocator for new ctor/init semantics
|
2021-04-11 03:59:11 -07:00 |
|
Michael Scire
|
e2f21cbd84
|
kern: swap tpidr_el1/cntv_cval_el0 as scratch vs exception stack
|
2021-04-11 03:59:11 -07:00 |
|
Michael Scire
|
c39bce4620
|
kern: support immortal processes
|
2021-04-11 03:59:10 -07:00 |
|
Michael Scire
|
ec7e3fb07f
|
kern: update process/thread for new running/termination semantics
|
2021-04-11 03:59:10 -07:00 |
|
Michael Scire
|
be127dfc4b
|
kern: update KInterruptEvent to store core id
|
2021-04-11 03:59:09 -07:00 |
|
Michael Scire
|
f11f6ec313
|
kern: update pinned thread priority rules
|
2021-04-11 03:59:09 -07:00 |
|
Michael Scire
|
d44aa9cb5d
|
kern: update KInitialPageTable/KInitialPageAllocator
|
2021-04-11 03:59:08 -07:00 |
|
Michael Scire
|
e597eb5411
|
kern: KLinkedList no longer exists
|
2021-04-11 03:59:08 -07:00 |
|
Michael Scire
|
af72072313
|
kern: bump svc limit to 192 from 128
|
2021-04-11 03:59:07 -07:00 |
|
Michael Scire
|
9b47aa6e08
|
ams: prefer construct_at/destroy_at over placement new/explicit destructor
|
2021-04-11 03:59:04 -07:00 |
|
Michael Scire
|
1861791c1c
|
ams: remove TYPED_STORAGE() macro in favor of template
|
2021-04-11 03:59:03 -07:00 |
|
Michael Scire
|
832f0f441d
|
kern: fix support for virtual core IDs
|
2021-02-15 19:51:57 -08:00 |
|
Michael Scire
|
b3eef9315b
|
kern: further codegen tweaks
|
2021-01-13 10:41:27 -08:00 |
|
Michael Scire
|
ca5e69f16d
|
kern: greatly improve codegen for atomics, scheduler
|
2021-01-13 10:41:26 -08:00 |
|
Michael Scire
|
d247e742b8
|
kern: remove target-firmware logic for kernel loader
|
2020-12-29 13:07:57 -08:00 |
|
Michael Scire
|
bb30453d43
|
kern: fix KTrace buffer memory region type to match official kernel
|
2020-12-28 17:34:07 -08:00 |
|
Michael Scire
|
4ddacf3384
|
kern: refactor to use m_ for member variables
|
2020-12-19 10:21:52 -08:00 |
|
Michael Scire
|
a73cdcad21
|
kern: fix generic KDevicePageTable
|
2020-12-19 10:21:51 -08:00 |
|
Michael Scire
|
84ca5c4aab
|
kern: fix LegacyNFiq interrupt ID
|
2020-12-19 10:21:50 -08:00 |
|
Michael Scire
|
c9933de735
|
kern: fix linear region printing output
|
2020-12-19 10:21:50 -08:00 |
|
Michael Scire
|
cdbf881e99
|
kern: implement process cpu utilization debug
|
2020-12-19 10:21:47 -08:00 |
|
Michael Scire
|
02453fc15f
|
kern: add page table contents debug
|
2020-12-19 10:21:46 -08:00 |
|
Michael Scire
|
e80707f2df
|
kern: update for 11.0.1
|
2020-12-11 03:49:02 -08:00 |
|
Michael Scire
|
eb621c6aae
|
kern: implement memory debug
|
2020-12-11 03:49:02 -08:00 |
|
Michael Scire
|
7519d17941
|
kern: add kernel object debug
|
2020-12-11 03:49:01 -08:00 |
|
Michael Scire
|
4c0b780017
|
kern: implement port debug
|
2020-12-11 03:49:01 -08:00 |
|
Michael Scire
|
f3882fa0f7
|
kern: add handle table/process/suspend/resume debug
|
2020-12-11 03:49:01 -08:00 |
|
Michael Scire
|
9784530bcf
|
kern: implement thread call stack debug
|
2020-12-11 03:49:00 -08:00 |
|
Michael Scire
|
a7b7dd1257
|
kern: add debug thread dump
|
2020-12-11 03:49:00 -08:00 |
|
Michael Scire
|
3355f97275
|
exo/meso/fusee: support dynamic control of log port/baud rate
|
2020-12-11 03:48:58 -08:00 |
|
Michael Scire
|
45c1b044d3
|
kern: tweak KScopedAutoObject
|
2020-12-02 06:53:23 -08:00 |
|
Michael Scire
|
7901f15d20
|
kern: allow non-inline GetObjectForIpc
|
2020-12-02 06:53:23 -08:00 |
|
Michael Scire
|
8cac1203be
|
kern: fix KHandleTable null deref in ipc
|
2020-12-02 06:53:22 -08:00 |
|
Michael Scire
|
b53ee81bab
|
kern: session mapping getters are on the hotpath
|
2020-12-02 06:53:22 -08:00 |
|
Michael Scire
|
9d51004a9b
|
kern: fix bugs caused by UB + transition to -Os
|
2020-12-02 06:53:19 -08:00 |
|
Michael Scire
|
ca24d0ed9f
|
kern: allow non-inline KSchedulerLock::Lock
|
2020-12-02 06:53:19 -08:00 |
|
Michael Scire
|
a911d2da7e
|
kern: build as -Os instead of -O2
|
2020-12-02 06:53:18 -08:00 |
|
Michael Scire
|
b5eb0bb978
|
kern: assume that uart has been setup by secmon
|
2020-12-02 06:53:18 -08:00 |
|
Michael Scire
|
a15f3ba468
|
kern: update Initialize0 to account for new ordering
|
2020-12-02 06:53:17 -08:00 |
|
Michael Scire
|
0eb6e0a963
|
kern: add new overflow checks on KMemoryRegions
|
2020-12-02 06:53:17 -08:00 |
|
Michael Scire
|
2db30d4d46
|
kern: improve KMemoryManager pool detection
|
2020-12-02 06:53:17 -08:00 |
|
Michael Scire
|
0b36215bfa
|
kern: update KMemoryRegion to store last address rather than size
|
2020-12-02 06:53:16 -08:00 |
|
Michael Scire
|
2d1ebf4406
|
kern: add KAlpha/KBeta
|
2020-12-02 06:53:16 -08:00 |
|
Michael Scire
|
02bea1a3f2
|
kern: remove now unused SetupFor*Compare funcs
|
2020-12-02 06:53:16 -08:00 |
|
Michael Scire
|
c24ba715b4
|
KConditionVariable/KAddressArbiter: no need for global compare thread
|
2020-12-02 06:53:15 -08:00 |
|
Michael Scire
|
e4774a2685
|
kern: implement 64-virtual-core interface
|
2020-12-02 06:53:15 -08:00 |
|
Michael Scire
|
a57c7f7a48
|
kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject
|
2020-12-02 06:53:14 -08:00 |
|
Michael Scire
|
a01f7ab1c9
|
kern: improve KSynchronizationObject, kill KSynchronization
|
2020-12-02 06:53:14 -08:00 |
|
Michael Scire
|
1806dc45ee
|
kern: update for new interrupt event locking scheme
|
2020-12-02 06:53:13 -08:00 |
|
Michael Scire
|
1582110af7
|
kern: KObjectContainer::Register -> void
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
0c73792282
|
kern: Kill KCoreLocalRegion
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
43a0706e96
|
kern: remove more of clc
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
7b9b9b7a7a
|
kern: move scheduler/interrupt task manager out of core local region
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
f36d24e1ed
|
kern: update KHardwareTimer, move out of KCoreLocalRegion
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
8ec3f47a80
|
kern: use single interrupt manager object
|
2020-12-02 06:53:11 -08:00 |
|
Michael Scire
|
d0b05d0e4e
|
kern: fix re-order/assert in KMemoryBlock
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
f8999a2318
|
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
397d317a6c
|
kern: implement DisableDeviceAddressSpaceMerge
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
0063ede635
|
kern: SvcGetResourceLimitPeakValue
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
396dc066e9
|
kern: KMemoryManager::Allocate -> AllocateAndOpen
|
2020-12-02 06:53:09 -08:00 |
|
Michael Scire
|
1260d85bb9
|
kern: implement kmemoryblock/kmemoryinfo merge disable
|
2020-12-02 06:53:09 -08:00 |
|
Michael Scire
|
dd799d3909
|
kern: remove KMemoryAttribute_AnyLocked
|
2020-12-02 06:53:09 -08:00 |
|
Michael Scire
|
f152b16639
|
kern: update KMemoryBlockManagerUpdateAllocator api
|
2020-12-02 06:53:09 -08:00 |
|
Michael Scire
|
5f885a3b22
|
kern: implement new software-reserved page table bits
|
2020-12-02 06:53:08 -08:00 |
|
Michael Scire
|
394112f9ac
|
kern: update KPageTableBase for new disable-merge attrs
|
2020-12-02 06:53:08 -08:00 |
|
Michael Scire
|
0f3085b8f6
|
kern: perform rescheduling on dispatch re-enable (closes #1169)
|
2020-10-26 16:03:08 -07:00 |
|
Michael Scire
|
0b7648e7fc
|
kern: default to release config
|
2020-09-17 08:34:22 -07:00 |
|
Michael Scire
|
ba45f73e40
|
kern: generate fatal error on panic
|
2020-09-17 08:34:22 -07:00 |
|
Michael Scire
|
b4dbd97381
|
kern: skeleton legacy lps driver
|
2020-09-07 10:51:51 -07: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
|
6cf1e0cece
|
kern: change terminology metadata -> management
|
2020-09-07 10:51:50 -07:00 |
|
Michael Scire
|
0c246b88bd
|
kern: pool management should be within carveout
|
2020-09-07 10:51:49 -07:00 |
|
Michael Scire
|
d61f1ddef7
|
kern: fix phys/virt pool management mixup
|
2020-09-07 10:51:49 -07:00 |
|
Michael Scire
|
00a43ac776
|
kern: revamp KMemoryRegionType to better encode derivation hierarchies
|
2020-09-07 10:51:49 -07:00 |
|
Michael Scire
|
ae14cf51b5
|
kern: PMC must be user-mappable for 1.0.0 compat
|
2020-09-07 10:51:48 -07:00 |
|
Michael Scire
|
ec6535bd4b
|
kern: fix warn-errors
|
2020-09-07 10:51:47 -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 |
|
fincs
|
e1876a293f
|
kern: add stubbed KDevicePageTable implementation for systems without iommu
|
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
|
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
|
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
|
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
|
dc59a2d2e5
|
kern: build with -Wextra
|
2020-09-07 10:51:36 -07:00 |
|
Michael Scire
|
9f7bc49438
|
ams: avoid UB infinite loops
|
2020-08-14 17:36:37 -07:00 |
|
Michael Scire
|
227b9603cd
|
kern: SvcReturnFromException
|
2020-08-01 15:31:46 -07:00 |
|
Michael Scire
|
f80eb2c26f
|
kern SvcGetDebugThreadContext, SvcSetDebugThreadContext
|
2020-08-01 15:31:45 -07:00 |
|
Michael Scire
|
ff9d3ee1d6
|
kern: SvcGetDebugThreadParam
|
2020-08-01 15:31:45 -07:00 |
|
Michael Scire
|
bb044b1934
|
kern: clean up majority of TODOs
|
2020-08-01 15:31:44 -07:00 |
|
Michael Scire
|
1c733577b4
|
kern: SvcGetDebugEventInfo64From32
|
2020-08-01 15:31:44 -07:00 |
|
Michael Scire
|
c7f108082b
|
kern: resolve MESOSPHERE_UNIMPLEMENTEDs other than UserException
|
2020-08-01 15:31:44 -07:00 |
|
Michael Scire
|
3d5f2b7258
|
kern: Add real SvcBreak implementation
|
2020-08-01 15:31:43 -07:00 |
|