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

Re: [win-pv-devel] [PATCH 0/3] Add XENBUS APIs necessary for libvchan implementation

On 2015-09-11 17:46, Paul Durrant wrote:
>> -----Original Message-----
>> From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel-
>> bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Rafal Wojdyla
>> Sent: 11 September 2015 13:30
>> To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
>> Subject: [win-pv-devel] [PATCH 0/3] Add XENBUS APIs necessary for libvchan
>> implementation
>> This patch series adds some missing XENBUS APIs that are needed for full
>> libvchan implementation on Windows, namely mapping foreign memory
>> pages
>> and setting XenStore key permissions.
> All patches applied. Thanks!
>   Paul

No problem. Xeniface patches will come next and I have some questions on
how to best structure the code, especially the usermode DLL and
libvchan. For now I have the DLL (named xencontrol) in a separate
directory in the xeniface project, along with a small "client/server"
test program that exercises most of its exported functions. Our libvchan
port is kept out of the xeniface project as it doesn't really belong in
there in my opinion.

The DLL is basically a wrapper for most of the xeniface IOCTLs. For
logging I'm using a simple callback that the caller can register, with
several verbosity levels.

In xeniface itself I'm still using the process notification approach for
cleanup. Didn't have a problem with it thus far, but I can change that
to pend IOCTLs and add secondary IOCTLs to get actual data back from the

I've also had some problems with the EVTCHN DPC in xeniface. Namely, it
seems that the DPC routine can run even after KeRemoveQueueDpc() which I
was doing on cleanup. I'm now calling KeFlushQueuedDpcs() in the cleanup
function to ensure that the DPC can't run after I free my data. Is this
the right approach?

Rafał Wojdyła
Qubes Tools for Windows developer

win-pv-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.