[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