mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-06-01 07:18:22 -04:00
kern: save/restore spendsgir in KInterruptController::Save/RestoreCoreLocal
This commit is contained in:
parent
3fbc59cce1
commit
801438953d
2 changed files with 13 additions and 0 deletions
|
@ -113,6 +113,12 @@ namespace ams::kern::arch::arm {
|
|||
constexpr size_t Offset = 0;
|
||||
state->icfgr[i] = m_gicd->icfgr[i + Offset];
|
||||
}
|
||||
|
||||
/* Save spendsgir. */
|
||||
static_assert(util::size(state->spendsgir) == util::size(m_gicd->spendsgir));
|
||||
for (size_t i = 0; i < util::size(state->spendsgir); ++i) {
|
||||
state->spendsgir[i] = m_gicd->spendsgir[i];
|
||||
}
|
||||
}
|
||||
|
||||
void KInterruptController::SaveGlobal(GlobalState *state) const {
|
||||
|
@ -168,6 +174,12 @@ namespace ams::kern::arch::arm {
|
|||
m_gicd->icenabler[i + Offset] = 0xFFFFFFFF;
|
||||
m_gicd->isenabler[i + Offset] = state->isenabler[i];
|
||||
}
|
||||
|
||||
/* Restore spendsgir. */
|
||||
static_assert(util::size(state->spendsgir) == util::size(m_gicd->spendsgir));
|
||||
for (size_t i = 0; i < util::size(state->spendsgir); ++i) {
|
||||
m_gicd->spendsgir[i] = state->spendsgir[i];
|
||||
}
|
||||
}
|
||||
|
||||
void KInterruptController::RestoreGlobal(const GlobalState *state) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue