Lines Matching refs:machine

380 static hwaddr spapr_node0_size(MachineState *machine)  in spapr_node0_size()  argument
382 if (machine->numa_state->num_nodes) { in spapr_node0_size()
384 for (i = 0; i < machine->numa_state->num_nodes; ++i) { in spapr_node0_size()
385 if (machine->numa_state->nodes[i].node_mem) { in spapr_node0_size()
386 return MIN(pow2floor(machine->numa_state->nodes[i].node_mem), in spapr_node0_size()
387 machine->ram_size); in spapr_node0_size()
391 return machine->ram_size; in spapr_node0_size()
472 MachineState *machine = MACHINE(spapr); in spapr_dt_dynamic_memory_v2() local
477 uint32_t nr_boot_lmbs = (machine->device_memory->base / lmb_size); in spapr_dt_dynamic_memory_v2()
478 uint64_t mem_end = machine->device_memory->base + in spapr_dt_dynamic_memory_v2()
479 memory_region_size(&machine->device_memory->mr); in spapr_dt_dynamic_memory_v2()
494 cur_addr = machine->device_memory->base; in spapr_dt_dynamic_memory_v2()
565 MachineState *machine = MACHINE(spapr); in spapr_dt_dynamic_memory() local
568 uint32_t device_lmb_start = machine->device_memory->base / lmb_size; in spapr_dt_dynamic_memory()
569 uint32_t nr_lmbs = (machine->device_memory->base + in spapr_dt_dynamic_memory()
570 memory_region_size(&machine->device_memory->mr)) / in spapr_dt_dynamic_memory()
634 MachineState *machine = MACHINE(spapr); in spapr_dt_dynamic_reconfiguration_memory() local
642 if (!machine->device_memory) { in spapr_dt_dynamic_reconfiguration_memory()
684 MachineState *machine = MACHINE(spapr); in spapr_dt_memory() local
687 int i, nb_nodes = machine->numa_state->num_nodes; in spapr_dt_memory()
688 NodeInfo *nodes = machine->numa_state->nodes; in spapr_dt_memory()
694 if (mem_start >= machine->ram_size) { in spapr_dt_memory()
698 if (node_size > machine->ram_size - mem_start) { in spapr_dt_memory()
699 node_size = machine->ram_size - mem_start; in spapr_dt_memory()
1122 MachineState *machine = MACHINE(spapr); in spapr_dt_chosen() local
1123 SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); in spapr_dt_chosen()
1134 if (machine->kernel_cmdline && machine->kernel_cmdline[0]) { in spapr_dt_chosen()
1136 machine->kernel_cmdline)); in spapr_dt_chosen()
1156 if (machine->boot_config.has_menu && machine->boot_config.menu) { in spapr_dt_chosen()
1231 MachineState *machine = MACHINE(spapr); in spapr_build_fdt() local
1232 MachineClass *mc = MACHINE_GET_CLASS(machine); in spapr_build_fdt()
1233 SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); in spapr_build_fdt()
1728 static void spapr_machine_reset(MachineState *machine, ShutdownCause reason) in spapr_machine_reset() argument
1730 SpaprMachineState *spapr = SPAPR_MACHINE(machine); in spapr_machine_reset()
1744 if (machine->cgs) { in spapr_machine_reset()
1745 confidential_guest_kvm_reset(machine->cgs, &error_fatal); in spapr_machine_reset()
1752 ppc_type_check_compat(machine->cpu_type, CPU_POWERPC_LOGICAL_3_00, 0, in spapr_machine_reset()
1830 machine->fdt = fdt; in spapr_machine_reset()
2566 MachineState *machine = MACHINE(spapr); in spapr_create_lmb_dr_connectors() local
2568 uint32_t nr_lmbs = (machine->maxram_size - machine->ram_size)/lmb_size; in spapr_create_lmb_dr_connectors()
2571 g_assert(!nr_lmbs || machine->device_memory); in spapr_create_lmb_dr_connectors()
2575 addr = i * lmb_size + machine->device_memory->base; in spapr_create_lmb_dr_connectors()
2586 static void spapr_validate_node_memory(MachineState *machine, Error **errp) in spapr_validate_node_memory() argument
2590 if (machine->ram_size % SPAPR_MEMORY_BLOCK_SIZE) { in spapr_validate_node_memory()
2593 machine->ram_size, in spapr_validate_node_memory()
2598 if (machine->maxram_size % SPAPR_MEMORY_BLOCK_SIZE) { in spapr_validate_node_memory()
2601 machine->ram_size, in spapr_validate_node_memory()
2606 for (i = 0; i < machine->numa_state->num_nodes; i++) { in spapr_validate_node_memory()
2607 if (machine->numa_state->nodes[i].node_mem % SPAPR_MEMORY_BLOCK_SIZE) { in spapr_validate_node_memory()
2611 i, machine->numa_state->nodes[i].node_mem, in spapr_validate_node_memory()
2716 MachineState *machine = MACHINE(spapr); in spapr_init_cpus() local
2717 MachineClass *mc = MACHINE_GET_CLASS(machine); in spapr_init_cpus()
2718 SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); in spapr_init_cpus()
2719 const char *type = spapr_get_cpu_core_type(machine->cpu_type); in spapr_init_cpus()
2721 unsigned int smp_cpus = machine->smp.cpus; in spapr_init_cpus()
2722 unsigned int smp_threads = machine->smp.threads; in spapr_init_cpus()
2723 unsigned int max_cpus = machine->smp.max_cpus; in spapr_init_cpus()
2727 possible_cpus = mc->possible_cpu_arch_ids(machine); in spapr_init_cpus()
2797 MachineState *machine = MACHINE(spapr); in spapr_rma_size() local
2799 hwaddr rma_size = machine->ram_size; in spapr_rma_size()
2800 hwaddr node0_size = spapr_node0_size(machine); in spapr_rma_size()
2833 MachineState *machine = MACHINE(spapr); in spapr_create_nvdimm_dr_connectors() local
2836 for (i = 0; i < machine->ram_slots; i++) { in spapr_create_nvdimm_dr_connectors()
2842 static void spapr_machine_init(MachineState *machine) in spapr_machine_init() argument
2844 SpaprMachineState *spapr = SPAPR_MACHINE(machine); in spapr_machine_init()
2845 SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); in spapr_machine_init()
2846 MachineClass *mc = MACHINE_GET_CLASS(machine); in spapr_machine_init()
2848 const char *bios_name = machine->firmware ?: bios_default; in spapr_machine_init()
2850 const char *kernel_filename = machine->kernel_filename; in spapr_machine_init()
2851 const char *initrd_filename = machine->initrd_filename; in spapr_machine_init()
2873 if (machine->cgs) { in spapr_machine_init()
2874 confidential_guest_kvm_init(machine->cgs, &error_fatal); in spapr_machine_init()
2934 spapr_validate_node_memory(machine, &error_fatal); in spapr_machine_init()
2966 spapr_numa_associativity_init(spapr, machine); in spapr_machine_init()
2969 ppc_type_check_compat(machine->cpu_type, CPU_POWERPC_LOGICAL_3_00, 0, in spapr_machine_init()
2990 memory_region_add_subregion(sysmem, 0, machine->ram); in spapr_machine_init()
2993 if (machine->ram_size < machine->maxram_size) { in spapr_machine_init()
2994 ram_addr_t device_mem_size = machine->maxram_size - machine->ram_size; in spapr_machine_init()
3008 if (machine->ram_slots > max_memslots) { in spapr_machine_init()
3011 machine->ram_slots, max_memslots); in spapr_machine_init()
3015 device_mem_base = ROUND_UP(machine->ram_size, SPAPR_DEVICE_MEM_ALIGN); in spapr_machine_init()
3016 machine_memory_devices_init(machine, device_mem_base, device_mem_size); in spapr_machine_init()
3052 spapr_dr_connector_new(OBJECT(machine), TYPE_SPAPR_DRC_PHB, i); in spapr_machine_init()
3074 spapr->want_stdout_path = !machine->enable_graphics; in spapr_machine_init()
3075 machine->usb |= defaults_enabled() && !machine->usb_disabled; in spapr_machine_init()
3080 if (machine->usb) { in spapr_machine_init()
3150 qbus_set_hotplug_handler(sysbus_get_default(), OBJECT(machine)); in spapr_machine_init()
3179 static int spapr_kvm_type(MachineState *machine, const char *vm_type) in spapr_kvm_type() argument
4091 MachineState *machine = MACHINE(OBJECT(hotplug_dev)); in spapr_core_pre_plug() local
4094 const char *base_core_type = spapr_get_cpu_core_type(machine->cpu_type); in spapr_core_pre_plug()
4098 unsigned int smp_threads = machine->smp.threads; in spapr_core_pre_plug()
4376 static HotplugHandler *spapr_get_hotplug_handler(MachineState *machine, in spapr_get_hotplug_handler() argument
4383 return HOTPLUG_HANDLER(machine); in spapr_get_hotplug_handler()
4400 spapr_cpu_index_to_props(MachineState *machine, unsigned cpu_index) in spapr_cpu_index_to_props() argument
4403 MachineClass *mc = MACHINE_GET_CLASS(machine); in spapr_cpu_index_to_props()
4406 mc->possible_cpu_arch_ids(machine); in spapr_cpu_index_to_props()
4408 core_slot = spapr_find_cpu_slot(machine, cpu_index, NULL); in spapr_cpu_index_to_props()
4418 static const CPUArchIdList *spapr_possible_cpu_arch_ids(MachineState *machine) in spapr_possible_cpu_arch_ids() argument
4421 unsigned int smp_threads = machine->smp.threads; in spapr_possible_cpu_arch_ids()
4422 unsigned int smp_cpus = machine->smp.cpus; in spapr_possible_cpu_arch_ids()
4424 int spapr_max_cores = machine->smp.max_cpus / smp_threads; in spapr_possible_cpu_arch_ids()
4425 MachineClass *mc = MACHINE_GET_CLASS(machine); in spapr_possible_cpu_arch_ids()
4430 if (machine->possible_cpus) { in spapr_possible_cpu_arch_ids()
4431 assert(machine->possible_cpus->len == spapr_max_cores); in spapr_possible_cpu_arch_ids()
4432 return machine->possible_cpus; in spapr_possible_cpu_arch_ids()
4435 core_type = spapr_get_cpu_core_type(machine->cpu_type); in spapr_possible_cpu_arch_ids()
4441 machine->possible_cpus = g_malloc0(sizeof(CPUArchIdList) + in spapr_possible_cpu_arch_ids()
4443 machine->possible_cpus->len = spapr_max_cores; in spapr_possible_cpu_arch_ids()
4444 for (i = 0; i < machine->possible_cpus->len; i++) { in spapr_possible_cpu_arch_ids()
4447 machine->possible_cpus->cpus[i].type = core_type; in spapr_possible_cpu_arch_ids()
4448 machine->possible_cpus->cpus[i].vcpus_count = smp_threads; in spapr_possible_cpu_arch_ids()
4449 machine->possible_cpus->cpus[i].arch_id = core_id; in spapr_possible_cpu_arch_ids()
4450 machine->possible_cpus->cpus[i].props.has_core_id = true; in spapr_possible_cpu_arch_ids()
4451 machine->possible_cpus->cpus[i].props.core_id = core_id; in spapr_possible_cpu_arch_ids()
4453 return machine->possible_cpus; in spapr_possible_cpu_arch_ids()