Author: janderwald
Date: Tue May 13 11:22:31 2008
New Revision: 33496
URL:
http://svn.reactos.org/svn/reactos?rev=33496&view=rev
Log:
- move hardcoded xen configuration name to config file
Modified:
trunk/reactos/tools/sysreg/rosboot_test.cpp
trunk/reactos/tools/sysreg/rosboot_test.h
trunk/reactos/tools/sysreg/txtmode.cfg
Modified: trunk/reactos/tools/sysreg/rosboot_test.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/sysreg/rosboot_test.…
==============================================================================
--- trunk/reactos/tools/sysreg/rosboot_test.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/sysreg/rosboot_test.cpp [iso-8859-1] Tue May 13 11:22:31 2008
@@ -66,6 +66,7 @@
string RosBootTest::ROS_EMU_MEM = "ROS_EMU_MEM";
string RosBootTest::ROS_BOOT_CMD = "ROS_BOOT_CMD";
string RosBootTest::XEN_CONFIG_FILE = "XEN_CONFIG_FILE";
+ string RosBootTest::XEN_CONFIG_NAME = "XEN_CONFIG_NAME";
#ifdef __LINUX__
string RosBootTest::ROS_EMU_PATH = "ROS_EMU_PATH_LIN";
@@ -662,7 +663,7 @@
}
//---------------------------------------------------------------------------------------
- bool RosBootTest::configureXen()
+ bool RosBootTest::configureXen(ConfigParser &conf_parser)
{
if (!xenGetCaps())
{
@@ -674,8 +675,9 @@
cerr << "Xen configuration file missing" << endl;
return false;
}
-
- m_Src = "xm console reactos";
+ m_Src = "xm console ";
+ string xen_name = "reactos";
+ conf_parser.getStringValue(RosBootTest::XEN_CONFIG_NAME, xen_name);
m_DataSource = new PipeReader();
m_BootCmd = m_EmuPath + "/xm create " + m_XenConfig;
@@ -740,14 +742,17 @@
return true;
}
//---------------------------------------------------------------------------------------
- void RosBootTest::cleanup()
+ void RosBootTest::cleanup(ConfigParser &conf_parser)
{
m_DataSource->closeSource();
OsSupport::delayExecution(3);
if (m_EmuType == EMU_TYPE_XEN)
{
- system("xm destroy reactos");
+ string xen_name = "reactos";
+ conf_parser.getStringValue(RosBootTest::XEN_CONFIG_NAME, xen_name);
+ string cmd = "xm destroy " + xen_name;
+ system(cmd.c_str ());
}
else
{
@@ -791,7 +796,7 @@
}
else if (m_EmuType == EMU_TYPE_XEN)
{
- if (!configureXen())
+ if (!configureXen(conf_parser))
{
cerr << "Error: failed to configure xen" << endl;
return false;
@@ -815,7 +820,7 @@
if (!m_DataSource->openSource(m_Src))
{
cerr << "Error: failed to open data source with " <<
m_Src << endl;
- cleanup();
+ cleanup(conf_parser);
return false;
}
#ifdef __LINUX__
@@ -832,7 +837,7 @@
if (!file)
{
cerr << "Error: failed to launch emulator" <<
endl;
- cleanup();
+ cleanup(conf_parser);
return false;
}
char buffer[128];
@@ -840,7 +845,7 @@
{
cerr << "Error: pid file w/o pid!!! " << endl;
fclose(file);
- cleanup();
+ cleanup(conf_parser);
return false;
}
m_Pid = atoi(buffer);
@@ -856,10 +861,10 @@
OsSupport::setAlarm(m_MaxTime, GetCurrentProcessId());
#endif
- bool ret = analyzeDebugData();
- cleanup();
-
- return ret;
+ bool ret = analyzeDebugData();
+ cleanup(conf_parser);
+
+ return ret;
}
//---------------------------------------------------------------------------------------
void RosBootTest::dumpCheckpoints()
Modified: trunk/reactos/tools/sysreg/rosboot_test.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/sysreg/rosboot_test.…
==============================================================================
--- trunk/reactos/tools/sysreg/rosboot_test.h [iso-8859-1] (original)
+++ trunk/reactos/tools/sysreg/rosboot_test.h [iso-8859-1] Tue May 13 11:22:31 2008
@@ -57,6 +57,7 @@
static string ROS_EMU_MEM;
static string ROS_BOOT_CMD;
static string XEN_CONFIG_FILE;
+ static string XEN_CONFIG_NAME;
//---------------------------------------------------------------------------------------
///
@@ -109,10 +110,10 @@
bool readConfigurationValues(ConfigParser & conf_parser);
bool configureQemu();
bool configureVmWare();
- bool configureXen();
+ bool configureXen(ConfigParser &conf_parser);
bool hasQemuNoRebootOption();
- void cleanup();
- bool xenGetCaps();
+ void cleanup(ConfigParser &conf_parser);
+ bool xenGetCaps();
//---------------------------------------------------------------------------------------
///
/// dumpCheckpoints
Modified: trunk/reactos/tools/sysreg/txtmode.cfg
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/sysreg/txtmode.cfg?r…
==============================================================================
--- trunk/reactos/tools/sysreg/txtmode.cfg [iso-8859-1] (original)
+++ trunk/reactos/tools/sysreg/txtmode.cfg [iso-8859-1] Tue May 13 11:22:31 2008
@@ -2,7 +2,7 @@
;
; This variable defines which emulator should be used to emulate ReactOS
;
-;ROS_EMU_TYPE=[qemu|vmware]
+;ROS_EMU_TYPE=[qemu|vmware|xen]
ROS_EMU_TYPE=qemu
@@ -98,3 +98,13 @@
; ROS_BOOT_CMD=/usr/bin/qemu -serial stdio -m 64 -hda ~/reactos/qemu/ReactOS.hd -boot d
-cdrom ~/reactos/qemu/bootcd.iso
; -no-reboot
+; XEN_CONFIG_FILE
+;
+; Set this variable to path of xen config file when ROS_EMU_TYPE=xen is used
+; XEN_CONFIG_FILE=
+
+
+; XEN_CONFIG_NAME
+;
+; Set this variable to the name of xen station
+; XEN_CONFIG_NAME=