next up previous contents
Next: Obsługa tablic rozdzielczych Up: Sterowniki urządzeń Previous: Poziom wspomagania jądra   Spis rzeczy

Dostęp do portów I/O

Porty to niskopoziomowy interfejs komunikacji Systemu Operacyjnego z urządzeniami I/O. W architekturze i386 występuje 16 bitowa przestrzeń adresowa dla urządzeń, w związku z czym mamy dostęp do 65536 portów. W celu uniknięcia konfliktów, wprowadzono mechanizm rejestracji używanych portów (pliki kernel/resource.cinclude/linux/ioport.h). Sterownik może więc korzystać z następujących funkcji, wraz z dołączonymi do nich makrodefinicjami:

Listę aktualnie wykorzystywanych portów można pobrać z "pseudo pliku": proc/ioports, który zawiera wynik funkcji get_resource_list. Oto jego fragment:

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
Dostęp do portów zapewniają funkcje zadeklarowane w pliku
include/asm/io.h.
,,b''-bajt(8 bitów), ,,w''-słowo(16 bitów), ,,l''-podwójne słowo(32 bity) Istnieją też funkcje do odczytu i zapisu ciągu znaków do portów.
next up previous contents
Next: Obsługa tablic rozdzielczych Up: Sterowniki urządzeń Previous: Poziom wspomagania jądra   Spis rzeczy
2001-12-19