[OpenBIOS] [commit] r969 - in trunk/openbios-devel/arch: ppc/qemu ppc64/qemu

Andreas Färber andreas.faerber at web.de
Sat Nov 27 11:54:34 CET 2010


Am 26.11.2010 um 20:52 schrieb Blue Swirl:

> On Thu, Nov 25, 2010 at 10:04 PM, Andreas Färber <andreas.faerber at web.de 
> > wrote:
>> Am 25.11.2010 um 22:56 schrieb repository service:
>>
>>> Author: afaerber
>>> Date: Thu Nov 25 22:56:23 2010
>>> New Revision: 969
>>> URL: http://tracker.coreboot.org/trac/openbios/changeset/969
>>>
>>> Log:
>>> ppc: Set up TOC base for ppc64
>>>
>>> r2 points to TOC base, __toc_start + 0x8000.
>>> This value is stored as part of the function descriptor.
>>>
>>> Include some related ELF sections in the linker script.
>>>
>>> Cc: Alexander Graf <agraf at suse.de>
>>> Cc: Segher Boessenkool <segher at kernel.crashing.org>
>>> Signed-off-by: Andreas Färber <andreas.faerber at web.de>
>>
>> Starting with this revision,
>>
>> qemu-system-ppc64 -bios .../obj-ppc64/openbios-qemu.elf -prom-env
>> 'auto-boot?=false'
>>
>> should take you to the Forth prompt.
>
> I still get this:
>  GEN   bootstrap.dict
> panic: segmentation violation at 0x9034862c
> dict=0x2aae90348010 here=0x2aae90348638(dict+0x628) pc=0x0(dict 
> +0x6fcb7ff0)
> dstackcnt=0 rstackcnt=0 instruction=deadbeef
> dstack: 0x0
> rstack: 0x0
> Writing dictionary core file
>
> This happens on a 64 bit host, but not on a 32 bit host.

Same here:

$ make V=1 HOSTCC="gcc -arch ppc64"
[...]
./forthstrap -I../forth/bootstrap/ -I../forth/bootstrap/ -I../forth/ 
lib/ -I../forth/device/ -I../forth/debugging/ -I../forth/admin/ -I../ 
forth/util/ -I../forth/packages/ -I../forth/system/ -I../libopenbios/ - 
I../packages/ -I../drivers/ -I../arch/ppc/ -I./forth -D bootstrap.dict  
-c bootstrap.dict-console.log  ../forth/bootstrap/start.fs
panic: segmentation violation at 0x30061c
dict=0x100300000 here=0x100300628(dict+0x628) pc=0x0(dict+0xffd00000)
dstackcnt=0 rstackcnt=0 instruction=deadbeef
dstack: 0x0
rstack: 0x0
Writing dictionary core file
make: *** [bootstrap.dict] Error 1

Changing config.mak to use - 
DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH (despite ppc64 being 64- 
bit) fixes this.

This boils down to my remarks that this config mechanism is not purely  
about bitwidth but also about cell size. Not sure how to fix properly...

Andreas


More information about the OpenBIOS mailing list