Eu não sou especialista em drivers de dispositivos, no entanto, aqui estão algumas dicas para o seu R & D:
- se a memória estiver marcada como "reservada", o SO não poderá tocá-la; você terá que encontrar uma maneira de ter o BIOS marcando-o como disponível para o sistema operacional, ou usar ioctl s para controlá-lo
- se o Linux pudesse ver a memória, você ainda não teria uma maneira fácil de evitar que o Linux o utilizasse como qualquer outro bloco de RAM; uma tentativa poderia ser tentada marcando tal RAM como "ruim" e então modificando o kernel para ainda fazer um uso especial dele (por favor verifique a documentação do kernel a respeito disso, ele mudou muito desde a última vez Eu invadi-lo e está evoluindo a uma grande velocidade)
- considerando o acima como um estudo de viabilidade preliminar (e não definitivo nem exaustivo), eu diria que escrever seu driver blockdevice de ramdisk é a opção mais sensata no seu caso, e talvez você deva contribuir com ele para o kernel Linux e / ou junte-se a pessoas que já estejam tentando isso (talvez um lugar melhor para essa questão seja a lista de discussão do Kernel do Linux , se você ainda não postou lá)
Algumas outras fontes relevantes:
- Driver atual do ramdisk
- Um documento um pouco antigo (2005) sobre drivers de blocos
- A simples driver de bloco para o kernel Linux 2.6.31 (cuidado: muito mudou no tempo)