Skip to content

Commit 19e00f1

Browse files
hoshinolinamarcan
authored andcommitted
m1n1.hv: Remove __OS_LOG segments from coprocessors
These are supposed to be after the kernel, so we'd have to move them for the guest to be able to access them. It seems things work if we just delete those segments. Signed-off-by: Asahi Lina <[email protected]>
1 parent 22890f3 commit 19e00f1

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

proxyclient/m1n1/hv/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1687,6 +1687,18 @@ def load_raw(self, image, entryoffset=0x800, use_xnu_symbols=False, vmin=0):
16871687
self.adt["chosen"]["memory-map"].BootArgs = (guest_base + self.bootargs_off, bootargs_size)
16881688
if hasattr(self.u.adt["chosen"]["memory-map"], "preoslog"):
16891689
self.adt["chosen"]["memory-map"].preoslog = (guest_base + preoslog_off, preoslog_size)
1690+
if hasattr(self.u.adt["chosen"]["memory-map"], "Kernel_mach__header"):
1691+
self.adt["chosen"]["memory-map"].Kernel_mach__header = (guest_base, 0)
1692+
1693+
for name in ("mtp", "aop"):
1694+
if name in self.adt["/arm-io"]:
1695+
iop = self.adt[f"/arm-io/{name}"]
1696+
nub = self.adt[f"/arm-io/{name}/iop-{name}-nub"]
1697+
if iop.segment_names.endswith(";__OS_LOG"):
1698+
iop.segment_names = iop.segment_names[:-9]
1699+
nub.segment_names = nub.segment_names[:-9]
1700+
iop.segment_ranges = iop.segment_ranges[:-32]
1701+
nub.segment_ranges = nub.segment_ranges[:-32]
16901702

16911703
print(f"Setting up bootargs at 0x{guest_base + self.bootargs_off:x}...")
16921704

0 commit comments

Comments
 (0)