mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 11:23:43 +08:00
i386: do not use ram_size global
Use the loader parameters instead. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
bfdf22bc76
commit
86378b29fa
@ -118,7 +118,7 @@ FWCfgState *fw_cfg_arch_create(MachineState *ms,
|
||||
* "etc/max-cpus" actually being apic_id_limit
|
||||
*/
|
||||
fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, apic_id_limit);
|
||||
fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);
|
||||
fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, ms->ram_size);
|
||||
#ifdef CONFIG_ACPI
|
||||
fw_cfg_add_bytes(fw_cfg, FW_CFG_ACPI_TABLES,
|
||||
acpi_tables, acpi_tables_len);
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "hw/isa/isa.h"
|
||||
#include "hw/i386/vmport.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/boards.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "sysemu/hw_accel.h"
|
||||
#include "sysemu/qtest.h"
|
||||
@ -188,7 +189,7 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
|
||||
return -1;
|
||||
}
|
||||
cpu->env.regs[R_EBX] = 0x1177;
|
||||
return ram_size;
|
||||
return current_machine->ram_size;
|
||||
}
|
||||
|
||||
static uint32_t vmport_cmd_get_hz(void *opaque, uint32_t addr)
|
||||
|
@ -1493,7 +1493,7 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
|
||||
#else
|
||||
xen_map_cache_init(NULL, state);
|
||||
#endif
|
||||
xen_ram_init(pcms, ram_size, ram_memory);
|
||||
xen_ram_init(pcms, ms->ram_size, ram_memory);
|
||||
|
||||
qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state);
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "hw/i386/apic.h"
|
||||
#include "hw/i386/apic_internal.h"
|
||||
#include "trace.h"
|
||||
#include "hw/boards.h"
|
||||
#include "sysemu/hax.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
@ -297,7 +298,7 @@ static void apic_common_realize(DeviceState *dev, Error **errp)
|
||||
|
||||
/* Note: We need at least 1M to map the VAPIC option ROM */
|
||||
if (!vapic && s->vapic_control & VAPIC_ENABLE_MASK &&
|
||||
!hax_enabled() && ram_size >= 1024 * 1024) {
|
||||
!hax_enabled() && current_machine->ram_size >= 1024 * 1024) {
|
||||
vapic = sysbus_create_simple("kvmvapic", -1, NULL);
|
||||
}
|
||||
s->vapic = vapic;
|
||||
|
@ -678,13 +678,13 @@ static void smbios_build_type_16_table(unsigned dimm_cnt)
|
||||
t->location = 0x01; /* Other */
|
||||
t->use = 0x03; /* System memory */
|
||||
t->error_correction = 0x06; /* Multi-bit ECC (for Microsoft, per SeaBIOS) */
|
||||
size_kb = QEMU_ALIGN_UP(ram_size, KiB) / KiB;
|
||||
size_kb = QEMU_ALIGN_UP(current_machine->ram_size, KiB) / KiB;
|
||||
if (size_kb < MAX_T16_STD_SZ) {
|
||||
t->maximum_capacity = cpu_to_le32(size_kb);
|
||||
t->extended_maximum_capacity = cpu_to_le64(0);
|
||||
} else {
|
||||
t->maximum_capacity = cpu_to_le32(MAX_T16_STD_SZ);
|
||||
t->extended_maximum_capacity = cpu_to_le64(ram_size);
|
||||
t->extended_maximum_capacity = cpu_to_le64(current_machine->ram_size);
|
||||
}
|
||||
t->memory_error_information_handle = cpu_to_le16(0xFFFE); /* Not provided */
|
||||
t->number_of_memory_devices = cpu_to_le16(dimm_cnt);
|
||||
@ -911,9 +911,9 @@ void smbios_get_tables(MachineState *ms,
|
||||
|
||||
#define MAX_DIMM_SZ (16 * GiB)
|
||||
#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ \
|
||||
: ((ram_size - 1) % MAX_DIMM_SZ) + 1)
|
||||
: ((current_machine->ram_size - 1) % MAX_DIMM_SZ) + 1)
|
||||
|
||||
dimm_cnt = QEMU_ALIGN_UP(ram_size, MAX_DIMM_SZ) / MAX_DIMM_SZ;
|
||||
dimm_cnt = QEMU_ALIGN_UP(current_machine->ram_size, MAX_DIMM_SZ) / MAX_DIMM_SZ;
|
||||
|
||||
smbios_build_type_16_table(dimm_cnt);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user