[OSDev] Software multitasking i porty w ring3

0

Jaki maly problemik mam, otoz chce zrobic drivery dzialajace pod ring3 w ktorym jak wiadomo nie ma portow (przynajmniej "domyslnie"). W TSSie za to jest cos takiego jak IO permision mask, sek w tym, ze nie korzystam z TSS (tzn nie w pelni, tylko po to aby odczytac stos dla innego dpla). Czy ktos ma jakis pomysl zeby dac procesowi mozliwosc bawienia sie portami nie przepisujac zamiany kontekstow?

0

Flaga IOPL ustawiona tylko-dla-procesu-w-tej-chwili nie pomoże?

!! A-TAK-POZA-TYM !! Po co ci drivery na Ring3?

0

Masz racje, doczytalem i jest tak jak mowisz. Jesli IOPL jest >= PL to proces ma dostep do portow, jesli nie to sprawdza jeszcze maske IO, IOPL mozna zmieniac tylko z PL=0 wiec wszystko jest kul. Dzieki.

A, po co mi drivery na ring3?

  1. Ochrona - zdarzy sie, ze przez przypadek sie gdzie cli,hlt pojawi i co ... wiem, ze majac ostep do IO mozna posiekac system no ale juz trudniej. Po poprzednim moim topiku i rozkminieniu tego wszystkiego dostalem szala na punkcie bezpieczenstwa.
  2. Elastycznosc - drivery to zwykle procesy z jakas tam flaga, nie musze sie martwic, ze jakby dzialaly na ring0 to inne rzeczy na stos by kladlo przerwanie itp. Po prostu prosciej tak.</delphi>

1 użytkowników online, w tym zalogowanych: 0, gości: 1