于 2011/12/16,星期五 17:46, Sasha Levin 写道:
On Fri, 2011-12-16 at 17:33 +0800, Zang Hongyong wrote:
Do you see an issue with increasing kvm->ram_size?

Yes, it will cause some problems after simply increase the kvm->ram_size.
For examples:
In kvm__init_ram() code we use kvm->ram_size to calculate the size of
the second
RAM range from 4GB to the end of RAM (phys_size = kvm->ram_size -
phys_size;),
so after increase the kvm->ram_size, it will goes wrong.
This problem also happens in e820_setup() code and load_bzimage() code.
Yup, but fixing it is much easier than having two different sizes of the same 
thing.

For example, the fix for the problem in kvm__init_ram() (and e820_setup()) 
would be:

@@ -112,7 +112,7 @@ void kvm__init_ram(struct kvm *kvm)
                 /* Second RAM range from 4GB to the end of RAM: */

                 phys_start = 0x100000000ULL;
-               phys_size  = kvm->ram_size - phys_size;
+               phys_size  = kvm->ram_size - phys_start;
                 host_mem   = kvm->ram_start + phys_start;

                 kvm__register_mem(kvm, phys_start, phys_size, host_mem);

I basically want one memory map with one size which includes *everything*, even 
if that memory map includes a gap in the middle I still want the total size to 
include that gap.

btw, what problem do you see in load_bzimage()?

I've got what you mean.
And there's nothing wrong in load_bzimage(). It's my misunderstanding.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to