|
From: | EricSong |
Subject: | [Qemu-discuss] EMT64 support |
Date: | Mon, 23 Nov 2015 14:41:42 +0800 |
Hi, exports I want to emulate intel x64 cpu with EMT64 tech. But when I use x86_64_softmmu to compile for 64-bit CPU support, I found it is compatible for AMD64, but EMT64. I check it from SMM part. According to Intel spec, when support EMT64 for 64-bit, the SMM save state map is started from SMBASE + FC00h with 0x400 bytes, and SMbase register is located in SMBASE + FEF8h. However according to AMD, if support
AMD64 for 64-bit, the SMM save state map is started from SMBASE + FE00h with 0x200 bytes, and SMbase register is located in SMBASE + FF00h. I think this is 2 different way for 64-bit support. But in Qemu 2.2.4, we just support AMD64 for 64-bit. Eg: In Do_smm_enter()
function, #ifdef TARGET_X86_64 for (i = 0; i < 6; i++) { dt = &env->segs[i]; offset =
0x7e00 + i * 16; stw_phys(cs->as, sm_state + offset, dt->selector); stw_phys(cs->as, sm_state + offset + 2, (dt->flags >> 8) & 0xf0ff); stl_phys(cs->as, sm_state + offset + 4, dt->limit); stq_phys(cs->as, sm_state + offset + 8, dt->base); } stl_phys(cs->as, sm_state + 0x7f00, env->smbase); That’s to say, Does QEMU not support EMT64 for 64-bit? All 64-bit tech is follow AMD64? Thank you very much! Best wishes, Eric Song Tel: 010-
82695388 Ext.892242 & 892701 E-mail:
address@hidden 本邮件仅针对指定的收件人发送并可能含有保密或专有内容。任何非指定收件人所为之查阅、转发或使用本信息是不被允许的。
如果您误收到本邮件,请立即告知发件人并删除本邮件及所有附件。谢谢!
The information transmitted in this e-mail is intended only for the addressee and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of this information by persons or entities other than the intended
recipient is prohibited. If you received this e-mail in error, please notify the sender immediately, and delete this e-mail and any attachments. Thank you.
|
[Prev in Thread] | Current Thread | [Next in Thread] |