diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-30 10:59:48 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-30 10:59:48 +0200 |
commit | cbd3d7939b6472b2dc5cd8739b906b269e3081b8 (patch) | |
tree | 6b3c1d2dd2a89cd2faeb0f1229abb13bae85ba4b | |
parent | 24e7ca15fbe4fbbe3b5e5903482add3915877172 (diff) |
Remove errors that are no longer needed
-rw-r--r-- | src/lib/paging.zig | 18 | ||||
-rw-r--r-- | src/lib/plic.zig | 3 | ||||
-rw-r--r-- | src/lib/process.zig | 18 |
3 files changed, 13 insertions, 26 deletions
diff --git a/src/lib/paging.zig b/src/lib/paging.zig index 0775940..dd1feeb 100644 --- a/src/lib/paging.zig +++ b/src/lib/paging.zig @@ -36,19 +36,13 @@ pub var next_mmio_vaddr: usize = 0xff000000; pub var kmem: *Table = undefined; -pub const AllocError = error{ +pub const Error = error{ ZeroSize, OutOfMemory, - OutOfRange, - DoubleFree, AlreadyTaken, NotALeaf, }; -pub const TableError = error{ - NotALeaf, -}; - pub const Mode = enum(u4) { bare, sv39 = 8, @@ -85,7 +79,7 @@ pub const Page = struct { // Fails if the page is already taken. // Returns whether the operation was successful. pub fn take(self: *Page, last: bool) !void { - if (@bitCast(self.flags.active)) return AllocError.AlreadyTaken; + if (@bitCast(self.flags.active)) return Error.AlreadyTaken; self.flags.active = 1; if (last) self.flags.last = 1; @@ -303,7 +297,7 @@ pub const Table = struct { // This function internally uses zeroedAlloc to allocate memory for the required page tables, // but assumes that the physical address to map to has already been allocated by the caller. pub fn map(root: *Table, vaddr: usize, paddr: usize, flags: EntryFlags, level: usize) !void { - if (!flags.isLeaf()) return TableError.NotALeaf; + if (!flags.isLeaf()) return Error.NotALeaf; const vpn = virtualPageNumbers(vaddr); @@ -499,7 +493,7 @@ pub fn init() !void { // Allocate memory pages. Passing n <= 0 results in an error. pub fn alloc(n: usize) ![]align(page_size) u8 { - if (n <= 0) return AllocError.ZeroSize; + if (n <= 0) return Error.ZeroSize; const num_pages = heapSize() / page_size; // Start allocating beyond page descriptors. @@ -541,7 +535,7 @@ pub fn alloc(n: usize) ![]align(page_size) u8 { } } - return AllocError.OutOfMemory; + return Error.OutOfMemory; } // Free (contiguous) memory page(s). @@ -576,7 +570,7 @@ pub fn free(memory: anytype) void { // Allocate memory pages and overwrite their contents with zeroes for added security. // Passing n <= 0 results in an error. -pub fn zeroedAlloc(n: usize) AllocError![]align(page_size) u8 { +pub fn zeroedAlloc(n: usize) Error![]align(page_size) u8 { const ret = try alloc(n); const satp = riscv.satp.read(); diff --git a/src/lib/plic.zig b/src/lib/plic.zig index b8f7364..7e54992 100644 --- a/src/lib/plic.zig +++ b/src/lib/plic.zig @@ -7,9 +7,6 @@ const hwinfo = @import("hwinfo.zig"); pub var default: Plic = undefined; pub const Error = error{ - NoPlic, - PlicIncompatible, - NoPlicReg, InterruptOutOfRange, ContextOutOfRange, }; diff --git a/src/lib/process.zig b/src/lib/process.zig index 23c2f1c..c8e6d5e 100644 --- a/src/lib/process.zig +++ b/src/lib/process.zig @@ -18,15 +18,10 @@ var next_pid: u16 = 1; const num_stack_pages = 2; -pub const ScheduleError = error{ +pub const Error = error{ EmptySchedule, NoInit, -}; - -pub const Error = error{ TooManyThreads, - TooManyResourceDescriptors, - BadRdHandle, }; pub const ExeError = error{ @@ -35,8 +30,7 @@ pub const ExeError = error{ BadArch, BadBitLen, NotStaticExe, - SizeMismatch, - MemOverrun, + LengthOutOfBounds, BranchPerms, WritableCode, }; @@ -157,7 +151,7 @@ pub fn schedule() !noreturn { switchTo(proc); } - return ScheduleError.EmptySchedule; + return Error.EmptySchedule; } pub fn switchTo(proc: *Info) noreturn { @@ -247,7 +241,9 @@ pub fn create(allocator: Allocator, elf_buf: []align(@alignOf(elf.Elf64_Ehdr)) c while (try it.next()) |phdr| { if (phdr.p_type != elf.PT_LOAD) continue; if (phdr.p_filesz == 0 or phdr.p_memsz == 0) continue; - if (phdr.p_filesz > elf_buf.len or phdr.p_memsz > pages.len) return ExeError.MemOverrun; + if (phdr.p_filesz > elf_buf.len or phdr.p_memsz > pages.len) { + return ExeError.LengthOutOfBounds; + } const sz = @min(phdr.p_filesz, phdr.p_memsz); @memcpy(pages[phdr.p_offset .. phdr.p_offset + sz], elf_buf[phdr.p_offset .. phdr.p_offset + sz]); @@ -319,7 +315,7 @@ pub fn runInit(allocator: Allocator, reader: anytype) !noreturn { if (std.mem.eql(u8, file.name, "./init")) { break file; } - } else return ScheduleError.NoInit; + } else return Error.NoInit; const alignment = @alignOf(elf.Elf64_Ehdr); |