[OpenBIOS] [PATCH] ppc: Move noreturn attribute

Andreas Färber andreas.faerber at web.de
Sun Oct 17 15:20:33 CEST 2010


Am 17.10.2010 um 14:16 schrieb Alexander Graf:

> On 17.10.2010, at 14:05, Andreas Färber wrote:
>
>> Otherwise GCC 4.2.4 complains that panic() marked noreturn does  
>> return.
>
> Thanks, that one hit me too and I didn't know how to fix it  
> properly :). Applied.

Thanks. In case you're playing with ppc64 I'm attaching my current  
diff. It made it compile but it hangs both ppc and ppc64, no time to  
investigate further right now.

Most problems were caused by the assumption that a conversion between  
ucell und void* is possible; I added (unsigned long) casts or reused  
the cell2pointer/pointer2cell macros. I also played with a new addr_t  
type as suggested earlier, to allow 64-bit PCI addresses in the  
drivers; ofmem is still missing this capability. I ran into the same  
relocation problem for the vectors 0x300 and 0x400 I posted for - 
mcpu=powerpc64; I hacked around it by temporarily placing the epilogue  
into the vector itself.

Not sure if we need to worry about ppc64 function descriptors somewhere?

And might we need to turn on LF=1 before entering 64-bit C code?

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ppc64.diff
Type: application/octet-stream
Size: 35314 bytes
Desc: not available
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20101017/4aec6299/attachment-0001.obj>
-------------- next part --------------



More information about the OpenBIOS mailing list