Skip to main content

Module arch

Module arch 

Source
Expand description

Syscalls spécifiques à l’architecturearch_prctl(2) (ADR-051).

arch_prctl n’existe que sur x86_64 : il programme la base des registres de segment %fs/%gs. Air l’utilise pour fixer le registre TLS du thread principal (%fs) au démarrage (air-rt, ADR-049 D2). Sur aarch64, le registre TLS (tpidr_el0) est inscriptible directement en EL0 par une instruction msr (affaire d’air-rt, pas un syscall) ; ce module est donc vide sur aarch64. Les threads spawnés (toutes arches) reçoivent leur registre TLS du kernel via CLONE_SETTLS (crate::process::clone_thread).

Conformément à ADR-021 §3 (pas de wrapper multiplexé), arch_prctl est exposé par des fonctions dédiées set_fs/get_fs, jamais par un arch_prctl(op, …) générique.

Functions§

get_fs
Lit la base courante du registre de segment %fs (registre TLS) du thread appelant. N’existe que sur x86_64. Opération sûre (lecture seule).
set_fs
Fixe la base du registre de segment %fs (registre TLS) du thread appelant.