I just notice sending mail fail report
----- 原始邮件 ----- 发件人: penghao122penghao122@sina.com 收件人: Kevin O'Connorkevin@koconnor.net 抄送人: seabiosseabios@seabios.org 主题: 回复:Re: 回复:Re: [SeaBIOS]_about ZoneHigh occupying ram from last address of below 4G ram 日期: 2015-4-18 00:28
my qemu command line: ../qemu-2.1.2/x86_64-softmmu/qemu-system-x86_64 -k en-us -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios -smp 4 -m 8192 -drive file=/home/win7-64.qcow2,format=qcow2 -enable-kvm
Just for linux OS ,I agree with you about "It's common to put reserved memory at the end of ram ". My win7-64 vm delay two hours before booting up successfully .During the two hours,the windows OS access from 0xc000_0000 to 0xfc00_0000 byte by byte .There is no pci devices in the address range. KVM think address space that is not in E820 table is mmio,but in fact this address space range also contain address hole. these hole should not be accessed by OS normally. Now windows OS access the hole ,so kvm think the address space is mmio,and handle the access like mmio flow (repeated kvm_exit to qemu userspace ).That is very time-consuming,so the vm delay 2 hours. I modified the ZoneHigh address at the begining of 128MB,everything is OK. The bootloader of windows os may be care about memory at the end of ram below 4GB.
I try to start the same win7-64bit vm in xen-4.1.0(using rombios).It's OK because the rombios keep 0x10000 - 0xc000_0000 as ram..
p.s some edition of win7-64bit is easy to trigge ----- 原始邮件 ----- 发件人:Kevin O'Connor kevin@koconnor.net 收件人:penghao122@sina.com 抄送人:seabios seabios@seabios.org 主题:Re: 回复:Re: [SeaBIOS]_about ZoneHigh occupying ram from last address of below 4G ram 日期:2015年04月16日 22点22分
On Thu, Apr 16, 2015 at 10:08:48PM +0800, penghao122@sina.com wrote:
I configure ram to 4GB,then the win7-64bit vm can boot successfully using unmodified seabios. And I find that the vm can boot up after about 2 hours when configuring ram to 8G using unmodfied seabios.
What is your qemu/kvm command line? It works fine for me (with a win7 beta I have locally). I do see a brief pause around the point where you show a 2 hour delay, but the delay for me is only a few seconds. This is the command I used: ../qemu/qemu-2.2.0/x86_64-softmmu/qemu-system-x86_64 -k en-us -snapshot -L test -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios -m 8192 -hda win7beta.img -enable-kvm -vga cirrus -smp 2 -usb I think your issue should be reported on the QEMU/KVM mailing lists. It's common to put reserved memory at the end of ram - for example, run "dmesg | grep e820" on a real machine and see what it reports. So, this doesn't look like a seabios issue to me. -Kevin 来自新浪邮箱触屏版