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 .

Nota: os valores de sinalização possíveis para o parâmetro flags podem ser localizados em /usr/include/sys/dma.h. Essas bandeiras podem ser logicamente ORed juntas para refletir as características desejadas.

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.