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:
parent
2b019e5f8b
commit
1fa7f83873
|
@ -25,6 +25,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800"
|
||||||
ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
|
ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
|
||||||
|
|
||||||
MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost"
|
MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost"
|
||||||
|
MACHINE_EXTRA_RDEPENDS = "cx3110x"
|
||||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init"
|
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init"
|
||||||
|
|
||||||
MACHINE_TASK_PROVIDER = "task-base"
|
MACHINE_TASK_PROVIDER = "task-base"
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
|
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
|
||||||
PR = "r4"
|
PR = "r5"
|
||||||
|
|
||||||
PACKAGES = "task-base \
|
PACKAGES = "task-base \
|
||||||
task-base-oh-minimal"
|
task-base-oh-minimal"
|
||||||
|
|
Loading…
Reference in New Issue