kern: implement revised IPI/SGI semantics

This commit is contained in:
Michael Scire
2022-03-22 23:02:10 -07:00
parent 7454507467
commit bb0be4de8e
9 changed files with 103 additions and 20 deletions

View File

@@ -188,6 +188,7 @@ namespace ams::kern::arch::arm64::cpu {
/* Synchronization helpers. */
NOINLINE void SynchronizeAllCores();
void SynchronizeCores(u64 core_mask);
/* Cache management helpers. */
void StoreCacheForInit(void *addr, size_t size);

View File

@@ -21,11 +21,12 @@ namespace ams::kern::arch::arm64 {
enum KInterruptName : s32 {
/* SGIs */
KInterruptName_ThreadTerminate = 4,
KInterruptName_CacheOperation = 5,
KInterruptName_Scheduler = 6,
KInterruptName_ThreadTerminate = 0,
KInterruptName_CacheOperation = 1,
KInterruptName_Scheduler = 2,
KInterruptName_CoreBarrier = 3,
KInterruptName_PerformanceCounter = 8,
KInterruptName_PerformanceCounter = 4,
/* PPIs */
#if defined(ATMOSPHERE_BOARD_NINTENDO_NX)