This is the mail archive of the mailing list for the SID project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SMP board : Bug in SID or configuration file ?

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/

From: (Frank Ch. Eigler)
To: "moris dong" <>
Subject: Re: SMP board : Bug in SID or configuration file ?
Date: 30 Mar 2005 14:03:56 -0500

"moris dong" <> 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.


> 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

> 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!

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]