Michael Scire
|
5c32ec11ea
|
strat: refactor address taking of form &var[...]
|
2021-10-15 23:54:34 -07:00 |
|
Michael Scire
|
390ce66da1
|
svc: refactor/rename MemoryInfo fields
|
2021-10-07 23:06:28 -07:00 |
|
Michael Scire
|
782e449543
|
strat: remove map namespace, svc: add address space defs
|
2021-10-07 23:06:27 -07:00 |
|
Michael Scire
|
002422d5dc
|
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
|
2021-10-07 23:06:25 -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
|
99e78d285b
|
kern: KSchedulerInterruptTask -> KSchedulerInterruptHandler
|
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
|
8939693d33
|
kern: optimize handle table layout
|
2021-09-19 10:35:35 -07:00 |
|
Michael Scire
|
b4c67d9c3b
|
kern: update GetInfo logic for tick count InfoTypes
|
2021-09-19 10:35:35 -07:00 |
|
Michael Scire
|
b375041d9a
|
kern: port limit is now 0x180
|
2021-09-19 10:35:35 -07:00 |
|
Michael Scire
|
0a262ed268
|
kern: improve single-step around user-exception entry
|
2021-09-19 10:35:29 -07:00 |
|
Michael Scire
|
2b91674b42
|
kern: fix spsr register in RestoreContext
|
2021-09-19 10:35:29 -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
|
42ef588bf4
|
kern: improve some debug output
|
2021-08-20 13:34:02 -07:00 |
|
Michael Scire
|
d81e2f981e
|
kern: fix same is_current check in GetThreadContext
|
2021-08-20 13:34:02 -07:00 |
|
Michael Scire
|
4e0670485b
|
kern: fix check for thread-is-current in KDebugBase::SetThreadContext
|
2021-08-20 13:34:01 -07:00 |
|
Michael Scire
|
d264381030
|
kern: remove firmare-specific SignalAndModify impl
Nintendo made this breaking change because there was zero official software relying on it,
so it's safe for us to make the same change.
|
2021-08-20 13:34:01 -07:00 |
|
Michael Scire
|
68e98575be
|
kern: fix hardware watchpoint detection
|
2021-08-20 13:34:00 -07:00 |
|
Michael Scire
|
5bad58cb8f
|
kern: fix inverted condition in context breakpoint validation
|
2021-08-20 13:34:00 -07:00 |
|
Michael Scire
|
1b378d8eb1
|
exo/daybreak: advertise (and check against) supported hos version
|
2021-08-20 13:34:00 -07:00 |
|
Michael Scire
|
4f66af77b0
|
kern: since 10.0.0, KDebug::GetThreadContext always returns X0-X7
|
2021-08-20 13:33:59 -07:00 |
|
Michael Scire
|
619fe0f222
|
kern: fix incorrect waiter management in KProcess::ReleaseUserException
|
2021-08-20 13:33:59 -07:00 |
|
Michael Scire
|
d32d5bef8c
|
kern: fix bug in KConditionVariable::SignalImpl
|
2021-08-20 13:33:59 -07:00 |
|
Michael Scire
|
525254b32b
|
kern: update initial cache management to match latest kernel
|
2021-08-20 13:33:58 -07:00 |
|
Michael Scire
|
3db4dbc181
|
kern: add missing abort on unmap failure
|
2021-07-12 01:59:51 -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
|
af4eb57268
|
kern: fix missing peak set in KResourceLimit::SetLimitValue
|
2021-07-06 07:28:29 -07:00 |
|
Michael Scire
|
54618ff03a
|
kern: fix enormous whoops
|
2021-06-08 08:09:22 -07:00 |
|
Michael Scire
|
fa17887706
|
kern: slightly improve genericity of debugger break event
|
2021-06-08 08:09:22 -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
|
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 |
|