diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-30 12:24:01 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-30 12:24:01 +0200 |
commit | 270c8f02867bf959fa86a44fcb76bb0680571695 (patch) | |
tree | d60a5eb5ab50533176cb67d2fb57c2934c4cf6d6 /src/lib/process.zig | |
parent | 864b96499db9e9233465b79cbbc3a32399fcf946 (diff) |
syscall: Provide userinit access (permissions controlled via paging in the future)
Fixes #69.
Diffstat (limited to 'src/lib/process.zig')
-rw-r--r-- | src/lib/process.zig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/process.zig b/src/lib/process.zig index c8e6d5e..99a89bd 100644 --- a/src/lib/process.zig +++ b/src/lib/process.zig @@ -235,6 +235,10 @@ pub fn create(allocator: Allocator, elf_buf: []align(@alignOf(elf.Elf64_Ehdr)) c try procmem.mapKernel(); + const userinit_start = @intFromPtr(paging.userinit_start); + const userinit_end = @intFromPtr(paging.userinit_end); + try procmem.identityMapRange(userinit_start, userinit_end, paging.EntryFlags.userReadOnly); + const parse_source = std.io.fixedBufferStream(elf_buf); var it = hdr.program_header_iterator(parse_source); |