(1)打开一个UNIX socket,用于对客户机物理内存的访问。具体做法:创建在固定的端口上建立本地通信的监听服务,服务程序设置为函数memory_access_thread(……)。
(2)accept连接请求,调用函数connection_handler(...)来处理请求,最后关闭连接。
(3)解析请求中的数据,并根据请求数据选择具体的处理函数,一般有两个主要的任务—内存读、内存写,然后调用内存读写函数connection_write_memory(……)和connection_read_memory(……)执行具体的任务,最后将执行结果返回给请求方。
备注:暗色的方格是patch添加的函数,白色的方格则是qemu源码中的函数。