Michael Scire
b70e367745
kern/ldr: add support for --x executables
2024-10-15 21:51:39 -07:00
Michael Scire
18d59ac4ac
kern: fix debug build
2024-10-15 21:51:37 -07:00
Michael Scire
0c85274c14
kern: allocate all TTBR0 pages during init, use procidx as asid
2024-10-15 21:51:37 -07:00
Michael Scire
42332ee1bc
kern: clear gicd/gicc pointers in KInterruptController::Finalize
2024-10-15 21:51:36 -07:00
Michael Scire
89bfecb6b6
kern/svc: update WaitForAddress to support 64-bit WaitIfEqual
2024-10-15 21:51:35 -07:00
Michael Scire
06d82b52ff
kern/creport: use mod0 to locate symbol table for all modules
2024-10-15 21:51:33 -07:00
Michael Scire
7f661bd2c8
kern: return ExceptionType_UnalignedData on data abort caused by alignment fault
2024-03-29 02:55:05 -07:00
Michael Scire
6571df6cbc
kern: implement new attr tracking for memory range/traversal context
2024-03-29 02:55:04 -07:00
Michael Scire
60e3c8a4cc
kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize
2024-03-29 02:55:02 -07:00
Michael Scire
d7c77f731e
kern: use userspace access instructions to read from tlr
2024-03-29 02:55:00 -07:00
Michael Scire
d7a02b6ca1
kern: fix some comment typos
2023-11-16 16:25:26 -07:00
Michael Scire
43b8461b5f
kern/svc: fix query/insecure names
2023-11-16 16:25:26 -07:00
Michael Scire
d213377313
kern: split out GetInstructionDataUserMode in exception handler
2023-10-12 09:22:26 -07:00
Michael Scire
6dcf506423
kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup
2023-10-12 09:22:25 -07:00
Michael Scire
7ac90cdb0d
kern: note OnFinalize calls in KPageTable::Finalize
2023-10-12 09:22:25 -07:00
Michael Scire
9f51df06d5
kern: KSupervisorPageTable now checks wxn instead of setting it
2023-10-12 09:22:24 -07:00
Michael Scire
41eea11a19
kern: KPageTable::Initialize no longer takes unused process id
2023-10-12 09:22:24 -07:00
Michael Scire
8d84b5776f
kern: add speculation barriers after eret
2023-10-12 09:22:22 -07:00
Michael Scire
03d0fd0f62
kern: refactor init (kill identity map, merge cpu on logic)
2023-02-23 09:00:31 -07:00
Michael Scire
0db64c5e6f
kern: use variable-count parameter arrays for DebugEvents
2023-02-23 09:00:31 -07:00
Michael Scire
8afa5a9057
kern: update for new ChangePermissions page table operation
2023-02-23 09:00:30 -07:00
Michael Scire
a761a80252
kern: optimize userspace access asm to use cheaper instruction in io memory loops
2023-02-23 09:00:27 -07:00
Michael Scire
326f737349
kern: use different psr masks for 64 and 32-bit El0 threads
2023-02-23 09:00:27 -07:00
Michael Scire
f81abe0625
kern: increase stack parameter size by 0x10
2023-02-23 09:00:27 -07:00
Michael Scire
a3cbed96d0
kern: update for new exception flag semantics
2022-10-12 09:15:51 -07:00
Michael Scire
e4825cc879
kern: Implement new PageTable operations/PhysicalMemory reference semantics
2022-10-12 09:15:49 -07:00
Michael Scire
8ca94db643
kern: implement K(Secure)SystemResource
2022-10-12 09:15:48 -07:00
Michael Scire
8022175f5f
kern: implement revised IPI/SGI semantics
2022-03-23 09:16:07 -07:00
Michael Scire
d066ac3d69
kern: update for new hw maintenance semantics
2022-03-23 09:16:06 -07:00
Michael Scire
f38d589516
kern: implement new thread context/fpu semantics
2022-03-23 09:16:06 -07:00
merry
a2e891d5e8
KThreadContext: Use El0PsrMask constant in GetUserContext
2022-03-23 09:15:46 -07:00
SciresM
00203fd7c3
Integrate new result macros. ( #1780 )
...
* result: try out some experimental shenanigans
* result: sketch out some more shenanigans
* result: see what it looks like to convert kernel to use result conds instead of guards
* make rest of kernel use experimental new macro-ing
2022-03-23 09:15:40 -07:00
Michael Scire
9436b9a555
ams: deduplicate static initialization logic
2022-01-19 16:28:54 -08:00
Michael Scire
2409222dd0
kern: be a little more consistent about pragma GCC location
2021-11-30 16:34:45 -08:00
Michael Scire
17ceca9140
kern: fix minor assembly bugs, avoid unnecessary function call in KScheduler hotloop
2021-10-29 17:47:13 -07:00
Michael Scire
e5756ca0b0
kern: fix 32-bit light ipc svc handler asm
...
Nintendo used to do what we were doing because the function wasn't directly in the handler table,
but we've always been directly in the handler table, so we were trashing the last four arguments to light ipc
when called from aarch32. Nothing uses this, but needed to be fixed.
2021-10-29 17:47:13 -07:00
Michael Scire
cb7f4e7757
kern: optimize and bring into line with N our pstate.i management
2021-10-27 22:57:18 -07:00
Michael Scire
610e99b277
kern: audit (and fix) our hardware maintenance instructions to match official kernel
2021-10-27 22:57:18 -07:00
Michael Scire
695a99183b
kern: other dmbs in kernel were already dmb ish
2021-10-26 01:11:19 -07:00
Michael Scire
5f0eb19a41
kernel_ldr: bring initial cache flush in line with Nintendo
2021-10-26 01:11:16 -07:00
Michael Scire
89f01cb068
kern: KCacheHelper: better reflect nintendo coremask clearing logic
2021-10-26 01:11:14 -07:00
SciresM
823c0df6b9
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-26 01:11:13 -07:00
Michael Scire
0d1ec0739f
util: better match true std::atomic semantics
2021-10-26 01:11:13 -07:00
Michael Scire
d3b358bbb9
kern/util: use custom atomics wrapper to substantially improve codegen
2021-10-26 01:11:12 -07:00
Michael Scire
2827f6300e
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
2021-10-26 01:11:11 -07:00
Michael Scire
960c5c19f9
ams: improve offsetof style consistency
2021-10-26 01:11:10 -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
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