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

Re: [MiNT] XaAES sources for FreeMiNT 1.16.3



Jo Even Skarstein wrote:
The VDI, as any other system library, could be seen as some kind of shared library.

Called via the trap-mechanism?

Trap is slow (to not say trap is crap :-) )
Called via some other mechanism, as I described.

But what about already existing applications? You would need to keep both interfaces.

No problem.
It can be easy to maintain 2 interfaces for the same implementation.
I don't say it is the thing to do, it is a possible evolution.

I see where you're going. No, the AES could be split into a server (for synchronising, event handling etc) and a client library (for drawing and interacting with objects and perhaps windows).

Not really. I don't think to something complicated like client/server (this reminds me some recent email from Konrad ;-) ). I'm just thinking the user program could go itself into supervisor mode only when it is really required, such in order to access the hardware registers. There is no conceptual problem with that since the caller do clean things, and the supervisor switch happens behinds the scenes, in the user library. However I agree, supervisor switches are expensive, they must be limited as much as possible.

GEM apps call the VDI and AES through a trap. They will always do this. So it makes sense to implement the AES like it is now, and implementing the VDI in the kernel is a natural progression.

Ok, this is the most ataristic solution.
And there will be exactly one switch to supervisor mode for each VDI call.

Well, this does not prevent the VDI to expose an alternative API, which will be faster, and which maybe switch to supervisor only when required.

--
Vincent Rivière