Re: PANIC: FAIL in line 187

"Max Dilay" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
objdump -s -j .kip amd64-kernel | grep 0a0
 ffffffffc02130a0 00000000 00000000 00000000 00000000  ................

2006/9/1, Uwe Dannowski <[email protected]>:
>
> Max Dilay wrote:
> > But when Pistachio loading they write PANIC: Fail in line 187.
>
> Short answer: Try GCC < 4.1 if you can. Version 4.0.x should work.
>               I don't have a quick fix for this.
>
> Long answer:
>
> There seems to be a problem with how GCC 4.1 handles the initialization
> of the KIP. I encountered it on IA-32 but didn't have time to take care
> of it, yet. Prior versions of GCC managed to statically initialize the
> memoryinfo field in the KIP which serves as a pointer to the memory
> descriptors. GCC 4.1, however, generates code to initialize it. Thus the
> field contains zeros in the freshly loaded kernel binary that is
> inspected and patched by kickstart. The constructor to initialize the
> meminfo field would only be called once the kernel has been launched if
> it ever got that far. Around 3 or 4 corners, this then manifests in
> kickstart in said "FAIL in line 187".
>
> I'm not sure if that transfers to AMD64, though. I guess it does. You
> can check by inspecting the values at offset 0xA8 ... 0xAF in the KIP
> in your amd64-kernel binary:
>
>   objdump -s -j .kip amd64-kernel | grep 0a0
>
> should yield something like:
>
>   ffffffffc023e0a0 00000000 00000000 d0000000 00030000
>
> where the last two words shouldn't be all zeros.
>
>
> Uwe
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.