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

Re: [MiNT] kernel module howto?



Odd Skancke wrote:

man, 12,.09.2005 kl. 09.37 +0200, skrev Olivier Landemarre:
Frank Naumann wrote:

Hello!

For xfs and xdd there are example skeletons inside the source tree. Just look for the skeleton folders in freemint/sys/{xfs,xdd}

Is it the same, if I wan't to have MyAeS in kernel module as XaAES do?

No, the xaaes kernel module is not a xfs or xdd.

Does we can ask to not prempt process in critical part of the code in kernel module?


The kernel never preeempt itself except on explicit request by calling the scheduler.

So probably I need documentation about scheduler?

It's all documented in the kernel source, take a look on freemint/sys/mint/kentry.h. If you include the right header files you can just call sleep(...), wake(...) and all other things.

Ok I look soon at it


Are you planning to convert MyAES into kernel module like XaAES?

Yes for protection memory management, but in fact if I wan't to do this, it is because semaphore in premptive is not easy at all to manage, I have choose to lock less possible code in MyAeS and it is possible to work in same time on windows tree, when an other work on client tree or event tree ..., this for speed, but sometime it can have some interaction beetween all semaphore and possible autolock process (this is like wind_update() beetween BEG_UPDATE and BEG_MCTRL). I could choose to have a very simple semaphore usage but in this case AES should be slower than now, so in kernel module, this lock for me process and I can have full speed I need. For the moment I plane to have this mode only in option, because it can't work above other AES as I use it for debug, and because not all systems support this. I like use options, and when I see it's better it finish to be the default one and remove other working mode.

It's not for tomorrow, I have to understand how it work.

Olivier