| 64 | return phys.read_pod(pa, v); |
| 65 | } |
| 66 | bool read_dm_comm(const PhysicalLayer& phys, const KernelContext& k, VAddr va, std::string& out) { |
| 67 | PAddr pa; |
| 68 | if (!dm_pa(va, k, phys.max_address(), pa)) return false; |
| 69 | char buf[16] = {}; |
| 70 | if (phys.read(pa, buf, sizeof(buf)) != sizeof(buf)) return false; |
| 71 | std::size_t n = 0; |
| 72 | while (n < sizeof(buf) && buf[n]) ++n; |
| 73 | out.assign(buf, n); |
| 74 | return true; |
| 75 | } |
| 76 | |
| 77 | bool fill_process(const PhysicalLayer& phys, const KernelContext& k, |
| 78 | VAddr task_va, const Offsets& o, Process& out) |
no test coverage detected