subpage_prot(2) System Calls Manual subpage_prot(2) NUME subpage_prot - definete o protecie de subpagina pentru un interval de adrese BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include /* Definirea constantelor SYS_* */ #include int syscall(SYS_subpage_prot, unsigned long addr, unsigned long len, uint32_t *map); Nota: glibc nu ofera nici o funcie de invaluire pentru subpage_prot(), fiind necesara utilizarea syscall(2). DESCRIERE Apelul de sistem specific PowerPC subpage_prot() ofera posibilitatea de a controla permisiunile de acces pe subpagini individuale de 4 ko pe sistemele configurate cu o dimensiune a paginii de 64 ko. Harta de protecie se aplica paginilor de memorie din regiune incepand de la addr i continuand cu len octei. Ambele argumente trebuie sa fie aliniate la o limita de 64 ko. Harta de protecie este specificata in memoria tampon indicata de map. Harta are 2 bii pentru fiecare subpagina de 4ko; astfel, fiecare cuvant de 32 de bii specifica proteciile a 16 subpagini de 4ko in interiorul unei pagini de 64ko (astfel, numarul de cuvinte de 32 de bii indicate de map ar trebui sa fie egal cu numarul de pagini de 64ko specificate de len). Fiecare camp de 2 bii din harta de protecie este fie 0 pentru a permite orice acces, fie 1 pentru a impiedica scrierea, fie 2 sau 3 pentru a impiedica toate accesele. VALOAREA RETURNATA In caz de succes, subpage_prot() returneaza 0. In caz contrar, se returneaza unul dintre codurile de eroare specificate mai jos. ERORI-IEIRE EFAULT Memoria tampon la care face referire map nu este accesibila. EINVAL Argumentele addr sau len sunt incorecte. Ambele argumente trebuie sa fie aliniate la un multiplu al dimensiunii paginii de sistem i nu trebuie sa se refere la o regiune din afara spaiului de adrese al procesului sau la o regiune care consta din pagini uriae. ENOMEM Memorie insuficienta. STANDARDE Linux. ISTORIC Linux 2.6.25 (PowerPC). Apelul de sistem este furnizat numai in cazul in care nucleul este configurat cu CONFIG_PPC_64K_PAGES. NOTE Se aplica, de asemenea, proteciile normale ale paginilor (la nivelul paginii de 64 ko); mecanismul de protecie a subpaginilor este o constrangere suplimentara, astfel incat daca se pune 0 intr-un camp de 2 bii nu se va permite scrierea pe o pagina care este altfel protejata la scriere. Justificare Acest apel de sistem este furnizat pentru a ajuta la scrierea emulatoarelor care opereaza folosind pagini de 64 ko pe sistemele PowerPC. Atunci cand se emuleaza sisteme precum x86, care utilizeaza o dimensiune mai mica a paginilor, emulatorul nu mai poate utiliza unitatea de gestionare a memoriei (MMU) i apelurile de sistem normale pentru a controla protecia paginilor. (Emulatorul ar putea emula MMU prin verificarea i eventual realocarea adresei pentru fiecare acces la memorie in software, dar acest lucru este lent). Ideea este ca emulatorul furnizeaza o serie de mati de protecie care se aplica unui interval specificat de adrese virtuale. Aceste mati sunt aplicate la nivelul la care intrarile in tabelul de pagini hardware (PTE) sunt inserate in tabelul de pagini hardware pe baza PTE-urilor Linux, astfel incat PTE-urile Linux nu sunt afectate. Implicit, regiunile spaiului de adrese care sunt protejate sunt comutate pentru a utiliza pagini hardware de 4 ko in loc de pagini hardware de 64 ko (pe mainile cu suport hardware pentru pagini de 64 ko). CONSULTAI I mprotect(2), syscall(2) Documentation/admin-guide/mm/hugetlbpage.rst in arborele sursa al nucleului Linux TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 subpage_prot(2)