diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-27 16:11:40 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-27 16:11:40 +0200 |
commit | 53bd8f532da8624d6d05af3faa19e96a6e1d5331 (patch) | |
tree | ab554a05ca7b5f5bcf5d192907fee2da856ddbc9 /src/lib/process.zig | |
parent | e285d9ee0ad1e47bbfe595431b5e8c4fbb553d50 (diff) |
process: Remove copyBytes and copyBuffer methods
The message passing implementation will come with a revised memory scheme.
Diffstat (limited to 'src/lib/process.zig')
-rw-r--r-- | src/lib/process.zig | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/lib/process.zig b/src/lib/process.zig index 2fbab11..70ac9a2 100644 --- a/src/lib/process.zig +++ b/src/lib/process.zig @@ -144,48 +144,6 @@ pub const Info = struct { fn shouldTerminateThread(self: *const Info, candidate: *const Info) bool { return candidate.thread_id == self.thread_id or self.thread_id == 0; } - - pub fn copyBytes(self: *const Info, bytes: []const u8) ![]align(paging.page_size) const u8 { - const aligned_len = std.mem.alignForward(usize, bytes.len, paging.page_size); - const num_pages = @divExact(aligned_len, paging.page_size); - - const copy = try paging.zeroedAlloc(num_pages); - errdefer paging.free(copy); - - var addr = @intFromPtr(copy.ptr); - const limit = addr + copy.len; - while (addr < limit) : (addr += paging.page_size) { - try self.page_table.map(addr, addr, paging.EntryFlags.userReadOnly, 0); - errdefer self.page_table.unmapEntry(addr); - } - - paging.setUserMemoryAccess(true); - defer paging.setUserMemoryAccess(false); - - @memcpy(copy[0..bytes.len], bytes); - return copy[0..bytes.len]; - } - - pub fn copyBuffer(self: *const Info, buffer: []u8) ![]align(paging.page_size) u8 { - const aligned_len = std.mem.alignForward(usize, buffer.len, paging.page_size); - const num_pages = @divExact(aligned_len, paging.page_size); - - const copy = try paging.zeroedAlloc(num_pages); - errdefer paging.free(copy); - - var addr = @intFromPtr(copy.ptr); - const limit = addr + copy.len; - while (addr < limit) : (addr += paging.page_size) { - try self.page_table.map(addr, addr, paging.EntryFlags.userReadWrite, 0); - errdefer self.page_table.unmapEntry(addr); - } - - paging.setUserMemoryAccess(true); - defer paging.setUserMemoryAccess(false); - - @memcpy(copy[0..buffer.len], buffer); - return copy[0..buffer.len]; - } }; pub fn next() ?*Info { |