win kernel driver kerdesek

hwsw famulus hwsw at famulus.hu
Tue Oct 26 18:52:57 CEST 2004


no, erre a levelre a win fejleszto listan is felkapnak a szemuket paran...

Az MSDEV lista amugy itt lelheto fel:
 www.netacademia.net
azon belul technet
kicsit varsz vagy klikk a bal kepre es
levelezesi listak (MSDEV  W2000 SQL2000 Security stb)

direktben: http://listmanager.technetklub.hu/read/all_forums

KJ

-----------------------------------

> Nehany egyszeru kerdes a kernel driver szagertokhoz:
> Olvasom, hogy az MmAllocateContiguousMemory XP alatt 1G feletti mennyisegu
> memoriat is le tud foglalni, persze ha van eleg fizikai memoria a gepben.
> Tegyuk fel, hogy van.
> Ha ez a fuggveny sikeresen elvegzi a foglalast, egyuttal be is mappeli
> azt a kerneles virtualis cimtartomanyba.
>
> 1. Hogy lehetseges ez, hiszen az egesz kernel cimtartomany 2G, vagy
>    valamelyik windoz alatt mindossze 1G?
>
> A kovetkezoket irjak meg: nem valami jo megoldas ez a fuggveny, mert lehet
> hogy olyan cimet kapunk, amit a hardver nem tud kezelni, pl 4G feletti
> teruletet egy PCI kartyanak.
>
> 2. Ez miert problema, hiszen a parameterekben meg lehet adni a legmagasabb
>    fizikai cimet amit a hardver kezelni tud?
>
> 3. Mashol azt irjak, hogy ez a fuggveny long-term _internal_ buffer
>    foglalasara alkalmas. Ez nem azt jelenti, hogy a hardver szamara nem
>    feltetlenul elerheto? Vagy csak hibas fogalmazas a DDK-ban?
>
> 4. Hogy lehet, hogy ez a fuggveny lazan lefoglal 1G-t, ugyanakkor a hozza
>    hasonlo funkcionalitasu AllocateCommonBuffer doksiban mindig felhivjak
>    a figyelmet arra, hogy rettento takarekosan kell banni vele, mert
>    kulonben elfogynak a map registerek, es akkor hetbaj lesz.
>
> 5. Ugyanez a kerdes vonatkozik arra is, ha az user progi lefoglal 1G
>    memoriat, azt METHOD_IN_DIRECT io-val atadja a drivernek. Az IOmanager
>    meghivja ra az MmProbeAndLockPages fuggvenyt, a driver pedig utana az
>    MmGetSystemAddressForMdlSafe-t. Ugyanaz tortenik mint fent, csak az
>    le tud foglalni 1G-t, raadasul fizikailag folytonos memoriat(!), ez
>    meg nem folytonosat csinal, es be is xarhat barmely fazisban. Miert?
>
> 6. Mik azok a map regiszterek es hany van beloluk?
>    Valami olyasmit sejtek, hogy az user modu virtualis cimeket PTE/TLB
>    bejegyzesekben tarolja a win, a kernel modu mappeleseket ezekkel a
>    regiszterekkel oldja meg, hogy takarekoskodjon az adminisztracios
>    terulettel, vagy mittomen.
>
> 7. Mi tortenik, ha az user progi akkora memoriat szeretne atadni direct
>    IO-val, amennyi fizikai lapot nem tud csinalni az MmProbeAndLockPages?
>    Hol fog keletkezni es milyen hiba? Ugyanis ilyenkor az Irp ha jol
>    sejtem, el sem fog jutni a driverig feldolgozasra, mert a buffert nem
>    lehet memoriaba lockolni.
>
> 8. Mi van, ha a buffert sikeresen lelockolta az iomanager, de bemappelni
>    (pl map regiszterek vagy virtualis cimtartomany hianyaban) nem
>    lehetseges? Van-e valami lehetoseg ilyenkor arra, hogy az Mdl-lel leirt
>    buffer egyben maradjon, de mindig csak egy kis resze mappelodjon be a
>    kernel cimtartomanyba, amin eppen dolgozik a driver? Pl 1 lap is eleg.
>
> 9. A fentiek alapjan melyik a javasolt modszer 1G koruli DMA buffer
>    megvalositasara? Egy PCI kartya dolgozik benne, tud egy scatter DMA
>    hangulatu sajat megoldast, viszont csak 32 bites cimzest tud, tehat
>    csak az also 4G fizikai memoriat tudja elerni.
>    Jelenleg commonbuffer DMA-val mukodik a rendszer jol, csak tovabb kene
>    lepni az 1G hatar fele :)
>    Nem tudom hogy melyik modszernek pontosan mik a hatarai, illetve az
>    MmAllocateContiguousMemory-rol irjak, hogy tud 1G-t XP alatt, de erre
>    a tovabbi win verziokban ne szamitsunk :( A tobbirol semmi info sehol.
>    Jelenleg nem is tudom kiprobalni, mert meg nincs meg a masfel G a
>    tesztgepben, allitolag nemsokara erkezik, de utana is rengeteg ido
>    lenne mindent vegigprobalni. Hatha tudja valaki konkretan...
>
> 10. Es vegul: hogy lehet azt megcsinalni, hogy elkuldok egy ioctl-t,
>    de ne kelljen megvarni hogy a driver kesz legyen vele. Kozben tudjak
>    tovabbi parancsokat kuldeni a drivernek, es egy ilyen tovabbi parancs
>    hatasara vegezzen az elso parancssal?
>
> Koszi!
>
> -- 
> Valenta Ferenc <vf at elte.hu>   Visit me at http://ludens.elte.h u/~vf/
> "Egyetlen teny romba donthet egy faradsagosan felepitett ervrendszert"
>
> -----------------------------------
>  Szponzorunk: http://tonerbolt.hu/
>





More information about the Elektro mailing list