qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] How address_space_rw works?


From: Kaiyuan
Subject: [Qemu-devel] How address_space_rw works?
Date: Thu, 9 Apr 2015 16:34:03 +0800 (GMT+08:00)

Hello, guys

In my understanding, function exec.c:address_space_rw is used to handle read and write access requests to address space. In order to check my opinion, I write guest code and debug Qemu to see the path of code execution.

If I read or write with address of MMIO like UART,  it will hit function address_space_rw.

*UART_ADDR = 'c';  //hit address_space_rw

However, if I read from or write to RAM address, it does NOT hit address_space_rw. Consider below code:

char str[] = {'h', 'e', 'l', 'l', 'o', '\0'};   //This array should locate in RAM virtualized by Qemu
char temp = str[2]; //Read char from RAM, NO hit to address_space_rw
str[3] = 'k';  //Write char to RAM, NO hit to address_space_rw

For address_space_rw, why access requests to MMIO and RAM address have different results? Are there any other functions that are used to handle R/W request to virtual RAM in Qemu?

Could you give me some idea? Any suggestions will be helpful. Thanks a lot.


-Kaiyuan 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]