Managin drivers




Managin drivers

Postby biokore » 8. May 2017, 18:22

Hi,

I just started to write my own OS in C. Not a problem for now but, just wondering some things about managing my "drivers" and especially my keyboard driver.

I can write somethings on the screen with the keyboard, ok, but my OS does it just because it is made for that. I mean, currently, my kernel just activate interrupts with "sti" and enter in the infinite loop but that's all. the rest is made by my interrupt manager... I want to be able to print something only if i call the function that do it from kernel.c (and not from interupt manager).

Currently, i'm in this position :
Interupt (asm) --> interupt manager --> driver --> kbtranslate --> print (--> = call)

As you can see, my kernel do not enter in the move here, and i want to be able to print somethings only if i ask.
Example of what i want, from kernel.c :

Interupt (asm) --> interupt manager --> driver --> || kernel || --> kbtranslate --> print (--> = call)

like :

Code: Select all
[...]
while(getcar() != '\n')
{
    sprint(getcar());
}
[...]


(sprint is my printf function).

Sorry if i'm not clear, but, my English is pretty bad and even in French, i cant explain this problem clearly.

Thank you by advance.
biokore
 
Posts: 1
Joined: 8. May 2017, 17:48

by Advertising » 8. May 2017, 18:22

Advertising
 

Return to Keyboard & Mouse

Who is online

No registered users

cron