d_map_init Serviço do kernel
Propósito
Aloca e inicializa recursos para execução de DMA com dispositivos PCI e ISA.
Sintaxe
#include <sys/dma.h>
struct d_handle* d_map_init (bid, flags, bus_flags, channel)
int bid;
int flags;
int bus_flags;
uint channel;Parâmetros
| Item | Descrição |
|---|---|
| lance | Especifica o identificador do barramento. |
| sinalizadores | Descreve o mapeamento. |
| bandeiras_de_ônibus | Especifica as bandeiras de barramento de destino. |
| canal | Indica a designação canal específica para o barramento. |
Descrição
O serviço kernel d_map_init aloca e inicializa recursos necessários para o gerenciamento de operações DMA e retorna um cabo exclusivo para ser usado em chamadas de serviços DMA subsequentes. O cabo é um ponteiro para uma estrutura d_handle alocada por d_map_init a partir do heap pintado para o dispositivo. O driver de dispositivo usa os endereços de função fornecidos no cabo para acessar os serviços do DMA específicos para o seu barramento host. O serviço d_map_init retorna um erro DMA_FAIL quando os recursos estão indisponíveis ou não podem ser alocados.
O parâmetro canal é o número do canal atribuído para o dispositivo, se houver. Alguns dispositivos e ou ônibus podem não ter o conceito de canais. Por exemplo, um driver de dispositivo ISA passaria em seu canal atribuído DMA no parâmetro canal .
Ambiente de Execução
O serviço kernel d_map_init só deve ser chamado a partir do ambiente do processo.
Valores De Retorno
| Item | Descrição |
|---|---|
| DMA_FAIL | Indica que os recursos estão indisponíveis. Nenhum registro foi concluído. |
| struct d_handle * | Indica conclusão bem-sucedida. |