From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MOigC-0008D9-EE for qemu-devel@nongnu.org; Wed, 08 Jul 2009 21:44:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MOig8-0008AP-Rb for qemu-devel@nongnu.org; Wed, 08 Jul 2009 21:44:08 -0400 Received: from [199.232.76.173] (port=43701 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MOig8-0008AM-Ll for qemu-devel@nongnu.org; Wed, 08 Jul 2009 21:44:04 -0400 Received: from mga02.intel.com ([134.134.136.20]:11407) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MOig8-0005NG-9l for qemu-devel@nongnu.org; Wed, 08 Jul 2009 21:44:04 -0400 From: Huang Ying In-Reply-To: <4A4A5570.1070107@codemonkey.ws> References: <1245722714.22246.424.camel@yhuang-dev.sh.intel.com> <4A4A5570.1070107@codemonkey.ws> Content-Type: text/plain Date: Thu, 09 Jul 2009 09:43:58 +0800 Message-Id: <1247103838.4325.129.camel@yhuang-dev.sh.intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH -v6] QEMU: MCE: Add MCE simulation to qemu/tcg List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Andi Kleen , Avi Kivity , "kvm@vger.kernel.org" , "qemu-devel@nongnu.org" On Wed, 2009-07-01 at 02:12 +0800, Anthony Liguori wrote: > Hi Huang, > > Huang Ying wrote: > > - MCE features are initialized when VCPU is intialized according to CPUID. > > - A monitor command "mce" is added to inject a MCE. > > - A new interrupt mask: CPU_INTERRUPT_MCE is added to inject the MCE. > > > > Can you post some instructions on how to test this functionality? During development, I use QEMU monitor command "mce" to test this functionality. For corrected error, you can use /sbin/mcelog to get the error information. For uncorrected error, you will get panic. If you want to get result faster for corrected error, set the following sysfs file to a small number, which is seconds between corrected error polls. /sys/devices/system/machinecheck/machinecheck0/check_interval For corrected error: mce 0 1 0x8000000000000000 0x0 0x0 0x0 For uncorrected error: mce 0 1 0xb200000000000000 0x0 0x0 0x0 > For > instance, I believe Linux is capable of delivering a SIGBUS to a process > based on certain MCE's. I'm not sure what the steps would be though to > create a process using a particular physical memory address, generate a > MCE for that address, and then inspect that the process received the signal. > > Are you testing the patches via something like that? It is possible to test like that, but I think it is much easier to test the case I mentioned above. Best Regards, Huang Ying