This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap 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: What about MIPS support?


On 08/17/2012 09:32 AM, Hallsmark, Per wrote:
> Dear systemtap gurus,
> 
> Are there any plans in near future for a MIPS port?

I don't know of any plans, but we'll welcome patches. :)

> I've also tried a bit with release 1.7 (latest release possible that 
> didn't require a lot of changes in our build environment, like 
> upgrading elfutils etc). Unfortunately our kernel didn't have
> support for kprobes so that had to be backported.

We'll of course prefer that any patches are on git master. Perhaps you
can configure --with-elfutils=/path/to/new/elfutils to build stap with
its own copy.  Anything else in your build environment holding you back?

> So I obviously now need to add more mips support in systemtap 
> (started with this in tapsets/mips etc)
> 
> Any guidance on what is needed todo for a new arch?

Right, there will need to be tapset/$arch for specific functions, and
now some of that is split into tapset/linux/$arch too.

Then runtime/loc2c-runtime.h also has a lot of arch-specific code that
you'll need to fill in for mips, in order to do any register or memory
access in your probes.

Those are the biggies I can think of, but smaller stuff may also be
sprinkled about.  For instance, if you want process.mark probes (SDT),
there's a tiny bit of arch #ifdefs in sdt.h, and then tapsets.cxx
sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg() will need to
learn mips too.

Wade Farnsworth might be able to identify more points, as he's been
working to get ARM support in shape.  It would be nice to start a
porting guide on our wiki for these things.

> Anyone started already with mips?

Just you, afaik. ;)


Josh


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