| Hi, Keir, 
    Now I understand what you mean. read_io, write_io, inject_hw_exception 
callbacks are not defined within the multi.c. So I/O instructions will not be 
emulated by it. Thanks for your comments. And the new patch is attached.
Best regards,
-- Dongxiao
-----Original Message-----
From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx] 
Sent: 2008年3月17日 19:21
To: Cui, Dexuan; Xu, Dongxiao; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH]Fix the bug of guest os installationfailure and 
win2k boot failure
On 17/3/08 11:16, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx> wrote:
>> I think you misunderstand. The shadow emulator *never* emulates I/O
>> port accesses or exception deliveries. Those callback functions are
>> simply not implemented and are left as NULL.
> Those callback functions -- what are they? -- do you mean the following?
> static struct x86_emulate_ops hvm_emulate_ops = {
>     ....
>     .read_io       = hvmemul_read_io,
>     .write_io      = hvmemul_write_io,
> ...
> };
Yes indeed. Also, crucially, .inject_hw_exception. Without that
x86_emulate() is unable to inject any exception into the guest, and will
instead return X86EMUL_UNHANDLEABLE.
 -- Keir
 io_check.patch Description: io_check.patch
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |