From addd85e40880f502f02ef546d554e9ef9e9d1e8a Mon Sep 17 00:00:00 2001 From: Volker Ruppert Date: Tue, 5 Feb 2013 20:57:40 +0000 Subject: [PATCH] don't overwrite log actions per device if default is unchanged - after parsing command line only update actions if default has changed - bx_init_hardware(): extra update of log actions in quick start mode not needed --- bochs/config.cc | 13 +++++++++---- bochs/main.cc | 7 ------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/bochs/config.cc b/bochs/config.cc index 5c8861ca3..3bed849eb 100644 --- a/bochs/config.cc +++ b/bochs/config.cc @@ -1646,17 +1646,22 @@ int bx_read_configuration(const char *rcfile) int bx_parse_cmdline(int arg, int argc, char *argv[]) { - //if (arg < argc) BX_INFO (("parsing command line arguments")); + int level, def_action[N_LOGLEV]; + for (level=0; levelget_default_log_action(level); + } while (arg < argc) { BX_INFO (("parsing arg %d, %s", arg, argv[arg])); parse_line_unformatted("cmdline args", argv[arg]); arg++; } - // update log actions - for (int level=0; levelget_default_log_action(level); - io->set_log_action(level, action); + if (action != def_action[level]) { + io->set_log_action(level, action); + } } bx_set_log_actions_by_device(0); return 0; diff --git a/bochs/main.cc b/bochs/main.cc index bec83518f..6d83a44fa 100644 --- a/bochs/main.cc +++ b/bochs/main.cc @@ -1113,13 +1113,6 @@ void bx_init_hardware() { // all configuration has been read, now initialize everything. - if (SIM->get_param_enum(BXPN_BOCHS_START)->get()==BX_QUICK_START) { - for (int level=0; levelget_default_log_action(level); - io->set_log_action(level, action); - } - } - bx_pc_system.initialize(SIM->get_param_num(BXPN_IPS)->get()); if (SIM->get_param_string(BXPN_LOG_FILENAME)->getptr()[0]!='-') {