[FUG-BR] URGENTE: "panic: No BIOS smap info from loader!"

Carlos A. M. dos Santos unixmania em gmail.com
Segunda Julho 23 23:24:45 BRT 2007


On 7/23/07, joao maykon mendes <joaomaykonm em gmail.com> wrote:
> Cara se vc acha que o que te disse não é isso, ou se vc se acha muito para
> ler este tutorial, não sei o que vc está fazendo aqui o Linus Torvards.
> Prego!

Parafuso! Tem gente que não entende uma brincadeira, então vamos a uma
explicação detalhada.

João, o problema discutido aqui não tem nada a ver com sistema de
arquivos. A mensagem é gerada pelo kernel durante a tentativa de
descobrir qual é o tamanho da memória e outras informações correlatas.
Quem faz isso é a função "getmemsize", neste caso específico a que
está em

     /usr/src/sys/amd64/amd64/machdep.c

Essa função, se olhares bem, faz exatamente aquilo que eu disse em
minha mensagem de hoje de manhã.

O Kernel i386 tenta obter a mesma informação que o AMD64, mas usa a
interrupção 12h, a não ser que ela esteja sinalizada com ruim; se
estiver, getmemsize também chama INT 15:E820. A diferença é que vfaz
isso com modo de endereçamento vm86. Olha o código da função
getmemsize em

     /usr/src/sys/i386/i386/machdep.c

O problema com essa máquina da HP parece ser que INT 15:E820 não
funciona direito se o processador não estiver em modo vm86, por isso o
kernel AMD64 não funciona.

Pra completar: não é preciso ser Linus Torvalds pra entender o
problema. Basta saber o que procurar, e onde. Linus Torvalds, aliás,
não tem nada a ver com este assunto. Ele não mexe no kernel do
FreeBSD. :-)

Sugestões de leitura:

     http://en.wikipedia.org/wiki/VM86
     http://en.wikipedia.org/wiki/BIOS
     http://en.wikipedia.org/wiki/BIOS_Interrupt_Calls

Comeca no início, depois continua até chegar ao fim. Depois disso tu
voltas e nós podemos continuar a conversa, tá?

-- 
Carlos A. M. dos Santos


Mais detalhes sobre a lista de discussão freebsd