.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2010 Michael Kerrisk .\" based on a proposal from Stephan Mueller .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Various pieces of text taken from the kernel source and the commentary .\" in Linux commit fa28237cfcc5827553044cbd6ee52e33692b0faa .\" both written by Paul Mackerras .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH subpage_prot 2 "17 novembre 2024" "Pages du manuel de Linux 6.12" .SH NOM subpage_prot \- Définir une protection des sous\-pages pour un intervalle d'adresses .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP,\ \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP /* Définition des constantes \fBSYS_*\fP */ \fB#include \fP .P \fBint syscall(SYS_subpage_prot, unsigned long \fP\fIaddr\fP\fB, unsigned long \fP\fIsize\fP\fB,\fP \fB uint32_t *\fP\fImap\fP\fB);\fP .fi .P \fIRemarque\fP: la glibc ne fournit pas d'enveloppe pour \fBsubpage_prot\fP(), imposant l'utilisation de \fBsyscall\fP(2). .SH DESCRIPTION L'appel système \fBsubpage_prot\fP() spécifique aux PowerPC fournit la possibilité de contrôler les permissions d'accès sur des sous\-pages individuelles de 4 ko sur des systèmes configurés avec une taille de page de 64 ko. .P The protection map is applied to the memory pages in the region starting at \fIaddr\fP and continuing for \fIsize\fP bytes. Both of these arguments must be aligned to a 64\-kB boundary. .P The protection map is specified in the buffer pointed to by \fImap\fP. The map has 2 bits per 4\ kB subpage; thus each 32\-bit word specifies the protections of 16 4\ kB subpages inside a 64\ kB page (so, the number of 32\-bit words pointed to by \fImap\fP should equate to the number of 64\-kB pages specified by \fIsize\fP). Each 2\-bit field in the protection map is either 0 to allow any access, 1 to prevent writes, or 2 or 3 to prevent all accesses. .SH "VALEUR RENVOYÉE" S'il réussit \fBsubpage_prot\fP() renvoie 0. Sinon, il renvoie un des codes d'erreur définis ci\-dessous. .SH ERREURS .TP \fBEFAULT\fP Le tampon indiqué par \fImap\fP n'est pas accessible. .TP \fBEINVAL\fP The \fIaddr\fP or \fIsize\fP arguments are incorrect. Both of these arguments must be aligned to a multiple of the system page size, and they must not refer to a region outside of the address space of the process or to a region that consists of huge pages. .TP \fBENOMEM\fP Plus assez de mémoire. .SH STANDARDS Linux. .SH HISTORIQUE Linux 2.6.25 (PowerPC). .P L'appel système n'est disponible que si le noyau a été configuré avec \fBCONFIG_PPC_64K_PAGES\fP. .SH NOTES Les protections de page habituelles (au niveau de chaque page de 64 ko) s'appliquent aussi ; le mécanisme de protection des sous\-pages est une contrainte supplémentaire, ainsi un 0 dans un champ sur 2 bits ne permettra pas d'écrire sur une page qui est par ailleurs protégée en écriture. .SS Justification .\" In the initial implementation, it was the case that: .\" In fact the whole process is switched to use 4 kB hardware pages when the .\" subpage_prot system call is used, but this could be improved in future .\" to switch only the affected segments. .\" But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch .\" the affected segment, not the whole process. Cet appel système est fourni pour aider l'écriture d'émulateurs qui opèrent avec des pages de 64 ko sur des systèmes PowerPC. Quand on émule des systèmes x86, qui utilisent une taille de page inférieure, l'émulateur ne peut plus utiliser l'unité de gestion de la mémoire (\fImemory\-management unit\fP, ou MMU) et les appels système habituels pour contrôler les protections de pages (l'émulateur pourrait émuler le MMU en vérifiant, et éventuellement traduisant, chaque adresse mémoire, mais cela est lent). L'idée est que l'émulateur fournisse un tableau de masques de protections à appliquer sur un intervalle donné d'adresses virtuelles. Ces masques sont appliqués au niveau où les entrées de tables de pages (\fIpage\-table entries\fP, ou PTE) matérielles sont insérées dans la table de pages matérielles basées sur les PTE Linux, si bien que les PTE Linux ne sont pas affectées. Il en résulte que les régions de l'espace d'adressage qui sont protégées basculent vers des pages matérielles de 4 ko au lieu de 64 ko (pour les machines qui prennent en charge des pages matérielles de 64 ko). .SH "VOIR AUSSI" \fBmprotect\fP(2), \fBsyscall\fP(2) .P \fIDocumentation/admin\-guide/mm/hugetlbpage.rst\fP dans les sources du noyau Linux. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .