diff options
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 { |