aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-07-27 23:27:21 +0200
committerHimbeer <himbeer@disroot.org>2024-07-27 23:27:21 +0200
commit2058138c8d62d8ebe7b3898a633cd9211eb5bc73 (patch)
tree0e0bd756a0c7b35ec519dde8ee108a5cc0d0bdc3 /src
parent4344237cb9de28e9b959203b4bb7ad641a5f3fbc (diff)
Remove rethooks
Diffstat (limited to 'src')
-rw-r--r--src/kernel.zig1
-rw-r--r--src/lib/paging.zig3
-rw-r--r--src/lib/process.zig1
-rw-r--r--src/lib/rethooks.zig18
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"
- );
-}