[OpenBIOS] [FYI 2/2] ppc: ISI/DSI WIP

Andreas Färber andreas.faerber at web.de
Sun Nov 21 11:44:42 CET 2010


Am 16.11.2010 um 00:43 schrieb Alexander Graf:

> On 16.11.2010, at 00:39, Andreas Färber wrote:
>
>> Dereference function descriptors.
>> ---
>> Just putting this out there. In addition to function descriptor deref
>> (still in need of macros like LOAD_REG_ADDR_IMMEDIATE and  
>> LOAD_REG_ADDR)
>> I checked whether it makes any difference whether we simulate the  
>> original
>> ba by a bctr - not noticably. Also FYI my unsuccessful ldscript  
>> attempts.
>>
>> arch/ppc/qemu/start.S    |   30 ++++++++++++++++++++++++++++++
>> arch/ppc64/qemu/ldscript |   43 ++++++++++++++++++++++++++++++++++++ 
>> +++++--
>> 2 files changed, 71 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
>> index 6cf20cf..1a63082 100644
>> --- a/arch/ppc/qemu/start.S
>> +++ b/arch/ppc/qemu/start.S
>> @@ -274,15 +274,33 @@ GLOBL(__vectors):
>>
>> call_dsi_exception:
>> 	LOAD_REG_IMMEDIATE(r3, dsi_exception)
>> +#ifdef __powerpc64__
>> +    ld r3, 0(r3)
>> +#endif
>
> Have you checked if .dsi_exception is available? Usually the dotted  
> one is the version without indirection.

Not yet, but that wouldn't spare us the special-handling for ppc64  
either, since ppc wouldn't know the dotted version, right? Should we  
#define it then? Linux uses LOAD_ADDR_REG() macro, going via GOT,  
which wouldn't work ATM.

Andreas


More information about the OpenBIOS mailing list