nokia800: Add cx3110x to image

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1779 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2007-05-25 23:01:54 +00:00
parent 2b019e5f8b
commit 1fa7f83873
3 changed files with 234 additions and 1 deletions

View File

@ -25,6 +25,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800"
ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost"
MACHINE_EXTRA_RDEPENDS = "cx3110x"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init"
MACHINE_TASK_PROVIDER = "task-base"

View File

@ -0,0 +1,232 @@
Work in Progress- This patch breaks output_symbol_bytes
---
ChangeLog | 9 +++++++++
libpp/callgraph_container.cpp | 10 ++++++++--
libpp/callgraph_container.h | 14 ++++++++++----
libpp/format_output.cpp | 30 +++++++++++++++++++++++++-----
libpp/format_output.h | 6 +++---
pp/opreport.cpp | 5 +++--
pp/opreport_options.cpp | 4 ++--
7 files changed, 60 insertions(+), 18 deletions(-)
Index: oprofile1/pp/opreport.cpp
===================================================================
--- oprofile1.orig/pp/opreport.cpp 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/pp/opreport.cpp 2007-05-24 20:07:14.000000000 +0100
@@ -555,10 +555,11 @@ int opreport(options::spec const & spec)
output_diff_symbols(pc1, pc2, multiple_apps);
} else if (options::callgraph) {
- callgraph_container cg_container;
+ callgraph_container cg_container(options::debug_info,
+ options::details);
cg_container.populate(options::archive_path, iprofiles,
options::extra_found_images,
- options::debug_info, options::threshold,
+ options::threshold,
options::merge_by.lib, options::symbol_filter);
output_cg_symbols(cg_container, multiple_apps);
Index: oprofile1/ChangeLog
===================================================================
--- oprofile1.orig/ChangeLog 2007-05-24 18:30:47.000000000 +0100
+++ oprofile1/ChangeLog 2007-05-24 20:07:14.000000000 +0100
@@ -1,5 +1,14 @@
2007-05-24 Richard Purdie <rpurdie@openedhand.com>
+ * libpp/callgraph_container.cpp:
+ * libpp/callgraph_container.h:
+ * libpp/format_output.cpp:
+ * libpp/format_output.h:
+ * pp/opreport.cpp:
+ * pp/opreport_options.cpp: Add callgraph XML detail support
+
+2007-05-24 Richard Purdie <rpurdie@openedhand.com>
+
* events/arm/xscale1/events:
* events/arm/xscale2/events: Add extra Xscale PMU event definitions
Index: oprofile1/libpp/callgraph_container.cpp
===================================================================
--- oprofile1.orig/libpp/callgraph_container.cpp 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/libpp/callgraph_container.cpp 2007-05-24 20:07:14.000000000 +0100
@@ -391,15 +391,21 @@ const symbol_collection & arc_recorder::
return cg_syms;
}
+callgraph_container::callgraph_container(bool debug_info, bool need_details)
+ :
+ pc(debug_info, need_details),
+ debug_info(debug_info)
+{
+}
+
void callgraph_container::populate(string const & archive_path,
list<inverted_profile> const & iprofiles,
- extra_images const & extra, bool debug_info, double threshold,
+ extra_images const & extra, double threshold,
bool merge_lib, string_filter const & sym_filter)
{
// non callgraph samples container, we record sample at symbol level
// not at vma level.
- profile_container pc(debug_info, false);
list<inverted_profile>::const_iterator it;
list<inverted_profile>::const_iterator const end = iprofiles.end();
Index: oprofile1/libpp/callgraph_container.h
===================================================================
--- oprofile1.orig/libpp/callgraph_container.h 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/libpp/callgraph_container.h 2007-05-24 20:07:14.000000000 +0100
@@ -19,8 +19,8 @@
#include "symbol.h"
#include "symbol_functors.h"
#include "string_filter.h"
+#include "profile_container.h"
-class profile_container;
class inverted_profile;
class profile_t;
class extra_images;
@@ -103,6 +103,8 @@ private:
*/
class callgraph_container {
public:
+ callgraph_container(bool debug_info, bool need_details);
+
/**
* Populate the container, must be called once only.
* @param archive_path oparchive prefix path
@@ -118,9 +120,8 @@ public:
*/
void populate(std::string const & archive_path,
std::list<inverted_profile> const & iprofiles,
- extra_images const & extra, bool debug_info,
- double threshold, bool merge_lib,
- string_filter const & sym_filter);
+ extra_images const & extra, double threshold,
+ bool merge_lib, string_filter const & sym_filter);
/// return hint on how data must be displayed.
column_flags output_hint() const;
@@ -131,6 +132,9 @@ public:
// return all the cg symbols
const symbol_collection & get_symbols() const;
+ // profile container callgraph is based on
+ profile_container pc;
+
private:
/**
* Record caller/callee for one cg file
@@ -162,6 +166,8 @@ private:
profile_container const & pc, bool debug_info,
bool merge_lib);
+ bool debug_info;
+
/// record all main symbols
void add_symbols(profile_container const & pc);
Index: oprofile1/pp/opreport_options.cpp
===================================================================
--- oprofile1.orig/pp/opreport_options.cpp 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/pp/opreport_options.cpp 2007-05-24 20:07:14.000000000 +0100
@@ -165,8 +165,8 @@ void check_options(bool diff)
if (callgraph) {
symbols = true;
- if (details) {
- cerr << "--callgraph is incompatible with --details" << endl;
+ if (details && !xml) {
+ cerr << "--callgraph is incompatible with --details without --xml" << endl;
do_exit = true;
}
Index: oprofile1/libpp/format_output.cpp
===================================================================
--- oprofile1.orig/libpp/format_output.cpp 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/libpp/format_output.cpp 2007-05-24 20:07:14.000000000 +0100
@@ -594,9 +594,9 @@ xml_formatter::
xml_formatter(profile_container const * p,
symbol_collection & s)
:
+ need_details(false),
profile(p),
- symbols(s),
- need_details(false)
+ symbols(s)
{
if (profile)
counts.total = profile->samples_count();
@@ -673,8 +673,8 @@ void xml_formatter::output_symbol_data(o
if (name.size() > 0 && name[0] != '?') {
output_attribute(out, datum, ff_vma, STARTING_ADDR);
- if (need_details)
- xml_support->output_symbol_bytes(bytes_out, symb, sd_it->second);
+ //if (need_details)
+ // xml_support->output_symbol_bytes(bytes_out, symb, sd_it->second);
}
out << close_element();
@@ -843,7 +843,7 @@ output_attribute(ostream & out, field_da
xml_cg_formatter::
xml_cg_formatter(callgraph_container const * cg, symbol_collection & s)
:
- xml_formatter(0, s),
+ xml_formatter(&cg->pc, s),
callgraph(cg)
{
counts.total = callgraph->samples_count();
@@ -946,6 +946,26 @@ output_symbol(ostream & out,
out << init_attr(ID_REF, indx);
+ if (need_details) {
+ ostringstream details;
+ symbol_details_t & sd = symbol_details[indx];
+ size_t const detail_lo = sd.index;
+
+ string detail_str = output_symbol_details(symb, sd.index, lo, hi);
+
+ if (detail_str.size() > 0) {
+ if (sd.id < 0)
+ sd.id = indx;
+ details << detail_str;
+ }
+
+ if (sd.index > detail_lo) {
+ sd.details = sd.details + details.str();
+ out << init_attr(DETAIL_LO, detail_lo);
+ out << init_attr(DETAIL_HI, sd.index-1);
+ }
+ }
+
out << close_element(NONE, true);
out << open_element(CALLERS);
Index: oprofile1/libpp/format_output.h
===================================================================
--- oprofile1.orig/libpp/format_output.h 2007-05-24 15:32:20.000000000 +0100
+++ oprofile1/libpp/format_output.h 2007-05-24 20:07:14.000000000 +0100
@@ -249,6 +249,9 @@ public:
// output SymbolData XML elements
void output_symbol_data(std::ostream & out);
+ /// true if we need to show details for each symbols
+ bool need_details;
+
private:
/// container we work from
profile_container const * profile;
@@ -256,9 +259,6 @@ private:
// ordered collection of symbols associated with this profile
symbol_collection & symbols;
- /// true if we need to show details for each symbols
- bool need_details;
-
// count of DetailData items output so far
size_t detail_count;

View File

@ -3,7 +3,7 @@
#
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
PR = "r4"
PR = "r5"
PACKAGES = "task-base \
task-base-oh-minimal"