sys_spu: fix spu image loading address calculation

by calculating mem_size after nsegs has being calculated
This commit is contained in:
eladash 2018-03-23 15:59:43 +03:00 committed by Ivan
parent 3066a05df0
commit fad9cd6ef1

View file

@ -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;
entry_point = obj.header.e_entry;
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));
const u32 src = segs.addr() + nsegs * sizeof(sys_spu_segment);