内核错误码
| 9 | |
| 10 | /// 内核错误码 |
| 11 | enum class ErrorCode : uint64_t { |
| 12 | kSuccess = 0, |
| 13 | // ELF 相关错误 (0x100 - 0x1FF) |
| 14 | kElfInvalidAddress = 0x100, |
| 15 | kElfInvalidMagic = 0x101, |
| 16 | kElfUnsupported32Bit = 0x102, |
| 17 | kElfInvalidClass = 0x103, |
| 18 | kElfSymtabNotFound = 0x104, |
| 19 | kElfStrtabNotFound = 0x105, |
| 20 | // FDT 相关错误 (0x200 - 0x2FF) |
| 21 | kFdtInvalidAddress = 0x200, |
| 22 | kFdtInvalidHeader = 0x201, |
| 23 | kFdtNodeNotFound = 0x202, |
| 24 | kFdtPropertyNotFound = 0x203, |
| 25 | kFdtParseFailed = 0x204, |
| 26 | kFdtInvalidPropertySize = 0x205, |
| 27 | // SpinLock 相关错误 (0x300 - 0x3FF) |
| 28 | kSpinLockRecursiveLock = 0x300, |
| 29 | kSpinLockNotOwned = 0x301, |
| 30 | // Mutex 相关错误 (0x380 - 0x3FF) |
| 31 | kMutexNoTaskContext = 0x380, |
| 32 | kMutexRecursiveLock = 0x381, |
| 33 | kMutexNotOwned = 0x382, |
| 34 | kMutexNotLocked = 0x383, |
| 35 | // VirtualMemory 相关错误 (0x400 - 0x4FF) |
| 36 | kVmAllocationFailed = 0x400, |
| 37 | kVmMapFailed = 0x401, |
| 38 | kVmUnmapFailed = 0x402, |
| 39 | kVmInvalidPageTable = 0x403, |
| 40 | kVmPageNotMapped = 0x404, |
| 41 | // IPI 相关错误 (0x500 - 0x5FF) |
| 42 | kIpiTargetOutOfRange = 0x500, |
| 43 | kIpiSendFailed = 0x501, |
| 44 | // Task 相关错误 (0x700 - 0x7FF) |
| 45 | kTaskNoCurrentTask = 0x700, |
| 46 | kTaskPidAllocationFailed = 0x701, |
| 47 | kTaskAllocationFailed = 0x702, |
| 48 | kTaskInvalidCloneFlags = 0x703, |
| 49 | kTaskPageTableCloneFailed = 0x704, |
| 50 | kTaskKernelStackAllocationFailed = 0x705, |
| 51 | kTaskNoChildFound = 0x706, |
| 52 | kTaskInvalidPid = 0x707, |
| 53 | // Signal 相关错误 (0xC00 - 0xCFF) |
| 54 | kSignalInvalidNumber = 0xC00, |
| 55 | kSignalInvalidPid = 0xC01, |
| 56 | kSignalPermissionDenied = 0xC02, |
| 57 | kSignalUncatchable = 0xC03, |
| 58 | kSignalTaskNotFound = 0xC04, |
| 59 | // Device 相关错误 (0x800 - 0x8FF) |
| 60 | kDeviceNotFound = 0x800, |
| 61 | kDeviceAlreadyOpen = 0x801, |
| 62 | kDeviceNotOpen = 0x802, |
| 63 | kDeviceReadFailed = 0x803, |
| 64 | kDeviceWriteFailed = 0x804, |
| 65 | kDeviceIoctlFailed = 0x805, |
| 66 | kDeviceMmapFailed = 0x806, |
| 67 | kDeviceNotSupported = 0x807, |
| 68 | kDeviceBusy = 0x808, |
nothing calls this directly
no outgoing calls
no test coverage detected