// SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 0xKSor #include #include #include #include Address ExceptionsHandler(ExceptionsContext* frame, ExceptionsType type) { if (type == ExceptionsIRQEl1h || type == ExceptionsIRQEl064) return GICDispatch(frame, type); if (type == ExceptionsSyncEl1h || type == ExceptionsSyncEl064) { UInt32 esr = frame->esr_el1; UInt32 class = (esr >> 26) & 0x3F; UInt32 syndrome = esr & 0x1FFFFFF; if (class == 0x11 || class == 0x15) { if (syndrome == kOSSchedulerExceptionNumber) { return SchedulerNext((Address)frame); } } if (class == 0x15 && syndrome == 0) { OSPanic("Hi from userspace!!"); } } OSPanicException(frame); }