|
@@ -23,6 +23,7 @@
|
|
|
*/
|
|
|
|
|
|
#include "qemu/osdep.h"
|
|
|
+#include "qemu/units.h"
|
|
|
#include "qemu-common.h"
|
|
|
#include "cpu.h"
|
|
|
#include "hw/hw.h"
|
|
@@ -191,7 +192,7 @@ static void generate_eeprom_spd(uint8_t *eeprom, ram_addr_t ram_size)
|
|
|
int i;
|
|
|
|
|
|
/* work in terms of MB */
|
|
|
- ram_size >>= 20;
|
|
|
+ ram_size /= MiB;
|
|
|
|
|
|
while ((ram_size >= 4) && (nbanks <= 2)) {
|
|
|
int sz_log2 = MIN(31 - clz32(ram_size), 14);
|
|
@@ -843,7 +844,8 @@ static int64_t load_kernel (void)
|
|
|
/* The kernel allocates the bootmap memory in the low memory after
|
|
|
the initrd. It takes at most 128kiB for 2GB RAM and 4kiB
|
|
|
pages. */
|
|
|
- initrd_offset = (loaderparams.ram_low_size - initrd_size - 131072
|
|
|
+ initrd_offset = (loaderparams.ram_low_size - initrd_size
|
|
|
+ - (128 * KiB)
|
|
|
- ~INITRD_PAGE_MASK) & INITRD_PAGE_MASK;
|
|
|
if (kernel_high >= initrd_offset) {
|
|
|
error_report("memory too small for initial ram disk '%s'",
|
|
@@ -1021,9 +1023,9 @@ void mips_malta_init(MachineState *machine)
|
|
|
mips_create_cpu(s, machine->cpu_type, &cbus_irq, &i8259_irq);
|
|
|
|
|
|
/* allocate RAM */
|
|
|
- if (ram_size > (2048u << 20)) {
|
|
|
- error_report("Too much memory for this machine: %dMB, maximum 2048MB",
|
|
|
- ((unsigned int)ram_size / (1 << 20)));
|
|
|
+ if (ram_size > 2 * GiB) {
|
|
|
+ error_report("Too much memory for this machine: %" PRId64 "MB,"
|
|
|
+ " maximum 2048MB", ram_size / MiB);
|
|
|
exit(1);
|
|
|
}
|
|
|
|
|
@@ -1034,17 +1036,18 @@ void mips_malta_init(MachineState *machine)
|
|
|
|
|
|
/* alias for pre IO hole access */
|
|
|
memory_region_init_alias(ram_low_preio, NULL, "mips_malta_low_preio.ram",
|
|
|
- ram_high, 0, MIN(ram_size, (256 << 20)));
|
|
|
+ ram_high, 0, MIN(ram_size, 256 * MiB));
|
|
|
memory_region_add_subregion(system_memory, 0, ram_low_preio);
|
|
|
|
|
|
/* alias for post IO hole access, if there is enough RAM */
|
|
|
- if (ram_size > (512 << 20)) {
|
|
|
+ if (ram_size > 512 * MiB) {
|
|
|
ram_low_postio = g_new(MemoryRegion, 1);
|
|
|
memory_region_init_alias(ram_low_postio, NULL,
|
|
|
"mips_malta_low_postio.ram",
|
|
|
- ram_high, 512 << 20,
|
|
|
- ram_size - (512 << 20));
|
|
|
- memory_region_add_subregion(system_memory, 512 << 20, ram_low_postio);
|
|
|
+ ram_high, 512 * MiB,
|
|
|
+ ram_size - 512 * MiB);
|
|
|
+ memory_region_add_subregion(system_memory, 512 * MiB,
|
|
|
+ ram_low_postio);
|
|
|
}
|
|
|
|
|
|
#ifdef TARGET_WORDS_BIGENDIAN
|
|
@@ -1076,7 +1079,7 @@ void mips_malta_init(MachineState *machine)
|
|
|
bios = pflash_cfi01_get_memory(fl);
|
|
|
fl_idx++;
|
|
|
if (kernel_filename) {
|
|
|
- ram_low_size = MIN(ram_size, 256 << 20);
|
|
|
+ ram_low_size = MIN(ram_size, 256 * MiB);
|
|
|
/* For KVM we reserve 1MB of RAM for running bootloader */
|
|
|
if (kvm_enabled()) {
|
|
|
ram_low_size -= 0x100000;
|