Lines Matching +full:build +full:- +full:legacy

5  * the COPYING file in the top-level directory.
7 * Contributions after 2012-01-13 are licensed under the terms of the
13 #include "qemu/error-report.h"
15 #include "qapi/qapi-commands-migration.h"
21 #include "hw/i386/apic-msidef.h"
22 #include "hw/xen/xen-x86.h"
25 #include "hw/xen/xen-hvm-common.h"
31 #include "system/xen-mapcache.h"
41 * This allows QEMU to build on a system that has Xen 4.5 or earlier installed.
76 return irq_num + (PCI_SLOT(pci_dev->devfn) << 2); in xen_pci_slot_get_pirq()
133 /* Handle the machine opt max-ram-below-4g. It is basically doing in xen_ram_init()
144 x86ms->above_4g_mem_size = ram_size - user_lowmem; in xen_ram_init()
145 x86ms->below_4g_mem_size = user_lowmem; in xen_ram_init()
147 x86ms->above_4g_mem_size = 0; in xen_ram_init()
148 x86ms->below_4g_mem_size = ram_size; in xen_ram_init()
150 if (!x86ms->above_4g_mem_size) { in xen_ram_init()
157 block_len = (4 * GiB) + x86ms->above_4g_mem_size; in xen_ram_init()
174 x86ms->below_4g_mem_size - 0xc0000); in xen_ram_init()
176 if (x86ms->above_4g_mem_size > 0) { in xen_ram_init()
179 x86ms->above_4g_mem_size); in xen_ram_init()
192 if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) { in get_physmapping()
206 if (range_covers_byte(physmap->phys_offset, physmap->size, addr)) { in xen_phys_offset_to_gaddr()
207 return physmap->start_addr + (phys_offset - physmap->phys_offset); in xen_phys_offset_to_gaddr()
220 "/local/domain/0/device-model/%d/physmap/%"PRIx64"/start_addr", in xen_save_physmap()
221 xen_domid, (uint64_t)physmap->phys_offset); in xen_save_physmap()
222 snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->start_addr); in xen_save_physmap()
223 if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { in xen_save_physmap()
224 return -1; in xen_save_physmap()
227 "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size", in xen_save_physmap()
228 xen_domid, (uint64_t)physmap->phys_offset); in xen_save_physmap()
229 snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size); in xen_save_physmap()
230 if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { in xen_save_physmap()
231 return -1; in xen_save_physmap()
233 if (physmap->name) { in xen_save_physmap()
235 "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name", in xen_save_physmap()
236 xen_domid, (uint64_t)physmap->phys_offset); in xen_save_physmap()
237 if (!xs_write(state->xenstore, 0, path, in xen_save_physmap()
238 physmap->name, strlen(physmap->name))) { in xen_save_physmap()
239 return -1; in xen_save_physmap()
259 int page_mask = -page_size; in xen_add_to_physmap()
271 return -1; in xen_add_to_physmap()
277 * the legacy vga region. */ in xen_add_to_physmap()
281 return -1; in xen_add_to_physmap()
284 DPRINTF("mapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx"\n", in xen_add_to_physmap()
291 physmap->start_addr = start_addr; in xen_add_to_physmap()
292 physmap->size = size; in xen_add_to_physmap()
293 physmap->name = mr_name; in xen_add_to_physmap()
294 physmap->phys_offset = phys_offset; in xen_add_to_physmap()
319 return -1; in xen_add_to_physmap()
324 (start_addr + size - 1) >> target_page_bits, in xen_add_to_physmap()
338 int page_mask = -page_size; in xen_remove_from_physmap()
345 return -1; in xen_remove_from_physmap()
348 phys_offset = physmap->phys_offset; in xen_remove_from_physmap()
349 size = physmap->size; in xen_remove_from_physmap()
351 DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at " in xen_remove_from_physmap()
367 return -1; in xen_remove_from_physmap()
387 int page_mask = -page_size; in xen_sync_dirty_bitmap()
441 xen_sync_dirty_bitmap(state, section->offset_within_address_space, in xen_log_start()
442 int128_get64(section->size)); in xen_log_start()
462 xen_sync_dirty_bitmap(state, section->offset_within_address_space, in xen_log_sync()
463 int128_get64(section->size)); in xen_log_sync()
480 .name = "xen-memory",
497 env = &cpu->env; in regs_to_cpu()
498 env->regs[R_EAX] = req->data; in regs_to_cpu()
499 env->regs[R_EBX] = vmport_regs->ebx; in regs_to_cpu()
500 env->regs[R_ECX] = vmport_regs->ecx; in regs_to_cpu()
501 env->regs[R_EDX] = vmport_regs->edx; in regs_to_cpu()
502 env->regs[R_ESI] = vmport_regs->esi; in regs_to_cpu()
503 env->regs[R_EDI] = vmport_regs->edi; in regs_to_cpu()
509 CPUX86State *env = &cpu->env; in regs_from_cpu()
511 vmport_regs->ebx = env->regs[R_EBX]; in regs_from_cpu()
512 vmport_regs->ecx = env->regs[R_ECX]; in regs_from_cpu()
513 vmport_regs->edx = env->regs[R_EDX]; in regs_from_cpu()
514 vmport_regs->esi = env->regs[R_ESI]; in regs_from_cpu()
515 vmport_regs->edi = env->regs[R_EDI]; in regs_from_cpu()
524 &shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; in handle_vmport_ioreq()
527 current_cpu = state->cpu_by_vcpu_id[state->send_vcpu]; in handle_vmport_ioreq()
543 "/local/domain/0/device-model/%d/physmap", xen_domid); in xen_read_physmap()
544 entries = xs_directory(state->xenstore, 0, path, &num); in xen_read_physmap()
550 physmap->phys_offset = strtoull(entries[i], NULL, 16); in xen_read_physmap()
552 "/local/domain/0/device-model/%d/physmap/%s/start_addr", in xen_read_physmap()
554 value = xs_read(state->xenstore, 0, path, &len); in xen_read_physmap()
559 physmap->start_addr = strtoull(value, NULL, 16); in xen_read_physmap()
563 "/local/domain/0/device-model/%d/physmap/%s/size", in xen_read_physmap()
565 value = xs_read(state->xenstore, 0, path, &len); in xen_read_physmap()
570 physmap->size = strtoull(value, NULL, 16); in xen_read_physmap()
574 "/local/domain/0/device-model/%d/physmap/%s/name", in xen_read_physmap()
576 physmap->name = xs_read(state->xenstore, 0, path, &len); in xen_read_physmap()
596 "/local/domain/%d/image/device-model-domid", xen_domid); in xen_check_stubdomain()
616 unsigned int max_cpus = ms->smp.max_cpus; in xen_hvm_init_pc()
627 xen_is_stubdomain = xen_check_stubdomain(state->xenstore); in xen_hvm_init_pc()
649 } else if (rc != -ENOSYS) { in xen_hvm_init_pc()
655 xen_ram_init(pcms, ms->ram_size, ram_memory); in xen_hvm_init_pc()
657 /* Disable ACPI build because Xen handles it */ in xen_hvm_init_pc()
658 pcms->acpi_build_enabled = false; in xen_hvm_init_pc()
676 int page_mask = -page_size; in xen_hvm_modified_memory()
688 nb_pages = ((start + length + page_size - 1) >> target_page_bits) in xen_hvm_modified_memory()
689 - start_pfn; in xen_hvm_modified_memory()
713 int page_mask = -page_size; in arch_xen_set_memory()
714 hwaddr start_addr = section->offset_within_address_space; in arch_xen_set_memory()
715 ram_addr_t size = int128_get64(section->size); in arch_xen_set_memory()
716 bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); in arch_xen_set_memory()
719 if (!memory_region_is_ram(section->mr)) { in arch_xen_set_memory()
733 if (!memory_region_is_rom(section->mr)) { in arch_xen_set_memory()
735 section->mr, section->offset_within_region); in arch_xen_set_memory()
754 switch (req->type) { in arch_handle_ioreq()
759 hw_error("Invalid ioreq type 0x%x\n", req->type); in arch_handle_ioreq()