Lines Matching refs:ctr

239 	struct container *ctr = (struct container *)hvld;  in container_load_boot_image()  local
245 lzh = ctr->lzh_ptr[LZH_BOOT_CMD]; in container_load_boot_image()
246 ctr->boot_cmdsize = lzh->Size + StrnLen(ctr->options, ctr->options_size); in container_load_boot_image()
247 if (ctr->boot_cmdsize >= MAX_BOOTCMD_SIZE) { in container_load_boot_image()
248 Print(L"Boot command size 0x%x exceeding limit 0x%x\n", ctr->boot_cmdsize, MAX_BOOTCMD_SIZE); in container_load_boot_image()
251 memcpy(ctr->boot_cmd, (const char *)lzh->Data, lzh->Size - 1); in container_load_boot_image()
252 if (ctr->options) { in container_load_boot_image()
253 ctr->boot_cmd[lzh->Size - 1] = ' '; in container_load_boot_image()
254 for (i = lzh->Size; i < ctr->boot_cmdsize; i++) { in container_load_boot_image()
255 ctr->boot_cmd[i] = ctr->options[i - lzh->Size]; in container_load_boot_image()
260 lzh = ctr->lzh_ptr[LZH_BOOT_IMG]; in container_load_boot_image()
262 if (parse_boot_image((const UINT8 *)lzh->Data, &ctr->hv_entry, &ctr->mb_version, in container_load_boot_image()
263 &ctr->laddr, &ctr->reloc, &mb_hdr) < 0) { in container_load_boot_image()
268 if (ctr->mb_version == 2) { in container_load_boot_image()
270 if (!ctr->laddr) { in container_load_boot_image()
273 err = load_acrn_elf(lzh->Data, &ctr->hv_hpa, 0, &hv_ram_size, ctr->reloc); in container_load_boot_image()
274 ctr->est_hv_ram_size = hv_ram_size; in container_load_boot_image()
275 ctr->hv_entry = elf_get_entry((Elf32_Ehdr *)lzh->Data); in container_load_boot_image()
286 UINT32 load_addr = ctr->laddr->load_addr; in container_load_boot_image()
287 UINT32 load_size = ctr->laddr->load_end_addr - ctr->laddr->load_addr; in container_load_boot_image()
289 err = load_acrn_elf(lzh->Data, &ctr->hv_hpa, load_addr, &load_size, ctr->reloc); in container_load_boot_image()
298 if (ctr->reloc) { in container_load_boot_image()
299 ctr->hv_entry += (ctr->hv_hpa >= ctr->laddr->load_addr) ? in container_load_boot_image()
300 ctr->hv_hpa - ctr->laddr->load_addr : in container_load_boot_image()
301 ctr->laddr->load_addr - ctr->hv_hpa; in container_load_boot_image()
307 err = load_acrn_elf(lzh->Data, &ctr->hv_hpa, 0, &hv_ram_size, NULL); in container_load_boot_image()
312 ctr->est_hv_ram_size = hv_ram_size; in container_load_boot_image()
313 ctr->hv_entry = elf_get_entry((Elf32_Ehdr *)lzh->Data); in container_load_boot_image()
330 struct container *ctr = (struct container *)hvld; in container_load_modules() local
339 for (i = LZH_MOD0_CMD; i < ctr->lzh_count - 1; i++) { in container_load_modules()
341 ctr->total_modcmdsize += ctr->lzh_ptr[i]->Size; in container_load_modules()
343 ctr->total_modsize += ALIGN_UP(ctr->lzh_ptr[i]->Size, EFI_PAGE_SIZE); in container_load_modules()
350 ctr->mod_count = (ctr->lzh_count - 3) / 2; in container_load_modules()
352 if (ctr->mod_count >= MAX_MODULE_COUNT) { in container_load_modules()
353 Print(L"Too many modules: 0x%x\n", ctr->mod_count); in container_load_modules()
358 if (ctr->reloc) { in container_load_modules()
359 err = emalloc_reserved_aligned(&(ctr->mod_hpa), ctr->total_modsize, in container_load_modules()
360 EFI_PAGE_SIZE, ctr->reloc->min_addr, ctr->reloc->max_addr); in container_load_modules()
363 UINTN hv_ram_size = ctr->laddr->load_end_addr - ctr->laddr->load_addr; in container_load_modules()
364 …err = emalloc_fixed_addr(&(ctr->mod_hpa), hv_ram_size, ctr->hv_hpa + ALIGN_UP(hv_ram_size, EFI_PAG… in container_load_modules()
371 p = (UINT8 *)ctr->mod_hpa; in container_load_modules()
372 for (i = LZH_BOOT_IMG + 2, j = 0; i < ctr->lzh_count - 1; i = i + 2) { in container_load_modules()
373 lzh = ctr->lzh_ptr[i]; in container_load_modules()
374 cmd_lzh = ctr->lzh_ptr[i - 1]; in container_load_modules()
376 ctr->mod_info[j].mod_start = (EFI_PHYSICAL_ADDRESS)p; in container_load_modules()
377 ctr->mod_info[j].mod_end = (EFI_PHYSICAL_ADDRESS)p + lzh->Size; in container_load_modules()
378 ctr->mod_info[j].cmd = (const char *)cmd_lzh->Data; in container_load_modules()
379 ctr->mod_info[j].cmdsize = cmd_lzh->Size; in container_load_modules()
519 struct container *ctr = (struct container *)hvld; in container_get_hv_ram_size() local
520 if (ctr->laddr) { in container_get_hv_ram_size()
521 return ctr->laddr->load_end_addr - ctr->laddr->load_addr; in container_get_hv_ram_size()
524 return ctr->est_hv_ram_size; in container_get_hv_ram_size()
534 struct container *ctr = (struct container *)hvld; in container_deinit() local
536 if (ctr->lzh_ptr) { in container_deinit()
537 free_pool(ctr->lzh_ptr); in container_deinit()
538 free_pool(ctr); in container_deinit()
541 if (ctr->mod_hpa) { in container_deinit()
542 free_pages(ctr->mod_hpa, EFI_SIZE_TO_PAGES(ctr->total_modsize)); in container_deinit()
576 struct container *ctr = NULL; in container_init() local
588 err = allocate_pool(EfiLoaderData, sizeof(struct container), (void **)&ctr); in container_init()
594 (void)memset((void *)ctr, 0x0, sizeof(struct container)); in container_init()
595 memcpy((char *)&ctr->ops, (const char *)&container_ops, sizeof(struct hv_loader)); in container_init()
598 ctr->options = info->LoadOptions; in container_init()
599 ctr->options_size = info->LoadOptionsSize; in container_init()
609 ctr->lzh_count = hdr->Count; in container_init()
611 …err = allocate_pool(EfiLoaderData, sizeof(LOADER_COMPRESSED_HEADER *) * hdr->Count, (void **)&ctr-… in container_init()
621 ctr->lzh_ptr[i] = (LOADER_COMPRESSED_HEADER *)((UINT8 *)(hdr) + offset); in container_init()
626 *hvld = (struct hv_loader *)ctr; in container_init()
629 if (ctr) { in container_init()
630 container_deinit((HV_LOADER)ctr); in container_init()