Commit Graph

421 Commits

Author SHA1 Message Date
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