sys_spu: fix spu image loading address calculation
by calculating mem_size after nsegs has being calculated
This commit is contained in:
@@ -43,11 +43,11 @@ void sys_spu_image::load(const fs::file& stream)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const u32 mem_size = nsegs * sizeof(sys_spu_segment) + ::size32(stream);
|
|
||||||
|
|
||||||
type = SYS_SPU_IMAGE_TYPE_KERNEL;
|
type = SYS_SPU_IMAGE_TYPE_KERNEL;
|
||||||
entry_point = obj.header.e_entry;
|
entry_point = obj.header.e_entry;
|
||||||
nsegs = sys_spu_image::get_nsegs(obj.progs);
|
nsegs = sys_spu_image::get_nsegs(obj.progs);
|
||||||
|
|
||||||
|
const u32 mem_size = nsegs * sizeof(sys_spu_segment) + ::size32(stream);
|
||||||
segs = vm::cast(vm::alloc(mem_size, vm::main));
|
segs = vm::cast(vm::alloc(mem_size, vm::main));
|
||||||
|
|
||||||
const u32 src = segs.addr() + nsegs * sizeof(sys_spu_segment);
|
const u32 src = segs.addr() + nsegs * sizeof(sys_spu_segment);
|
||||||
|
|||||||
Reference in New Issue
Block a user