kvm tools: Fix 'kvm run' on 32-bit machines with >2 GB of RAM

This patch fixes the following nasty 'kvm run' startup problem that's caused by
'long' and 'u64' mixup in the code:

  $ ./kvm run
    Fatal: out of memory

Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Pekka Enberg
2015-06-01 16:39:45 +01:00
committed by Will Deacon
parent aa400b0039
commit 06761c76a4
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ struct kvm {
int nr_disks;
};
struct kvm *kvm__init(const char *kvm_dev, unsigned long ram_size);
struct kvm *kvm__init(const char *kvm_dev, u64 ram_size);
int kvm__max_cpus(struct kvm *kvm);
void kvm__init_ram(struct kvm *kvm);
void kvm__delete(struct kvm *kvm);
+2 -2
View File
@@ -324,8 +324,8 @@ static u64 host_ram_size(void)
static u64 get_ram_size(int nr_cpus)
{
long available;
long ram_size;
u64 available;
u64 ram_size;
ram_size = 64 * (nr_cpus + 3);
+1 -1
View File
@@ -236,7 +236,7 @@ int kvm__max_cpus(struct kvm *kvm)
return ret;
}
struct kvm *kvm__init(const char *kvm_dev, unsigned long ram_size)
struct kvm *kvm__init(const char *kvm_dev, u64 ram_size)
{
struct kvm_pit_config pit_config = { .flags = 0, };
struct kvm *kvm;