diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-27 23:27:21 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-27 23:27:21 +0200 |
commit | 2058138c8d62d8ebe7b3898a633cd9211eb5bc73 (patch) | |
tree | 0e0bd756a0c7b35ec519dde8ee108a5cc0d0bdc3 /src | |
parent | 4344237cb9de28e9b959203b4bb7ad641a5f3fbc (diff) |
Remove rethooks
Diffstat (limited to 'src')
-rw-r--r-- | src/kernel.zig | 1 | ||||
-rw-r--r-- | src/lib/paging.zig | 3 | ||||
-rw-r--r-- | src/lib/process.zig | 1 | ||||
-rw-r--r-- | src/lib/rethooks.zig | 18 |
4 files changed, 0 insertions, 23 deletions
diff --git a/src/kernel.zig b/src/kernel.zig index 46bfcfa..bc93e31 100644 --- a/src/kernel.zig +++ b/src/kernel.zig @@ -144,7 +144,6 @@ fn pagedRun() !noreturn { try w.print("\r\n", .{}); try w.print("===================== Kernel Page Table =====================\r\n", .{}); try w.print(".text: 0x{x:0>8} - 0x{x:0>8} -> identity mapped (-r-x)\r\n", .{ @intFromPtr(paging.text_start), @intFromPtr(paging.text_end) }); - try w.print(".rethooks: 0x{x:0>8} - 0x{x:0>8} -> identity mapped (ur-x)\r\n", .{ @intFromPtr(paging.rethooks_start), @intFromPtr(paging.rethooks_end) }); try w.print(".rodata: 0x{x:0>8} - 0x{x:0>8} -> identity mapped (-r--)\r\n", .{ @intFromPtr(paging.rodata_start), @intFromPtr(paging.rodata_end) }); try w.print(".data: 0x{x:0>8} - 0x{x:0>8} -> identity mapped (-rw-)\r\n", .{ @intFromPtr(paging.data_start), @intFromPtr(paging.data_end) }); try w.print(".bss: 0x{x:0>8} - 0x{x:0>8} -> identity mapped (-rw-)\r\n", .{ @intFromPtr(paging.bss_start), @intFromPtr(paging.bss_end) }); diff --git a/src/lib/paging.zig b/src/lib/paging.zig index 060bcc3..6403ffe 100644 --- a/src/lib/paging.zig +++ b/src/lib/paging.zig @@ -12,8 +12,6 @@ const riscv = @import("riscv.zig"); // Defined by linker script. pub const text_start = @extern(*anyopaque, .{ .name = "_text_start" }); pub const text_end = @extern(*anyopaque, .{ .name = "_text_end" }); -pub const rethooks_start = @extern(*anyopaque, .{ .name = "_rethooks_start" }); -pub const rethooks_end = @extern(*anyopaque, .{ .name = "_rethooks_end" }); pub const rodata_start = @extern(*anyopaque, .{ .name = "_rodata_start" }); pub const rodata_end = @extern(*anyopaque, .{ .name = "_rodata_end" }); pub const data_start = @extern(*anyopaque, .{ .name = "_data_start" }); @@ -465,7 +463,6 @@ pub const Table = struct { pub fn mapKernel(root: *Table) !void { try root.identityMapRange(@intFromPtr(text_start), @intFromPtr(text_end), EntryFlags.readExec); - try root.identityMapRange(@intFromPtr(rethooks_start), @intFromPtr(rethooks_end), EntryFlags.userReadExec); try root.identityMapRange(@intFromPtr(rodata_start), @intFromPtr(rodata_end), EntryFlags.readOnly); try root.identityMapRange(@intFromPtr(data_start), @intFromPtr(data_end), EntryFlags.readWrite); try root.identityMapRange(@intFromPtr(bss_start), @intFromPtr(bss_end), EntryFlags.readWrite); diff --git a/src/lib/process.zig b/src/lib/process.zig index dff5634..4ef3fe4 100644 --- a/src/lib/process.zig +++ b/src/lib/process.zig @@ -6,7 +6,6 @@ const builtin = @import("builtin"); const std = @import("std"); const TrapFrame = @import("TrapFrame.zig"); const paging = @import("paging.zig"); -const rethooks = @import("rethooks.zig"); const riscv = @import("riscv.zig"); const time = @import("sbi/time.zig"); const Allocator = std.mem.Allocator; diff --git a/src/lib/rethooks.zig b/src/lib/rethooks.zig deleted file mode 100644 index e81125a..0000000 --- a/src/lib/rethooks.zig +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org> -// -// SPDX-License-Identifier: AGPL-3.0-or-later - -pub fn terminate() linksection(".rethooks") callconv(.Naked) noreturn { - // Syscall #100001 is "open". - // Use the "/process/self/terminate" hook to terminate the thread. - asm volatile ( - \\ mv a0, a2 - \\ mv a1, a3 - \\ mv t0, a0 - \\ li a7, 100001 - \\ ecall - : - : [path_c] "{t0}" ("/process/self/terminate\x00".ptr), - : "a0", "a2", "a3", "a7" - ); -} |