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