forked from len0rd/rockbox
Boot charting support.
Select (B)ootchart in advanced options in configure, and logf will record timings for various stages of boot, for performance comparisons. Format logged is: BC:>function_name,123,80 where 123 is the line number, 80 is the number of ticks since boot. This can be loaded as CSV into a spreadsheet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25426 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
f376fd2f4a
commit
52e528e057
5 changed files with 132 additions and 4 deletions
|
|
@ -33,6 +33,7 @@
|
||||||
#include "skin_engine/skin_engine.h"
|
#include "skin_engine/skin_engine.h"
|
||||||
#include "skin_engine/skin_fonts.h"
|
#include "skin_engine/skin_fonts.h"
|
||||||
#include "statusbar-skinned.h"
|
#include "statusbar-skinned.h"
|
||||||
|
#include "bootchart.h"
|
||||||
|
|
||||||
|
|
||||||
/* call this after loading a .wps/.rwps or other skin files, so that the
|
/* call this after loading a .wps/.rwps or other skin files, so that the
|
||||||
|
|
@ -73,6 +74,7 @@ void settings_apply_skins(void)
|
||||||
#ifdef HAVE_REMOTE_LCD
|
#ifdef HAVE_REMOTE_LCD
|
||||||
screen = skins[i].suffix[0] == 'r' ? SCREEN_REMOTE : SCREEN_MAIN;
|
screen = skins[i].suffix[0] == 'r' ? SCREEN_REMOTE : SCREEN_MAIN;
|
||||||
#endif
|
#endif
|
||||||
|
CHART2(">skin load ", skins[i].suffix);
|
||||||
if (skins[i].setting[0] && skins[i].setting[0] != '-')
|
if (skins[i].setting[0] && skins[i].setting[0] != '-')
|
||||||
{
|
{
|
||||||
snprintf(buf, sizeof buf, WPS_DIR "/%s.%s",
|
snprintf(buf, sizeof buf, WPS_DIR "/%s.%s",
|
||||||
|
|
@ -83,6 +85,7 @@ void settings_apply_skins(void)
|
||||||
{
|
{
|
||||||
skins[i].loadfunc(screen, NULL, true);
|
skins[i].loadfunc(screen, NULL, true);
|
||||||
}
|
}
|
||||||
|
CHART2("<skin load ", skins[i].suffix);
|
||||||
}
|
}
|
||||||
viewportmanager_theme_changed(THEME_STATUSBAR);
|
viewportmanager_theme_changed(THEME_STATUSBAR);
|
||||||
#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
#if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
|
||||||
|
|
|
||||||
48
apps/main.c
48
apps/main.c
|
|
@ -75,6 +75,7 @@
|
||||||
#include "icon.h"
|
#include "icon.h"
|
||||||
#include "viewport.h"
|
#include "viewport.h"
|
||||||
#include "statusbar-skinned.h"
|
#include "statusbar-skinned.h"
|
||||||
|
#include "bootchart.h"
|
||||||
|
|
||||||
#ifdef IPOD_ACCESSORY_PROTOCOL
|
#ifdef IPOD_ACCESSORY_PROTOCOL
|
||||||
#include "iap.h"
|
#include "iap.h"
|
||||||
|
|
@ -136,7 +137,9 @@ int main(void)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
CHART(">init");
|
||||||
init();
|
init();
|
||||||
|
CHART("<init");
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
{
|
{
|
||||||
screens[i].clear_display();
|
screens[i].clear_display();
|
||||||
|
|
@ -167,6 +170,7 @@ int main(void)
|
||||||
global_status.last_volume_change = 0;
|
global_status.last_volume_change = 0;
|
||||||
/* no calls INIT_ATTR functions after this point anymore!
|
/* no calls INIT_ATTR functions after this point anymore!
|
||||||
* see definition of INIT_ATTR in config.h */
|
* see definition of INIT_ATTR in config.h */
|
||||||
|
CHART(">root_menu");
|
||||||
root_menu();
|
root_menu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -414,13 +418,18 @@ static void init(void)
|
||||||
#ifdef CPU_ARM
|
#ifdef CPU_ARM
|
||||||
enable_fiq();
|
enable_fiq();
|
||||||
#endif
|
#endif
|
||||||
|
/* current_tick should be ticking by now */
|
||||||
|
CHART("ticking");
|
||||||
|
|
||||||
lcd_init();
|
lcd_init();
|
||||||
#ifdef HAVE_REMOTE_LCD
|
#ifdef HAVE_REMOTE_LCD
|
||||||
lcd_remote_init();
|
lcd_remote_init();
|
||||||
#endif
|
#endif
|
||||||
font_init();
|
font_init();
|
||||||
|
|
||||||
|
CHART(">show_logo");
|
||||||
show_logo();
|
show_logo();
|
||||||
|
CHART("<show_logo");
|
||||||
lang_init(core_language_builtin, language_strings,
|
lang_init(core_language_builtin, language_strings,
|
||||||
LANG_LAST_INDEX_IN_ARRAY);
|
LANG_LAST_INDEX_IN_ARRAY);
|
||||||
|
|
||||||
|
|
@ -436,7 +445,9 @@ static void init(void)
|
||||||
rtc_init();
|
rtc_init();
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_RTC_RAM
|
#ifdef HAVE_RTC_RAM
|
||||||
|
CHART(">settings_load(RTC)");
|
||||||
settings_load(SETTINGS_RTC); /* early load parts of global_settings */
|
settings_load(SETTINGS_RTC); /* early load parts of global_settings */
|
||||||
|
CHART("<settings_load(RTC)");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
adc_init();
|
adc_init();
|
||||||
|
|
@ -460,10 +471,18 @@ static void init(void)
|
||||||
|
|
||||||
/* Keep the order of this 3 (viewportmanager handles statusbars)
|
/* Keep the order of this 3 (viewportmanager handles statusbars)
|
||||||
* Must be done before any code uses the multi-screen API */
|
* Must be done before any code uses the multi-screen API */
|
||||||
|
CHART(">gui_syncstatusbar_init");
|
||||||
gui_syncstatusbar_init(&statusbars);
|
gui_syncstatusbar_init(&statusbars);
|
||||||
|
CHART("<gui_syncstatusbar_init");
|
||||||
|
CHART(">sb_skin_init");
|
||||||
sb_skin_init();
|
sb_skin_init();
|
||||||
|
CHART("<sb_skin_init");
|
||||||
|
CHART(">gui_sync_wps_init");
|
||||||
gui_sync_wps_init();
|
gui_sync_wps_init();
|
||||||
|
CHART("<gui_sync_wps_init");
|
||||||
|
CHART(">viewportmanager_init");
|
||||||
viewportmanager_init();
|
viewportmanager_init();
|
||||||
|
CHART("<viewportmanager_init");
|
||||||
|
|
||||||
#if CONFIG_CHARGING && (CONFIG_CPU == SH7034)
|
#if CONFIG_CHARGING && (CONFIG_CPU == SH7034)
|
||||||
/* charger_inserted() can't be used here because power_thread()
|
/* charger_inserted() can't be used here because power_thread()
|
||||||
|
|
@ -483,7 +502,9 @@ static void init(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
CHART(">storage_init");
|
||||||
rc = storage_init();
|
rc = storage_init();
|
||||||
|
CHART("<storage_init");
|
||||||
if(rc)
|
if(rc)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
|
@ -498,7 +519,9 @@ static void init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_EEPROM_SETTINGS
|
#ifdef HAVE_EEPROM_SETTINGS
|
||||||
|
CHART(">eeprom_settings_init");
|
||||||
eeprom_settings_init();
|
eeprom_settings_init();
|
||||||
|
CHART("<eeprom_settings_init");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_USBSTACK
|
#ifndef HAVE_USBSTACK
|
||||||
|
|
@ -527,7 +550,9 @@ static void init(void)
|
||||||
|
|
||||||
if (!mounted)
|
if (!mounted)
|
||||||
{
|
{
|
||||||
|
CHART(">disk_mount_all");
|
||||||
rc = disk_mount_all();
|
rc = disk_mount_all();
|
||||||
|
CHART("<disk_mount_all");
|
||||||
if (rc<=0)
|
if (rc<=0)
|
||||||
{
|
{
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
|
|
@ -561,19 +586,32 @@ static void init(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
CHART(">settings_load(ALL)");
|
||||||
settings_load(SETTINGS_ALL);
|
settings_load(SETTINGS_ALL);
|
||||||
|
CHART("<settings_load(ALL)");
|
||||||
|
}
|
||||||
|
|
||||||
if (init_dircache(true) < 0)
|
CHART(">init_dircache(true)");
|
||||||
|
rc = init_dircache(true);
|
||||||
|
CHART("<init_dircache(true");
|
||||||
|
if (rc < 0)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_TAGCACHE
|
#ifdef HAVE_TAGCACHE
|
||||||
remove(TAGCACHE_STATEFILE);
|
remove(TAGCACHE_STATEFILE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHART(">settings_apply(true)");
|
||||||
settings_apply(true);
|
settings_apply(true);
|
||||||
|
CHART("<settings_apply(true)");
|
||||||
|
CHART(">init_dircache(false)");
|
||||||
init_dircache(false);
|
init_dircache(false);
|
||||||
|
CHART("<init_dircache(false)");
|
||||||
#ifdef HAVE_TAGCACHE
|
#ifdef HAVE_TAGCACHE
|
||||||
|
CHART(">init_tagcache");
|
||||||
init_tagcache();
|
init_tagcache();
|
||||||
|
CHART("<init_tagcache");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_EEPROM_SETTINGS
|
#ifdef HAVE_EEPROM_SETTINGS
|
||||||
|
|
@ -581,7 +619,9 @@ static void init(void)
|
||||||
{
|
{
|
||||||
/* In case we crash. */
|
/* In case we crash. */
|
||||||
firmware_settings.disk_clean = false;
|
firmware_settings.disk_clean = false;
|
||||||
|
CHART(">eeprom_settings_store");
|
||||||
eeprom_settings_store();
|
eeprom_settings_store();
|
||||||
|
CHART("<eeprom_settings_store");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
playlist_init();
|
playlist_init();
|
||||||
|
|
@ -614,7 +654,9 @@ static void init(void)
|
||||||
talk_init();
|
talk_init();
|
||||||
#endif /* CONFIG_CODEC != SWCODEC */
|
#endif /* CONFIG_CODEC != SWCODEC */
|
||||||
|
|
||||||
|
CHART(">audio_init");
|
||||||
audio_init();
|
audio_init();
|
||||||
|
CHART("<audio_init");
|
||||||
|
|
||||||
#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_RECORDING) && !defined(SIMULATOR)
|
#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_RECORDING) && !defined(SIMULATOR)
|
||||||
pcm_rec_init();
|
pcm_rec_init();
|
||||||
|
|
@ -636,9 +678,13 @@ static void init(void)
|
||||||
lineout_set(global_settings.lineout_active);
|
lineout_set(global_settings.lineout_active);
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_HOTSWAP_STORAGE_AS_MAIN
|
#ifdef HAVE_HOTSWAP_STORAGE_AS_MAIN
|
||||||
|
CHART("<check_bootfile(false)");
|
||||||
check_bootfile(false); /* remember write time and filesize */
|
check_bootfile(false); /* remember write time and filesize */
|
||||||
|
CHART(">check_bootfile(false)");
|
||||||
#endif
|
#endif
|
||||||
|
CHART("<settings_apply_skins");
|
||||||
settings_apply_skins();
|
settings_apply_skins();
|
||||||
|
CHART(">settings_apply_skins");
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CPU_PP
|
#ifdef CPU_PP
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,7 @@
|
||||||
#include "skin_engine/skin_engine.h"
|
#include "skin_engine/skin_engine.h"
|
||||||
#include "viewport.h"
|
#include "viewport.h"
|
||||||
#include "statusbar-skinned.h"
|
#include "statusbar-skinned.h"
|
||||||
|
#include "bootchart.h"
|
||||||
|
|
||||||
#if CONFIG_CODEC == MAS3507D
|
#if CONFIG_CODEC == MAS3507D
|
||||||
void dac_line_in(bool enable);
|
void dac_line_in(bool enable);
|
||||||
|
|
@ -745,6 +746,7 @@ void settings_apply(bool read_disk)
|
||||||
{
|
{
|
||||||
|
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
int rc;
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
int i;
|
int i;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -841,7 +843,10 @@ void settings_apply(bool read_disk)
|
||||||
&& global_settings.font_file[0] != '-') {
|
&& global_settings.font_file[0] != '-') {
|
||||||
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
||||||
global_settings.font_file);
|
global_settings.font_file);
|
||||||
if (font_load(NULL, buf) < 0)
|
CHART2(">font_load ", global_settings.font_file);
|
||||||
|
rc = font_load(NULL, buf);
|
||||||
|
CHART2("<font_load ", global_settings.font_file);
|
||||||
|
if (rc < 0)
|
||||||
font_reset(NULL);
|
font_reset(NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -851,7 +856,10 @@ void settings_apply(bool read_disk)
|
||||||
&& global_settings.remote_font_file[0] != '-') {
|
&& global_settings.remote_font_file[0] != '-') {
|
||||||
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt",
|
||||||
global_settings.remote_font_file);
|
global_settings.remote_font_file);
|
||||||
if (font_load_remoteui(buf) < 0)
|
CHART2(">font_load_remoteui ", global_settings.remote_font_file);
|
||||||
|
rc = font_load_remoteui(buf);
|
||||||
|
CHART2("<font_load_remoteui ", global_settings.remote_font_file);
|
||||||
|
if (rc < 0)
|
||||||
font_load_remoteui(NULL);
|
font_load_remoteui(NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -860,7 +868,9 @@ void settings_apply(bool read_disk)
|
||||||
if ( global_settings.kbd_file[0]) {
|
if ( global_settings.kbd_file[0]) {
|
||||||
snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd",
|
snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.kbd",
|
||||||
global_settings.kbd_file);
|
global_settings.kbd_file);
|
||||||
|
CHART(">load_kbd");
|
||||||
load_kbd(buf);
|
load_kbd(buf);
|
||||||
|
CHART("<load_kbd");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
load_kbd(NULL);
|
load_kbd(NULL);
|
||||||
|
|
@ -869,16 +879,26 @@ void settings_apply(bool read_disk)
|
||||||
if ( global_settings.lang_file[0]) {
|
if ( global_settings.lang_file[0]) {
|
||||||
snprintf(buf, sizeof buf, LANG_DIR "/%s.lng",
|
snprintf(buf, sizeof buf, LANG_DIR "/%s.lng",
|
||||||
global_settings.lang_file);
|
global_settings.lang_file);
|
||||||
|
CHART(">lang_core_load");
|
||||||
lang_core_load(buf);
|
lang_core_load(buf);
|
||||||
|
CHART("<lang_core_load");
|
||||||
|
CHART(">talk_init");
|
||||||
talk_init(); /* use voice of same language */
|
talk_init(); /* use voice of same language */
|
||||||
|
CHART("<talk_init");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* load the icon set */
|
/* load the icon set */
|
||||||
|
CHART(">icons_init");
|
||||||
icons_init();
|
icons_init();
|
||||||
|
CHART("<icons_init");
|
||||||
|
|
||||||
#ifdef HAVE_LCD_COLOR
|
#ifdef HAVE_LCD_COLOR
|
||||||
if (global_settings.colors_file[0])
|
if (global_settings.colors_file[0])
|
||||||
|
{
|
||||||
|
CHART(">read_color_theme_file");
|
||||||
read_color_theme_file();
|
read_color_theme_file();
|
||||||
|
CHART("<read_color_theme_file");
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef HAVE_LCD_COLOR
|
#ifdef HAVE_LCD_COLOR
|
||||||
|
|
@ -901,7 +921,9 @@ void settings_apply(bool read_disk)
|
||||||
lcd_scroll_delay(global_settings.scroll_delay);
|
lcd_scroll_delay(global_settings.scroll_delay);
|
||||||
|
|
||||||
|
|
||||||
|
CHART(">set_codepage");
|
||||||
set_codepage(global_settings.default_codepage);
|
set_codepage(global_settings.default_codepage);
|
||||||
|
CHART("<set_codepage");
|
||||||
|
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
#ifdef HAVE_CROSSFADE
|
#ifdef HAVE_CROSSFADE
|
||||||
|
|
@ -966,7 +988,9 @@ void settings_apply(bool read_disk)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
/* already called with THEME_STATUSBAR in settings_apply_skins() */
|
/* already called with THEME_STATUSBAR in settings_apply_skins() */
|
||||||
|
CHART(">viewportmanager_theme_changed");
|
||||||
viewportmanager_theme_changed(THEME_UI_VIEWPORT|THEME_LANGUAGE|THEME_BUTTONBAR);
|
viewportmanager_theme_changed(THEME_UI_VIEWPORT|THEME_LANGUAGE|THEME_BUTTONBAR);
|
||||||
|
CHART("<viewportmanager_theme_changed");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
42
firmware/export/bootchart.h
Normal file
42
firmware/export/bootchart.h
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 by Torne Wuff
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
#ifndef BOOTCHART_H
|
||||||
|
#define BOOTCHART_H
|
||||||
|
#include <config.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "../include/_ansi.h"
|
||||||
|
#include "logf.h"
|
||||||
|
#include "kernel.h"
|
||||||
|
|
||||||
|
#ifdef DO_BOOTCHART
|
||||||
|
|
||||||
|
/* we call _logf directly to avoid needing LOGF_ENABLE per-file */
|
||||||
|
#define CHART2(x,y) _logf("BC:%s%s,%d,%ld", (x), (y), __LINE__, current_tick)
|
||||||
|
#define CHART(x) CHART2(x,"")
|
||||||
|
|
||||||
|
#else /* !DO_BOOTCHART */
|
||||||
|
|
||||||
|
#define CHART2(x,y)
|
||||||
|
#define CHART(x)
|
||||||
|
|
||||||
|
#endif /* DO_BOOTCHART */
|
||||||
|
|
||||||
|
#endif /* BOOTCHART_H */
|
||||||
15
tools/configure
vendored
15
tools/configure
vendored
|
|
@ -12,6 +12,7 @@
|
||||||
CCOPTS="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe"
|
CCOPTS="-W -Wall -Wundef -O -nostdlib -ffreestanding -Wstrict-prototypes -pipe"
|
||||||
|
|
||||||
use_logf="#undef ROCKBOX_HAS_LOGF"
|
use_logf="#undef ROCKBOX_HAS_LOGF"
|
||||||
|
use_bootchart="#undef DO_BOOTCHART"
|
||||||
|
|
||||||
scriptver=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
|
scriptver=`echo '$Revision$' | sed -e 's:\\$::g' -e 's/Revision: //'`
|
||||||
|
|
||||||
|
|
@ -366,7 +367,7 @@ whichadvanced () {
|
||||||
interact=1
|
interact=1
|
||||||
echo ""
|
echo ""
|
||||||
echo "Enter your developer options (press enter when done)"
|
echo "Enter your developer options (press enter when done)"
|
||||||
printf "(D)EBUG, (L)ogf, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile"
|
printf "(D)EBUG, (L)ogf, (B)ootchart, (S)imulator, (P)rofiling, (V)oice, (W)in32 crosscompile"
|
||||||
if [ "$memory" = "2" ]; then
|
if [ "$memory" = "2" ]; then
|
||||||
printf ", (8)MB MOD"
|
printf ", (8)MB MOD"
|
||||||
fi
|
fi
|
||||||
|
|
@ -407,6 +408,11 @@ whichadvanced () {
|
||||||
echo "logf() support enabled"
|
echo "logf() support enabled"
|
||||||
logf="yes"
|
logf="yes"
|
||||||
;;
|
;;
|
||||||
|
[Bb])
|
||||||
|
echo "bootchart enabled (logf also enabled)"
|
||||||
|
bootchart="yes"
|
||||||
|
logf="yes"
|
||||||
|
;;
|
||||||
[Ss])
|
[Ss])
|
||||||
echo "Simulator build enabled"
|
echo "Simulator build enabled"
|
||||||
simulator="yes"
|
simulator="yes"
|
||||||
|
|
@ -493,6 +499,9 @@ whichadvanced () {
|
||||||
if [ "yes" = "$logf" ]; then
|
if [ "yes" = "$logf" ]; then
|
||||||
use_logf="#define ROCKBOX_HAS_LOGF 1"
|
use_logf="#define ROCKBOX_HAS_LOGF 1"
|
||||||
fi
|
fi
|
||||||
|
if [ "yes" = "$bootchart" ]; then
|
||||||
|
use_bootchart="#define DO_BOOTCHART 1"
|
||||||
|
fi
|
||||||
if [ "yes" = "$simulator" ]; then
|
if [ "yes" = "$simulator" ]; then
|
||||||
debug="-DDEBUG"
|
debug="-DDEBUG"
|
||||||
extradefines="$extradefines -DSIMULATOR"
|
extradefines="$extradefines -DSIMULATOR"
|
||||||
|
|
@ -2904,6 +2913,7 @@ fi
|
||||||
sed > autoconf.h \
|
sed > autoconf.h \
|
||||||
-e "s,@ENDIAN@,${defendian},g" \
|
-e "s,@ENDIAN@,${defendian},g" \
|
||||||
-e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
|
-e "s,^#undef ROCKBOX_HAS_LOGF,$use_logf,g" \
|
||||||
|
-e "s,^#undef DO_BOOTCHART,$use_bootchart,g" \
|
||||||
-e "s,@config_rtc@,$config_rtc,g" \
|
-e "s,@config_rtc@,$config_rtc,g" \
|
||||||
-e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
|
-e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
|
||||||
-e "s,@RBDIR@,${rbdir},g" \
|
-e "s,@RBDIR@,${rbdir},g" \
|
||||||
|
|
@ -2921,6 +2931,9 @@ sed > autoconf.h \
|
||||||
/* Define this if you build rockbox to support the logf logging and display */
|
/* Define this if you build rockbox to support the logf logging and display */
|
||||||
#undef ROCKBOX_HAS_LOGF
|
#undef ROCKBOX_HAS_LOGF
|
||||||
|
|
||||||
|
/* Define this to record a chart with timings for the stages of boot */
|
||||||
|
#undef DO_BOOTCHART
|
||||||
|
|
||||||
/* optional define for a backlight modded Ondio */
|
/* optional define for a backlight modded Ondio */
|
||||||
@have_backlight@
|
@have_backlight@
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue