Re: SMP board : Bug in SID or configuration file ?
"moris dong" <[email protected]>
| Newsgroups | gmane.comp.emulators.sid.devel |
|---|---|
| Message-ID | <[email protected]> |
Here is the GDB backtrace:
(gdb) file sid
Reading symbols from sid...done.
(gdb) set args hello.arm.send
(gdb) run
Starting program: /tmp/local/bin/sid hello.arm.send
Program received signal SIGSEGV, Segmentation fault.
0x402786da in arm7f::arm7f_cpu::arm_pbb_run() (this=0x80eb410) at
arm-semsw.cxx:677
677 fragpc = vpc->execute.cgoto.frags;
(gdb) bt
#0 0x402786da in arm7f::arm7f_cpu::arm_pbb_run() (this=0x80eb410) at
arm-semsw.cxx:677
#1 0x401f0675 in arm7f::arm7f_cpu::step_arm_pbb() (this=0x80eb410) at
arm7f.cxx:571
#2 0x401ef711 in arm7f::arm7f_cpu::step_insns() (this=0x80eb410) at
arm7f.cxx:209
#3 0x401da3a3 in sidutil::basic_cpu::step_pin_handler(unsigned)
(this=0x80eb4d0) at sidcpuutil.h:278
#4 0x401de50c in
sidutil::callback_pin<sidutil::basic_cpu>::driven(unsigned) (this=0x80eb410,
v=0)
at sidpinutil.h:507
#5 0x406887f5 in
scheduler_component::generic_scheduler<scheduler_component::target_time_keeper>::advance_any()
(
this=0x81074d4) at sidpinutil.h:200
#6 0x40681ae2 in
scheduler_component::scheduler_component<scheduler_component::generic_scheduler<scheduler_component::target_time_keeper>
>::advance(unsigned) (this=0x8107478) at compSched.cxx:773
#7 0x406972e4 in
sidutil::callback_pin<scheduler_component::scheduler_component<scheduler_component::generic_scheduler<scheduler_component::target_time_keeper>
> >::driven(unsigned) (this=0x80eb410, v=1) at sidpinutil.h:507
#8 0x080a6737 in sidutil::output_pin::list_output::driven(unsigned)
(this=0x80c4400, v=1) at stl_iterator.h:593
#9 0x0809a84a in cfgroot_component::run(unsigned) (this=0x80c4318) at
sidpinutil.h:200
#10 0x080a9efb in sidutil::callback_pin<cfgroot_component>::driven(unsigned)
(this=0x80eb410, v=0)
at sidpinutil.h:507
#11 0x08060d91 in main (argc=2, argv=0xbfffed64) at mainDynamic.cxx:937
#12 0x420156a4 in __libc_start_main () from /lib/tls/libc.so.6
>From: [email protected] (Frank Ch. Eigler)
>To: "moris dong" <[email protected]>
>CC: [email protected]
>Subject: Re: SMP board : Bug in SID or configuration file ?
>Date: 30 Mar 2005 14:03:56 -0500
>
>
>"moris dong" <[email protected]> writes:
>
> > I tried to set a simple configuration file for a two-processor SMP
> > board (see below). I use two loaders and two gloss (angel)
> > instances, one per CPU.
>
>Good.
>
> > I use a remapper (MMU?) so the addresses generated by the second
> > processor will not conflict with the addresses generated by the
> > first [...]
>
>You can also configure a hw-mapper-basic component to remap addresses
>(see the "mapped_base" option).
>
>
> > [...] But, when I enable the two CPUs (connect-pin target-sched
> > 0-event -> cpu1 & connect-pin target-sched 1-event -> cpu2) I get a
> > segmentation fault.
>
>That's a bug. SID should not SEGV even on bad configuration. Could
>run SID under a debugger and report the backtrace at the point of
>crash?
>
> > 1. What is wrong with my configuration file that is causing this
> > core-dump ? [...]
>
>Just glancing over it, nothing obvious is wrong.
>
> > 3. [...]
> > How can I get two processes to run in a thread-like manner, sharing
> > the memory, doing locks etc. What is the programing model (pthreads
> > ?), how do I write such a program for SID and how do I start it ?
>
>Such functionality can only be layered above sid, within the OS you
>would run on the simulator. GLOSS is the only piece that emulates
>some aspect of the software layer, and extending it to implementing
>multithreading system calls would be a big job.
>
>Think of SID as primarily modelling hardware, its components like the
>integrated circuits; its configuration like the pattern of connections
>etched into a printed circuit board.
>
>
>- FChE
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/