d_map_attr Kernel Service
Finalidad
Cambia los atributos asociados a un manejador DMA.
Sintaxis
Parámetros
| Elemento | Descripción |
|---|---|
| descriptor de contexto | Indica el descriptor de contexto exclusivo devuelto por el servicio de kernel de d_map_init_ext . |
| cmd | Especifica uno de los siguientes distintivos:
|
| attr | Debe establecer este parámetro en el valor de size64_t *. Este parámetro establece la cantidad mínima o la cantidad deseada de memoria correlacionable de E/S en función del valor especificado del parámetro cmd . |
| attr_size | Debe establecer este parámetro en el valor de sizeof (size64_t). Este parámetro establece la cantidad mínima o la cantidad deseada de memoria correlacionable de E/S en función del valor especificado del parámetro cmd . |
Descripción
El servicio de kernel de d_map_attr puede cambiar ciertos atributos de la estructura d_handle_t en caso de que cambien las necesidades de un controlador de dispositivo durante el tiempo de ejecución. Por ejemplo, si un controlador de dispositivo necesita más espacio de DMA en tiempo de ejecución, puede llamar al servicio de kernel de d_map_attr para solicitar un aumento en el espacio de correlación. El servicio de kernel de d_map_attr no es un servicio de kernel exportado, sino una rutina de programa de utilidad específica de bus determinada por el servicio de kernel de d_map_init_ext y proporcionada al llamante a través de la estructura d_handle .
Entorno de ejecución
El servicio de kernel de d_map_attr se puede llamar desde el entorno de proceso en INTBASE. La serialización con otros servicios de DMA como el servicio d_map_page y el servicio d_unmap_page es responsabilidad del llamante.
Valores de retorno
| Elemento | Descripción |
|---|---|
| DMA_SUCC | Indica una finalización satisfactoria. |
| EINVAL_D_MAP_ATTR | Indica que el parámetro cmd especificado no es válido. |
| ENOMM_D_MAP_ATTR | Indica que no puede cambiar la memoria correlacionable de E/S mínima o deseada. |