Michael Scire
|
2ccba9adbb
|
util: implement red black trees as templates over macros
|
2021-04-29 03:04:53 -07:00 |
|
Michael Scire
|
c8ca3ecccd
|
kern: tweak KAutoObject::Open/Close codegen
|
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
|
e9d44eb71a
|
kern: fuck the KPolice^H^H^H^H^H^HPageGroups
|
2021-04-11 03:59:20 -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
|
40f3724891
|
kern: simplify handle table registration for port/session
|
2021-04-11 03:59:18 -07:00 |
|
Michael Scire
|
82c67b4c54
|
kern: update kdebug process management semantics
|
2021-04-11 03:59:18 -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
|
400137d06b
|
kern: reallocate pool distributions for 8GB units
|
2021-04-11 03:59:16 -07:00 |
|
Michael Scire
|
0357a98972
|
kern: simplify global rng initialization
|
2021-04-11 03:59:15 -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
|
a1abde34a9
|
kern: update KConditionVariable::WaitForAddress/Wait
|
2021-04-11 03:59:14 -07:00 |
|
Michael Scire
|
438fc774ba
|
kern: trivially optimize userspace io memory write
|
2021-04-11 03:59:14 -07:00 |
|
Michael Scire
|
e4b271b9bc
|
kern: add bounds checking to KHandleTable::Register/Unreserve
|
2021-04-11 03:59:14 -07:00 |
|
Michael Scire
|
324ec34f5c
|
kern: update set/way cache operations for new semantics
|
2021-04-11 03:59:13 -07:00 |
|
Michael Scire
|
2b10401498
|
kern: if a page table region is zero-size, nothing overlaps it
|
2021-04-11 03:59:13 -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
|
a9f81928f7
|
kern: flush memory before reading in KPageTableBase::ReadDebugMemory
|
2021-04-11 03:59:11 -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
|
1328f17fb1
|
kern: unconditionally set thread state when appropriate
|
2021-04-11 03:59:10 -07:00 |
|
Michael Scire
|
d31612974a
|
kern: update kernel waiter management rules
|
2021-04-11 03:59:09 -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
|
e40ccfb4ca
|
kern: add new checks to SetThreadPriority/CoreMask
|
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
|
f09107ff50
|
kern: add extension InfoType for retrieving current process handle.
|
2021-04-11 03:59:01 -07:00 |
|
Michael Scire
|
5daccda627
|
kern: use fix usage of incorrect page table for UserBuffer ipc
|
2021-04-11 03:59:00 -07:00 |
|
Michael Scire
|
3888feb3fb
|
kern: fix inverted conditional in KDebugBase::SetThreadContext
|
2021-04-11 03:59:00 -07:00 |
|
Michael Scire
|
c766cc8347
|
kern: Increase reserved system memory, require mesosphere for htc/tma
|
2021-04-11 03:58:54 -07:00 |
|
Michael Scire
|
e1cc9f25a9
|
kern: alleviate a little KPort pressure.
|
2021-04-11 03:58:27 -07:00 |
|
Michael Scire
|
832f0f441d
|
kern: fix support for virtual core IDs
|
2021-02-15 19:51:57 -08:00 |
|
Michael Scire
|
a8d1eab91a
|
meso: update for new fatal encoding
|
2021-02-02 12:16:29 -08:00 |
|
Michael Scire
|
6166a74c12
|
kern: fix scheduler update semantics in KLightLock::LockSlowPath
|
2021-02-02 12:16:27 -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
|
514756094b
|
kern: fix svc bounds checking for main memory size 4GB -> 8GB (closes #1320)
|
2021-01-13 10:41:26 -08:00 |
|
Michael Scire
|
bb30453d43
|
kern: fix KTrace buffer memory region type to match official kernel
|
2020-12-28 17:34:07 -08:00 |
|
ameerj
|
e7f5e95d04
|
fix typo in KServerPort::Destroy()
|
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
|
85e817da3e
|
kern: fix inverted conditional in waiter debug print
|
2020-12-19 10:21:48 -08:00 |
|
Michael Scire
|
15189e577e
|
kern: fix some typos/naming semantics
|
2020-12-19 10:21:47 -08:00 |
|
Michael Scire
|
cdbf881e99
|
kern: implement process cpu utilization debug
|
2020-12-19 10:21:47 -08:00 |
|
Michael Scire
|
69333c7fc0
|
kern: add kernel thread 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
|
59b4e75021
|
kern: cfi fix pt 2
|
2020-12-11 05:02:36 -08:00 |
|
Michael Scire
|
da89824925
|
kern: fix cfi (requires x18 not cleared on return to userland)
|
2020-12-11 05:02:35 -08:00 |
|
Michael Scire
|
5a18bea645
|
kern: fix building debug config
|
2020-12-11 03:49:04 -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
|
247bade76a
|
kern/sm: fix debug port output
|
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
|
98c80d487b
|
meso: properly initialize per-thread CFI-value for 11.x
|
2020-12-11 03:48:59 -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
|
ccd1f3b982
|
kern: add support for InfoType_FreeThreadCount
|
2020-12-11 03:48:56 -08:00 |
|
Michael Scire
|
de5341ecde
|
kern: fix inverted conditional in UnmapProcessCodeMemory
|
2020-12-03 12:48:16 -08:00 |
|
Michael Scire
|
9c3e45a856
|
kern: fix reboot to fatal error
|
2020-12-03 12:48:16 -08:00 |
|
Michael Scire
|
9586142e90
|
kern: tweak optimization settings for hot paths
|
2020-12-02 06:53:22 -08:00 |
|
Michael Scire
|
b9504f356f
|
microkernel: hot paths are pretty fucking hot
|
2020-12-02 06:53:20 -08:00 |
|
Michael Scire
|
929e38cce9
|
kern: update KConditionVariable to support new has_waiter_flag rules
|
2020-12-02 06:53:20 -08:00 |
|
Michael Scire
|
f3e127f147
|
kern: fix SvcGetResourceLimitPeakValue
|
2020-12-02 06:53:20 -08:00 |
|
Michael Scire
|
7abc665807
|
kern: fix copy/paste error
|
2020-12-02 06:53:19 -08:00 |
|
Michael Scire
|
9d51004a9b
|
kern: fix bugs caused by UB + transition to -Os
|
2020-12-02 06:53:19 -08:00 |
|
Michael Scire
|
31603c2a5a
|
kern: reduce KMemoryRegionAllocator slab size
|
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
|
0eb6e0a963
|
kern: add new overflow checks on KMemoryRegions
|
2020-12-02 06:53:17 -08:00 |
|
Michael Scire
|
763b00027b
|
kern: fix assertion in the multi-region pool partition code
|
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
|
7779d7d06d
|
kern: stubs for Svc39, 3A, 46, 47
|
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
|
0e6ed3b71b
|
kern: fix sleep save/resume for new x18/tpidr scheme
|
2020-12-02 06:53:13 -08:00 |
|
Michael Scire
|
b0c96b3bb6
|
kern: fix race-crash on interrupt controller save, improve fatal output
|
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 |
|