-
公开(公告)号:US20120072638A1
公开(公告)日:2012-03-22
申请号:US12883465
申请日:2010-09-16
申请人: J. Alan Grubb , John Landis , Bryan Thompson , James R. Hunter
发明人: J. Alan Grubb , John Landis , Bryan Thompson , James R. Hunter
IPC分类号: G06F12/08
CPC分类号: G06F11/366 , G06F9/45558 , G06F2009/45579 , G06F2009/45583 , G06F2009/45591
摘要: Trapping and/or processing of read/write accesses to hardware devices represented to the host through a memory mapped space may be performed without knowledge of the processor's instruction set or semantics of the processor's instructions. A single step routine may be executed to recognize page faults occurring from read/write accesses to emulated memory pages and causing the guest to retry the operation on a single step buffer. The hypervisor may perform post-operation processing on the single step buffer after the guest retries and completes the read or write access. For example, on a read request, the single step routine may place the guest value in the single step buffer for reading by the guest on a retry operation. On a write request, the single step routine may direct the guest to retry the write operation into the single step buffer. After the retry operation the single step routine may read the guest value from the single step buffer and place the guest value in a register of an appropriate emulated system.
摘要翻译: 在不知道处理器的指令集或处理器的指令的语义的情况下,可以执行通过存储器映射空间对表示给主机的硬件设备的读/写访问的捕获和/或处理。 可以执行单步程序来识别从对读取/写入访问模拟的存储器页面而发生的页面错误,并使得客户机在单步缓冲器上重试该操作。 虚拟机管理程序可以在客户机重试之后对单步缓冲区执行后操作处理,并完成读或写访问。 例如,在读取请求时,单步骤例程可以将客户值放置在单步缓冲器中,以便客人在重试操作时进行读取。 在写请求时,单步程序可以引导客人将写入操作重试到单步缓冲区。 在重试操作之后,单步程序可以从单步缓冲器读取访客值,并将客人值放在适当的仿真系统的寄存器中。