| /devicemodel/core/ |
| A D | vmmapi.c | 176 ctx->name = (char *)(ctx + 1); in vm_create() 221 return ctx; in vm_create() 225 free(ctx); in vm_create() 287 if (!ctx) in vm_destroy() 293 free(ctx); in vm_destroy() 379 ctx->lowmem = ctx->lowmem_limit; in vm_setup_memory() 380 ctx->highmem = memsize - ctx->lowmem_limit; in vm_setup_memory() 409 bzero((void *)ctx->baseaddr, ctx->lowmem); in vm_unsetup_memory() 410 bzero((void *)(ctx->baseaddr + ctx->highmem_gpa_base), ctx->highmem); in vm_unsetup_memory() 428 if (gaddr < ctx->lowmem && len <= ctx->lowmem && in vm_map_gpa() [all …]
|
| A D | sw_load_bzimage.c | 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 110 (ctx->baseaddr + KERNEL_LOAD_OFF(ctx)); in acrn_get_bzimage_setup_size() 198 read = fread(ctx->baseaddr + RAMDISK_LOAD_OFF(ctx), in acrn_prepare_ramdisk() 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() 263 (ctx->baseaddr + ZEROPAGE_LOAD_OFF(ctx)); in acrn_prepare_zeropage() 265 (ctx->baseaddr + KERNEL_LOAD_OFF(ctx)); in acrn_prepare_zeropage() [all …]
|
| A D | main.c | 341 vm_set_vcpu_regs(ctx, &ctx->bsp_regs); in add_cpu() 560 sci_init(ctx); in vm_init_vdevs() 693 init_pci(ctx); in vm_reset_vdevs() 712 vm_pause(ctx); in vm_system_reset() 732 vm_reset(ctx); in vm_system_reset() 738 vm_set_vcpu_regs(ctx, &ctx->bsp_regs); in vm_system_reset() 739 vm_run(ctx); in vm_system_reset() 794 vm_run(ctx); in vm_suspend_resume() 802 ctx->ioreq_client = vm_create_ioreq_client(ctx); in vm_loop() 1194 if (!ctx) { in main() [all …]
|
| A D | sw_load_vsbl.c | 81 #define CONFIGPAGE_OFF(ctx) ((ctx)->lowmem - 4*KB) argument 82 #define VSBL_ENTRY_OFF(ctx) ((ctx)->lowmem - 6*KB) argument 83 #define BOOTARGS_OFF(ctx) ((ctx)->lowmem - 8*KB) argument 84 #define E820_TABLE_OFF(ctx) ((ctx)->lowmem - 12*KB) argument 85 #define GUEST_PART_INFO_OFF(ctx) ((ctx)->lowmem - 16*KB) argument 165 if ((len + GUEST_PART_INFO_OFF(ctx)) > BOOTARGS_OFF(ctx)) { in acrn_prepare_guest_part_info() 172 read = fread(ctx->baseaddr + GUEST_PART_INFO_OFF(ctx), in acrn_prepare_guest_part_info() 226 read = fread(ctx->baseaddr + VSBL_TOP(ctx) - vsbl_size, in acrn_prepare_vsbl() 250 (ctx->baseaddr + CONFIGPAGE_OFF(ctx)); in acrn_sw_load_vsbl() 255 (ctx->baseaddr + E820_TABLE_OFF(ctx)); in acrn_sw_load_vsbl() [all …]
|
| A D | sw_load_elf.c | 52 #define GDT_LOAD_OFF(ctx) (ctx->lowmem - 64U * KB) argument 135 ctx->lowmem) { in load_elf32() 236 ret = load_elf32(ctx, fp, elf_buf); in acrn_load_elf() 260 acrn_sw_load_elf(struct vmctx *ctx) in acrn_sw_load_elf() argument 275 ctx->bsp_regs.vcpu_id = 0; in acrn_sw_load_elf() 277 memcpy(ctx->baseaddr + GDT_LOAD_OFF(ctx), &acrn_init_gdt, in acrn_sw_load_elf() 280 ctx->bsp_regs.vcpu_regs.gdt.base = GDT_LOAD_OFF(ctx); in acrn_sw_load_elf() 283 ctx->bsp_regs.vcpu_regs.cr0 = 0x31U; in acrn_sw_load_elf() 286 ctx->bsp_regs.vcpu_regs.cs_sel = 0x8U; in acrn_sw_load_elf() 289 ctx->bsp_regs.vcpu_regs.ds_sel = 0x10U; in acrn_sw_load_elf() [all …]
|
| A D | hugetlb.c | 649 ctx->lowmem = in hugetlb_setup_memory() 651 ctx->fbmem = in hugetlb_setup_memory() 658 total_size = ctx->highmem_gpa_base + ctx->highmem; in hugetlb_setup_memory() 749 if (mmap_hugetlbfs(ctx, ctx->highmem_gpa_base, in hugetlb_setup_memory() 756 if (mmap_hugetlbfs(ctx, 4 * GB - ctx->biosmem, in hugetlb_setup_memory() 763 if (mmap_hugetlbfs(ctx, 4 * GB - ctx->biosmem - ctx->fbmem, in hugetlb_setup_memory() 807 if (vm_map_memseg_vma(ctx, ctx->lowmem, 0, in hugetlb_setup_memory() 818 if (vm_map_memseg_vma(ctx, ctx->biosmem, 4 * GB - ctx->biosmem, in hugetlb_setup_memory() 819 (uint64_t)(ctx->baseaddr + 4 * GB - ctx->biosmem), in hugetlb_setup_memory() 826 if (vm_map_memseg_vma(ctx, ctx->highmem, ctx->highmem_gpa_base, in hugetlb_setup_memory() [all …]
|
| A D | sw_load_ovmf.c | 59 #define OVMF_TOP(ctx) (4*GB) argument 150 acrn_prepare_ovmf(struct vmctx *ctx) in acrn_prepare_ovmf() argument 169 addr = ctx->baseaddr + OVMF_TOP(ctx) - ovmf_image_size(); in acrn_prepare_ovmf() 271 acrn_sw_load_ovmf(struct vmctx *ctx) in acrn_sw_load_ovmf() argument 280 init_cmos_vrpmb(ctx); in acrn_sw_load_ovmf() 282 ret = acrn_prepare_ovmf(ctx); in acrn_sw_load_ovmf() 302 ctx->bsp_regs.vcpu_id = 0; in acrn_sw_load_ovmf() 305 ctx->bsp_regs.vcpu_regs.cr0 = 0x30U; in acrn_sw_load_ovmf() 306 ctx->bsp_regs.vcpu_regs.cs_ar = 0x009FU; in acrn_sw_load_ovmf() 309 ctx->bsp_regs.vcpu_regs.cs_base = (OVMF_TOP(ctx) - 16) & 0xFFFF0000UL; in acrn_sw_load_ovmf() [all …]
|
| A D | sw_load_common.c | 236 e820[LOWRAM_E820_ENTRY + 2].baseaddr = ctx->lowmem_limit; in acrn_create_e820_table() 248 if (ctx->lowmem <= e820[LOWRAM_E820_ENTRY + 1].baseaddr) { in acrn_create_e820_table() 251 ctx->lowmem - e820[LOWRAM_E820_ENTRY].baseaddr; in acrn_create_e820_table() 261 ctx->lowmem - e820[LOWRAM_E820_ENTRY + 3].baseaddr; in acrn_create_e820_table() 267 if (ctx->highmem > 0) { in acrn_create_e820_table() 269 e820[HIGHRAM_E820_ENTRY].length = ctx->highmem; in acrn_create_e820_table() 296 acrn_sw_load(struct vmctx *ctx) in acrn_sw_load() argument 299 return acrn_sw_load_vsbl(ctx); in acrn_sw_load() 301 return acrn_sw_load_ovmf(ctx); in acrn_sw_load() 303 return acrn_sw_load_bzimage(ctx); in acrn_sw_load() [all …]
|
| A D | vm_event.c | 144 static void vm_event_throttle_init(struct vmctx *ctx) in vm_event_throttle_init() argument 230 emit_vm_event(ctx, event); in general_event_handler() 287 struct vmctx *ctx = arg; in rtc_chg_timer_cb() local 299 emit_vm_event(ctx, &send_event); in rtc_chg_timer_cb() 312 struct vmctx *ctx = param; in vm_event_thread() local 335 (proc->ve_handler)(ctx, &ve); in vm_event_thread() 374 error = ioctl(ctx->fd, ACRN_IOCTL_SETUP_VM_EVENT_RING, sbuf); in create_event_tunnel() 388 error = ioctl(ctx->fd, ACRN_IOCTL_SETUP_VM_EVENT_FD, kick_fd); in create_event_tunnel() 425 int vm_event_init(struct vmctx *ctx) in vm_event_init() argument 445 vm_event_throttle_init(ctx); in vm_event_init() [all …]
|
| A D | pm.c | 16 wait_for_resume(struct vmctx *ctx) in wait_for_resume() argument 28 vm_resume(struct vmctx *ctx) in vm_resume() argument 42 struct vmctx *ctx = (struct vmctx *)arg; in vm_monitor_resume() local 43 vm_resume(ctx); in vm_monitor_resume()
|
| /devicemodel/include/ |
| A D | vmmapi.h | 75 void (*update_gvt_bar)(struct vmctx *ctx); 97 bool vm_allow_dmabuf(struct vmctx *ctx); 104 void vm_pause(struct vmctx *ctx); 105 void vm_reset(struct vmctx *ctx); 111 void vm_clear_ioreq(struct vmctx *ctx); 118 void vm_destroy(struct vmctx *ctx); 123 void vm_unsetup_memory(struct vmctx *ctx); 126 int hugetlb_setup_memory(struct vmctx *ctx); 132 int vm_run(struct vmctx *ctx); 157 void vm_stop_watchdog(struct vmctx *ctx); [all …]
|
| A D | sw_load.h | 74 uint32_t acrn_create_e820_table(struct vmctx *ctx, struct e820_entry *e820); 78 int acrn_sw_load_bzimage(struct vmctx *ctx); 79 int acrn_sw_load_elf(struct vmctx *ctx); 80 int acrn_sw_load_vsbl(struct vmctx *ctx); 81 int acrn_sw_load_ovmf(struct vmctx *ctx); 82 int acrn_writeback_ovmf_nvstorage(struct vmctx *ctx); 83 int acrn_sw_load(struct vmctx *ctx);
|
| A D | acpi.h | 107 int acpi_build(struct vmctx *ctx, int ncpu); 114 void sci_init(struct vmctx *ctx); 115 void pm_write_dsdt(struct vmctx *ctx, int ncpu); 116 void pm_backto_wakeup(struct vmctx *ctx); 117 void inject_power_button_event(struct vmctx *ctx); 118 void power_button_init(struct vmctx *ctx); 119 void power_button_deinit(struct vmctx *ctx); 130 void osc_write_ospm_dsdt(struct vmctx *ctx, int ncpu);
|
| A D | rtc.h | 45 int vrtc_init(struct vmctx *ctx); 46 void vrtc_suspend(struct vmctx *ctx); 48 void vrtc_deinit(struct vmctx *ctx); 51 int vrtc_addr_handler(struct vmctx *ctx, int vcpu, int in, int port, 53 int vrtc_data_handler(struct vmctx *ctx, int vcpu, int in, int port,
|
| A D | vga.h | 189 int vga_port_in_handler(struct vmctx *ctx, int in, int port, int bytes, 191 int vga_port_out_handler(struct vmctx *ctx, int in, int port, int bytes, 193 void vga_ioport_write(struct vmctx *ctx, int vcpu, struct vga *vga, 195 uint64_t vga_ioport_read(struct vmctx *ctx, int vcpu, struct vga *vga, 197 void vga_vbe_write(struct vmctx *ctx, int vcpu, struct vga *vga, 199 uint64_t vga_vbe_read(struct vmctx *ctx, int vcpu, struct vga *vga,
|
| /devicemodel/arch/x86/ |
| A D | pm.c | 72 vm_suspend(ctx, VM_SUSPEND_FULL_RESET); in reset_handler() 91 sci_assert(struct vmctx *ctx) in sci_assert() argument 100 sci_deassert(struct vmctx *ctx) in sci_deassert() argument 139 sci_update(struct vmctx *ctx) in sci_update() argument 163 sci_assert(ctx); in sci_update() 165 sci_deassert(ctx); in sci_update() 185 sci_update(ctx); in pm1_status_handler() 193 pm_backto_wakeup(struct vmctx *ctx) in pm_backto_wakeup() argument 218 sci_update(ctx); in pm1_enable_handler() 234 sci_update(ctx); in inject_power_button_event() [all …]
|
| /devicemodel/hw/platform/acpi/ |
| A D | acpi_pm.c | 22 return vm_get_cpu_state(ctx, pm_info); in get_vcpu_pm_info() 64 if (vm_get_cpu_state(ctx, pm_ioctl_buf)) { in get_vcpu_px_data() 76 int get_vcpu_cx_data(struct vmctx *ctx, int vcpu_id, in get_vcpu_cx_data() argument 93 if (vm_get_cpu_state(ctx, pm_ioctl_buf)) { in get_vcpu_cx_data() 144 void dsdt_write_cst(struct vmctx *ctx, int vcpu_id) in dsdt_write_cst() argument 152 vcpu_cx_cnt = get_vcpu_cx_cnt(ctx, vcpu_id); in dsdt_write_cst() 360 void pm_write_dsdt(struct vmctx *ctx, int ncpu) in pm_write_dsdt() argument 387 ret = dsdt_write_pss(ctx, i); in pm_write_dsdt() 388 dsdt_write_cst(ctx, i); in pm_write_dsdt() 410 ret = get_vcpu_px_cnt(ctx, i, &px_cnt); in pm_write_dsdt() [all …]
|
| A D | acpi.c | 138 basl_fwrite_rsdp(FILE *fp, struct vmctx *ctx) in basl_fwrite_rsdp() argument 161 basl_fwrite_rsdt(FILE *fp, struct vmctx *ctx) in basl_fwrite_rsdt() argument 194 if (ctx->tpm_dev || pt_tpm2) in basl_fwrite_rsdt() 241 if (ctx->tpm_dev || pt_tpm2) in basl_fwrite_xsdt() 884 acpi_dev_write_dsdt(ctx); in basl_fwrite_dsdt() 886 osc_write_ospm_dsdt(ctx, basl_ncpu); in basl_fwrite_dsdt() 887 pm_write_dsdt(ctx, basl_ncpu); in basl_fwrite_dsdt() 977 basl_compile(struct vmctx *ctx, in basl_compile() argument 987 err = (*fwrite_section)(io[0].fp, ctx); in basl_compile() 1219 acpi_build(struct vmctx *ctx, int ncpu) in acpi_build() argument [all …]
|
| /devicemodel/hw/mmio/ |
| A D | core.c | 194 void acpi_dev_write_dsdt(struct vmctx *ctx) in acpi_dev_write_dsdt() argument 201 ops->write_dsdt(ctx); in acpi_dev_write_dsdt() 260 return ops->init(ctx, mmiodev); in init_mmio_dev() 265 ops->deinit(ctx, mmiodev); in deinit_mmio_dev() 268 int init_mmio_devs(struct vmctx *ctx) in init_mmio_devs() argument 276 err = init_mmio_dev(ctx, ops, &mmio_devs[i].dev); in init_mmio_devs() 292 deinit_mmio_dev(ctx, ops, &mmio_devs[i].dev); in init_mmio_devs() 298 void deinit_mmio_devs(struct vmctx *ctx) in deinit_mmio_devs() argument 306 deinit_mmio_dev(ctx, ops, &mmio_devs[i].dev); in deinit_mmio_devs() 313 return vm_assign_mmiodev(ctx, dev); in init_pt_mmiodev() [all …]
|
| /devicemodel/hw/pci/ |
| A D | ivshmem.c | 83 create_ivshmem_from_dm(struct vmctx *ctx, struct pci_vdev *vdev, in create_ivshmem_from_dm() argument 124 if (!addr || vm_map_memseg_vma(ctx, size, bar_addr, in create_ivshmem_from_dm() 148 create_ivshmem_from_hv(struct vmctx *ctx, struct pci_vdev *vdev, in create_ivshmem_from_hv() argument 171 return vm_add_hv_vdev(ctx, &dev); in create_ivshmem_from_hv() 175 pci_ivshmem_write(struct vmctx *ctx, int vcpu, struct pci_vdev *dev, in pci_ivshmem_write() argument 203 pci_ivshmem_read(struct vmctx *ctx, int vcpu, struct pci_vdev *dev, in pci_ivshmem_read() argument 324 rc = create_ivshmem_from_hv(ctx, dev, name, size); in pci_ivshmem_init() 331 rc = create_ivshmem_from_dm(ctx, dev, name, size); in pci_ivshmem_init() 358 destroy_ivshmem_from_hv(struct vmctx *ctx, struct pci_vdev *vdev) in destroy_ivshmem_from_hv() argument 366 vm_remove_hv_vdev(ctx, &emul_dev); in destroy_ivshmem_from_hv() [all …]
|
| A D | lpc.c | 185 lpc_deinit(struct vmctx *ctx) in lpc_deinit() argument 215 lpc_init(struct vmctx *ctx) in lpc_init() argument 262 lpc_deinit(ctx); in lpc_init() 388 pci_lpc_cfgwrite(struct vmctx *ctx, int vcpu, struct pci_vdev *pi, in pci_lpc_cfgwrite() argument 400 pirq_write(ctx, pirq_pin, val); in pci_lpc_cfgwrite() 409 pci_lpc_write(struct vmctx *ctx, int vcpu, struct pci_vdev *pi, in pci_lpc_write() argument 415 pci_lpc_read(struct vmctx *ctx, int vcpu, struct pci_vdev *pi, in pci_lpc_read() argument 425 pci_lpc_init(struct vmctx *ctx, struct pci_vdev *pi, char *opts) in pci_lpc_init() argument 445 if (lpc_init(ctx) != 0) in pci_lpc_init() 460 pci_lpc_deinit(struct vmctx *ctx, struct pci_vdev *pi, char *opts) in pci_lpc_deinit() argument [all …]
|
| A D | gvt.c | 73 pci_gvt_write(struct vmctx *ctx, int vcpu, struct pci_vdev *pi, in pci_gvt_write() argument 83 pci_gvt_read(struct vmctx *ctx, int vcpu, struct pci_vdev *pi, in pci_gvt_read() argument 94 update_gvt_bar(struct vmctx *ctx) in update_gvt_bar() argument 107 ctx->vmid); in update_gvt_bar() 171 struct vmctx *ctx; in gvt_init_config() local 204 ctx = gvt->gvt_pi->vmctx; in gvt_init_config() 213 ctx->gvt_enabled = true; in gvt_init_config() 214 ctx->update_gvt_bar = &update_gvt_bar; in gvt_init_config() 369 pci_gvt_init(struct vmctx *ctx, struct pci_vdev *pi, char *opts) in pci_gvt_init() argument 388 guest_domid = ctx->vmid; in pci_gvt_init() [all …]
|
| A D | uart.c | 68 pci_uart_write(struct vmctx *ctx, int vcpu, struct pci_vdev *dev, in pci_uart_write() argument 76 pci_uart_read(struct vmctx *ctx, int vcpu, struct pci_vdev *dev, in pci_uart_read() argument 87 pci_uart_init(struct vmctx *ctx, struct pci_vdev *dev, char *opts) in pci_uart_init() argument 125 err = vm_add_hv_vdev(ctx, &vdev); in pci_uart_init() 150 pci_uart_deinit(struct vmctx *ctx, struct pci_vdev *dev, char *opts) in pci_uart_deinit() argument 159 vm_remove_hv_vdev(ctx, &emul_dev); in pci_uart_deinit()
|
| /devicemodel/hw/ |
| A D | vga.c | 680 vga_mem_wr_handler(ctx, addr, *val, arg1); in vga_mem_handler() 683 vga_mem_wr_handler(ctx, addr, *val, arg1); in vga_mem_handler() 687 vga_mem_wr_handler(ctx, addr, *val, arg1); in vga_mem_handler() 693 vga_mem_wr_handler(ctx, addr, *val, arg1); in vga_mem_handler() 706 *val = vga_mem_rd_handler(ctx, addr, arg1); in vga_mem_handler() 709 *val = vga_mem_rd_handler(ctx, addr, arg1); in vga_mem_handler() 713 *val = vga_mem_rd_handler(ctx, addr, arg1); in vga_mem_handler() 719 *val = vga_mem_rd_handler(ctx, addr, arg1); in vga_mem_handler() 1246 error = vga_port_in_handler(ctx, in, port, 1, in vga_port_handler() 1253 error = vga_port_out_handler(ctx, in, port, 1, in vga_port_handler() [all …]
|
| /devicemodel/hw/platform/ |
| A D | atkbdc.c | 52 vm_set_gsi_irq(base->ctx, base->kbd.irq, GSI_RAISING_PULSE); in atkbdc_assert_kbd_intr() 61 vm_set_gsi_irq(base->ctx, base->aux.irq, GSI_RAISING_PULSE); in atkbdc_assert_aux_intr() 203 atkbdc_data_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, in atkbdc_data_handler() argument 290 atkbdc_sts_ctl_handler(struct vmctx *ctx, int vcpu, int in, int port, in atkbdc_sts_ctl_handler() argument 364 vm_suspend(ctx, VM_SUSPEND_FULL_RESET); in atkbdc_sts_ctl_handler() 410 atkbdc_init(struct vmctx *ctx) in atkbdc_init() argument 422 base->ctx = ctx; in atkbdc_init() 423 ctx->atkbdc_base = base; in atkbdc_init() 467 atkbdc_deinit(struct vmctx *ctx) in atkbdc_deinit() argument 470 struct atkbdc_base *base = ctx->atkbdc_base; in atkbdc_deinit() [all …]
|