Lines Matching refs:un

25  - Si se puede hacer que la operación se parezca a un objeto filesystem,
26 podría tener más sentido crear un nuevo sistema de ficheros o
28 funcionalidad en un módulo del kernel en vez de requerir que sea
32 notifica al userspace que algo ha pasado, entonces retornar un nuevo
38 como solicitudes :manpage:`ioctl(2)`, las cuales pueden llevar a un
41 - Si sólo está exponiendo información del runtime, un nuevo nodo en sysfs
45 siempre el caso (e.g. en un ambiente namespaced/sandboxed/chrooted).
49 - Si la operación es específica a un archivo o descriptor de archivo
55 es muy simple (por ejemplo, definir/obtener un flag simple relacionado a
56 un descriptor de archivo).
58 - Si la operación es específica a un proceso o tarea particular, entonces
59 un comando adicional :manpage:`prctl(2)` podría ser más apropiado. Tal
60 como con :manpage:`fcntl(2)`, esta llamada al sistema es un multiplexor
62 del existente ``prctl()`` u obtener/definir un flag simple relacionado a
63 un proceso.
79 Para llamadas al sistema más simples que sólo toman un par de argumentos,
80 la forma preferida de permitir futuras extensiones es incluir un argumento
92 Para llamadas al sistema más sofisticadas que involucran un gran número de
94 estructura que sea pasada a través de un puntero. Tal estructura puede
95 hacer frente a futuras extensiones mediante la inclusión de un argumento de
106 diseñado de forma tal que un valor cero, devuelva el comportamiento previo,
110 llamadas a un kernel más antiguo, el código del kernel debe revisar que
114 un kernel más nuevo, el código del kernel puede extender con ceros, una
119 ``kernel/events/code.c``) para un ejemplo de esta aproximación.
125 Si su nueva llamada al sistema permite al userspace hacer referencia a un
126 objeto del kernel, esta debería usar un descriptor de archivo como el
127 manipulador de ese objeto -- no invente un nuevo tipo de objeto manipulador
131 Si su nueva llamada a sistema :manpage:`xyzzy(2)` retorna un nuevo
132 descriptor de archivo, entonces el argumento flag debe incluir un valor que
135 ``fcntl(fd, F_SETFD, FD_CLOEXEC)``, donde un ``fork()`` inesperado y
136 ``execve()`` en otro hilo podrían filtrar un descriptor al programa
139 parte de un espacio numerado de flags ``O_*`` que está bastante lleno.)
141 Si su llamada de sistema retorna un nuevo descriptor de archivo, debería
143 :manpage:`poll(2)` en ese descriptor de archivo. Hacer un descriptor de
145 indique al espacio de usuario que un evento ha ocurrido en el
160 un descriptor de archivo ya abierto usando el flag ``AT_EMPTY_PATH``,
167 revise el man page :manpage:`openat(2)`; para un ejemplo de AT_EMPTY_PATH,
170 Si su nueva llamada de sistema :manpage:`xyzzy(2)` involucra un parámetro
171 describiendo un describiendo un movimiento dentro de un archivo, ponga de
185 Si su nueva llamada de sistema :manpage:`xyzzy(2)` manipula un proceso que
192 un manejo más sencillo si los parámetros que son explícitamente 64-bit
196 un puntero.)
212 vía un selftest en ``tools/testing/selftest/``.
214 texto plano en la carta de presentación, o como un parche (separado)
232 El nuevo punto de entrada también necesita un prototipo de función
273 Para resumir, necesita un commit que incluya:
306 incluso si los parámetros de la llamada de sistema incluyen un puntero
309 Sin embargo, existe un par de situaciones donde se necesita una capa de
316 necesita siempre que un argumento de la llamada a sistema es:
318 - un puntero a un puntero
319 - un puntero a un struc conteniendo un puntero (por ejemplo
321 - un puntero a un type entero de tamaño entero variable (``time_t``,
323 - un puntero a un struct conteniendo un type entero de tamaño variable.
326 de los argumentos de la llamada a sistema tiene un argumento que es
328 ``loff_t`` o ``__u64``. En este caso, el valor que llega a un kernel 64-bit
332 (Note que un argumento de una llamada a sistema que sea un puntero a un
341 versión de la implementación se ejecuta como parte de un kernel de 64-bit,
347 El punto de entrada compat también necesita un prototipo de función
393 - (en caso de ser necesario) un struct de mapeo de 32-bit en ``include/linux/compat.h``
404 una columna extra para indicar que un programa del userspace de 32-bit
405 corriendo en un kernel de 64-bit debe llegar al punto de entrada compat::
414 Si hay involucrado un puntero-a-puntero, la decisión es fácil: x32 es
455 Para x86_64, esto es implementado como un punto de entrada ``stub_xyzzy``
461 El equivalente para programas 32-bit corriendo en un kernel 64-bit es
473 invocar un stub que llame a la versión ``compat_sys_``
475 Para completar, también es agradable configurar un mapeo de modo que el
478 ``arch/x86/entry/entry_64.S``. Arreglar esto es tan simple como agregar un
491 El subsistema de auditoría es un caso especial; este incluye funciones
499 nueva llamada al sistema, entonces vale la pena hacer un grep a todo el
510 objetivos es incluir un simple programa self-test en un nuevo directorio
520 soportadas. Por ejemplo, revise si funciona cuando es compilado como un
534 Todas las llamada al sistema nueva deben venir con un man page completo,
559 Al menos en 64-bit x86, será un requerimiento duro desde la v4.17 en
562 sistema donde ``struct pt_regs`` es decodificado on-the-fly en un
608 …con un man-page: https://lore.kernel.org/r/CAKgNAkgMA39AfoSoA5Pe1r9N+ZzfYQNvNPvcRN7tOvRb8+v06Q@mai…
617un campo de tamaño para futura extensibilidad: https://lore.kernel.org/r/20150730083831.GA22182@gm…