From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IZ667-00030v-TD for qemu-devel@nongnu.org; Sat, 22 Sep 2007 10:36:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IZ666-0002yy-El for qemu-devel@nongnu.org; Sat, 22 Sep 2007 10:36:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IZ666-0002ys-6E for qemu-devel@nongnu.org; Sat, 22 Sep 2007 10:36:42 -0400 Received: from nf-out-0910.google.com ([64.233.182.190]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IZ665-0003TD-QQ for qemu-devel@nongnu.org; Sat, 22 Sep 2007 10:36:42 -0400 Received: by nf-out-0910.google.com with SMTP id 30so1006713nfu for ; Sat, 22 Sep 2007 07:36:41 -0700 (PDT) Message-ID: Date: Sat, 22 Sep 2007 09:36:40 -0500 From: "aditya bhandari" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_29467_28704495.1190471800550" Subject: [Qemu-devel] Softmmu modification: Memory access functions Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_29467_28704495.1190471800550 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, I've been trying to figure out how to modify the softmmu for x86. I am only interested in system emulation at the moment. I've being trying to figure out the memory access functions, but the number of macros used makes this somewhat complicated. I have a few questions: 1. What is the difference between functions with suffix _mmu and those with suffix _cmmu? 2. What do the 4 values of the ACCESS_TYPE macro designate? 3. What is the difference between _raw, _kernel, and _user? Which ones are applicable to system emulation? I also want to be able to intercept every physical memory access (I want to do some cache statistics experiments). Is there a single function (or maybe one for read and one for write) that all these accesses go through? I see several such as ldul_le_p (for example), cpu_physical_memory_rw, ldq_phys. Thanks. Aditya ------=_Part_29467_28704495.1190471800550 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi,
I've been trying to figure out how to modify the softmmu for x86. I am only interested in system emulation at the moment. I've being trying to figure out the memory access functions, but the number of macros used makes this somewhat complicated. I have a few questions:
1. What is the difference between functions with suffix _mmu and those with suffix _cmmu?
2. What do the 4 values of the ACCESS_TYPE macro designate?
3. What is the difference between _raw, _kernel, and _user? Which ones are applicable to system emulation?

I also want to be able to intercept every physical memory access (I want to do some cache statistics experiments). Is there a single function (or maybe one for read and one for write) that all these accesses go through? I see several such as ldul_le_p (for example), cpu_physical_memory_rw, ldq_phys.

Thanks.

Aditya
------=_Part_29467_28704495.1190471800550--