Lines Matching refs:ctx
67 #define GDT_LOAD_OFF(ctx) (ctx->lowmem - RAMDISK_LOAD_SIZE - 2*KB) argument
68 #define RAMDISK_LOAD_OFF(ctx) (ctx->lowmem - RAMDISK_LOAD_SIZE) argument
69 #define BOOTARGS_LOAD_OFF(ctx) (ctx->lowmem - 8*KB) argument
70 #define KERNEL_ENTRY_OFF(ctx) (ctx->lowmem - 6*KB) argument
71 #define ZEROPAGE_LOAD_OFF(ctx) (ctx->lowmem - 4*KB) argument
72 #define KERNEL_LOAD_OFF(ctx) (16*MB) argument
107 acrn_get_bzimage_setup_size(struct vmctx *ctx) in acrn_get_bzimage_setup_size() argument
110 (ctx->baseaddr + KERNEL_LOAD_OFF(ctx)); in acrn_get_bzimage_setup_size()
164 acrn_prepare_ramdisk(struct vmctx *ctx) in acrn_prepare_ramdisk() argument
190 if (ctx->lowmem <= (RAMDISK_LOAD_SIZE + 2*KB + KERNEL_LOAD_OFF(ctx))) { in acrn_prepare_ramdisk()
198 read = fread(ctx->baseaddr + RAMDISK_LOAD_OFF(ctx), in acrn_prepare_ramdisk()
208 ramdisk_path, ramdisk_size, RAMDISK_LOAD_OFF(ctx)); in acrn_prepare_ramdisk()
214 acrn_prepare_kernel(struct vmctx *ctx) in acrn_prepare_kernel() argument
237 if ((len + KERNEL_LOAD_OFF(ctx)) > RAMDISK_LOAD_OFF(ctx)) { in acrn_prepare_kernel()
244 read = fread(ctx->baseaddr + KERNEL_LOAD_OFF(ctx), in acrn_prepare_kernel()
254 kernel_path, kernel_size, KERNEL_LOAD_OFF(ctx)); in acrn_prepare_kernel()
260 acrn_prepare_zeropage(struct vmctx *ctx, int setup_size) in acrn_prepare_zeropage() argument
263 (ctx->baseaddr + ZEROPAGE_LOAD_OFF(ctx)); in acrn_prepare_zeropage()
265 (ctx->baseaddr + KERNEL_LOAD_OFF(ctx)); in acrn_prepare_zeropage()
276 ((uint64_t)RAMDISK_LOAD_OFF(ctx)); in acrn_prepare_zeropage()
286 ((uint64_t)BOOTARGS_LOAD_OFF(ctx)); in acrn_prepare_zeropage()
295 zeropage->e820_nentries = acrn_create_e820_table(ctx, zeropage->e820); in acrn_prepare_zeropage()
308 acrn_sw_load_bzimage(struct vmctx *ctx) in acrn_sw_load_bzimage() argument
312 memset(&ctx->bsp_regs, 0, sizeof(struct acrn_vcpu_regs)); in acrn_sw_load_bzimage()
313 ctx->bsp_regs.vcpu_id = 0; in acrn_sw_load_bzimage()
316 strncpy(ctx->baseaddr + BOOTARGS_LOAD_OFF(ctx), get_bootargs(), STR_LEN); in acrn_sw_load_bzimage()
318 BOOTARGS_LOAD_OFF(ctx)); in acrn_sw_load_bzimage()
322 ret = acrn_prepare_ramdisk(ctx); in acrn_sw_load_bzimage()
328 ret = acrn_prepare_kernel(ctx); in acrn_sw_load_bzimage()
331 setup_size = acrn_get_bzimage_setup_size(ctx); in acrn_sw_load_bzimage()
335 ctx->bsp_regs.vcpu_regs.rip = (uint64_t) in acrn_sw_load_bzimage()
336 (KERNEL_LOAD_OFF(ctx) + setup_size); in acrn_sw_load_bzimage()
338 ret = acrn_prepare_zeropage(ctx, setup_size); in acrn_sw_load_bzimage()
344 ZEROPAGE_LOAD_OFF(ctx), in acrn_sw_load_bzimage()
345 (KERNEL_LOAD_OFF(ctx) + setup_size)); in acrn_sw_load_bzimage()
348 memcpy(ctx->baseaddr + GDT_LOAD_OFF(ctx), &bzimage_init_gdt, in acrn_sw_load_bzimage()
350 ctx->bsp_regs.vcpu_regs.gdt.limit = sizeof(bzimage_init_gdt) - 1; in acrn_sw_load_bzimage()
351 ctx->bsp_regs.vcpu_regs.gdt.base = GDT_LOAD_OFF(ctx); in acrn_sw_load_bzimage()
354 ctx->bsp_regs.vcpu_regs.cr0 = 0x31U; in acrn_sw_load_bzimage()
356 ctx->bsp_regs.vcpu_regs.cs_sel = 0x10U; in acrn_sw_load_bzimage()
357 ctx->bsp_regs.vcpu_regs.cs_ar = 0xC09BU; in acrn_sw_load_bzimage()
358 ctx->bsp_regs.vcpu_regs.cs_limit = 0xFFFFFFFFU; in acrn_sw_load_bzimage()
360 ctx->bsp_regs.vcpu_regs.ds_sel = 0x18U; in acrn_sw_load_bzimage()
361 ctx->bsp_regs.vcpu_regs.ss_sel = 0x18U; in acrn_sw_load_bzimage()
362 ctx->bsp_regs.vcpu_regs.es_sel = 0x18U; in acrn_sw_load_bzimage()
364 ctx->bsp_regs.vcpu_regs.gprs.rsi = ZEROPAGE_LOAD_OFF(ctx); in acrn_sw_load_bzimage()