Interrupt-Handling
-
PrettyOS verfügt über einen Keyboardtreiber: https://sourceforge.net/p/prettyos/code/HEAD/tree/trunk/Source/kernel/hid/
Dort findet man die wesentlichen Elemente in konkreter Form.
-
@Erhard-Henkes ich habe da mal eine frage. in der keyboard.c steht z.b. folgendes:
static void keyboard_updateLED(void) { outportb(0x60, 0xED); inportb(0x60); outportb(0x60, LED); inportb(0x60); }
sind die ports eigentlich irgendwie genormt oder so? woher weißt du, dass die led über 0x60 angesteuert wird?
-
@Wade1234 IBM PS/2 ... https://wiki.osdev.org/PS/2_Keyboard
-
@Swordfish also ohne das jetzt ausprobiert zu haben: ich kann auf meinem experimentierrechner mit freebsd die tastatur-led blinken lassen, indem ich /dev/port öffne und die entsprechenden werte an die entsprechenden stellen schreibe? also vorausgesetzt, das board ist "ibm-kompatibel"?
-
@Wade1234 https://stackoverflow.com/a/219154/10735411
OpenBSD machts doch selbst nicht anders: https://github.com/openbsd/src/blob/master/sys/dev/pckbc/pckbdreg.h
-
@Swordfish also ich sags mal so: ich weiß, dass ich mir unter unix diese ganze geschichte mit gerätetreibern usw. eigentlich sparen kann, indem ich direkt in die ports oder in den speicher schreibe. aber es gehörte irgendwie immer zu meinen ungelösten problemen, welche ports und welche speicheradressen das im endeffekt sind, weil mir niemand diese fragen beantworten konnte.
-
@Wade1234 sagte in Interrupt-Handling:
ich weiß, dass ich mir unter unix diese ganze geschichte mit gerätetreibern usw. eigentlich sparen kann
Im Protected Mode als User in Ring 3? Echt?
-
@Swordfish als user nicht, aber root darf ja.
-
Lol.
Was für ein Dreckssystem für ein elendiges
-
@Wade1234 sagte in Interrupt-Handling:
@Swordfish als user nicht, aber root darf ja.
https://www.google.com/?q=x86%20privilege%20level%20architecture
-
@Wade1234 sagte in Interrupt-Handling:
@Erhard-Henkes ich habe da mal eine frage. in der keyboard.c steht z.b. folgendes:
static void keyboard_updateLED(void) { outportb(0x60, 0xED); inportb(0x60); outportb(0x60, LED); inportb(0x60); }
sind die ports eigentlich irgendwie genormt oder so? woher weißt du, dass die led über 0x60 angesteuert wird?
-
Dieser Beitrag wurde gelöscht!