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