[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