diff options
Diffstat (limited to 'system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch')
-rw-r--r-- | system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch | 715 |
1 files changed, 715 insertions, 0 deletions
diff --git a/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch b/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch new file mode 100644 index 0000000000..6ec862f201 --- /dev/null +++ b/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch @@ -0,0 +1,715 @@ +From 26b007bba627525b68891d50b1d98015465ca4c4 Mon Sep 17 00:00:00 2001 +From: Andrey Rijov <rdron@users.sourceforge.net> +Date: Tue, 31 Jan 2012 23:42:46 +0400 +Subject: [PATCH 7/7] Initial QEMU 1.0 support + +--- + +diff --git a/About_Window.ui b/About_Window.ui +index 69718cc..352a9b9 100644 +--- a/About_Window.ui ++++ b/About_Window.ui +@@ -7,8 +7,8 @@ + <rect> + <x>0</x> + <y>0</y> +- <width>477</width> +- <height>539</height> ++ <width>475</width> ++ <height>537</height> + </rect> + </property> + <property name="windowTitle"> +@@ -117,7 +117,7 @@ border-top-right-radius: 18px; + <string/> + </property> + <property name="pixmap"> +- <pixmap resource="shared_images.qrc">:/images/aqemu_logo.png</pixmap> ++ <pixmap>:/images/aqemu_logo.png</pixmap> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> +@@ -141,12 +141,12 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px + <body> + <b> + <p>AQEMU is Frontend for QEMU and KVM Emulators</p> +-<p>Version: 0.8.2 of 2011.07.27</p> ++<p>Version: 0.8.3 of 2012.01.31</p> + <p>License: GNU GPL Version 2</p> + <p>Author: Andrey Rijov (a.k.a. RDron)</p> + <p>E-Mail: <a href="mailto:ANDron142@yandex.ru">ANDron142@yandex.ru</a></p> + <p>Web Site: <a href="http://sourceforge.net/projects/aqemu/">http://sourceforge.net/projects/aqemu/</a></p> +-<p>Supported Emulators:<br>QEMU 0.9.0-0.14.1 and KVM 60-88-0.14.1</p> ++<p>Supported Emulators:<br>QEMU 0.9.0-0.15-1.0 and KVM 60-88-0.15-1.0</p> + </b> + </body> + </html></string> +@@ -184,23 +184,24 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px + <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> + <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html></string> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p></td></tr></table></body></html></string> + </property> + </widget> + </item> +@@ -226,7 +227,7 @@ p, li { white-space: pre-wrap; } + <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +@@ -433,32 +434,33 @@ p, li { white-space: pre-wrap; } + <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> + <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> ++<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';"></p> + <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Nimbus Sans L';"></p></td></tr></table></body></html></string> + </property> + <property name="openExternalLinks"> +@@ -568,9 +570,7 @@ p, li { white-space: pre-wrap; } + <tabstop>Edit_Thanks_To_Text</tabstop> + <tabstop>Edit_GPL</tabstop> + </tabstops> +- <resources> +- <include location="shared_images.qrc"/> +- </resources> ++ <resources/> + <connections> + <connection> + <sender>Button_OK</sender> +diff --git a/Emulator_Options_Window.cpp b/Emulator_Options_Window.cpp +index 423167f..127c8bc 100644 +--- a/Emulator_Options_Window.cpp ++++ b/Emulator_Options_Window.cpp +@@ -240,6 +240,14 @@ void Emulator_Options_Window::Set_Emulator( const Emulator &emul ) + ui.CB_Version->setCurrentIndex( 6 ); + break; + ++ case VM::QEMU_0_15: ++ ui.CB_Version->setCurrentIndex( 7 ); ++ break; ++ ++ case VM::QEMU_1_0: ++ ui.CB_Version->setCurrentIndex( 8 ); ++ break; ++ + case VM::KVM_7X: + ui.CB_Version->setCurrentIndex( 0 ); + break; +@@ -264,6 +272,14 @@ void Emulator_Options_Window::Set_Emulator( const Emulator &emul ) + ui.CB_Version->setCurrentIndex( 5 ); + break; + ++ case VM::KVM_0_15: ++ ui.CB_Version->setCurrentIndex( 6 ); ++ break; ++ ++ case VM::KVM_1_0: ++ ui.CB_Version->setCurrentIndex( 7 ); ++ break; ++ + default: + AQWarning( "void Emulator_Options_Window::Set_Emulator( Emulator emul )", + "Version NOT Valid! Use Default" ); +diff --git a/First_Start_Wizard.cpp b/First_Start_Wizard.cpp +index c427e5a..678054b 100644 +--- a/First_Start_Wizard.cpp ++++ b/First_Start_Wizard.cpp +@@ -469,7 +469,10 @@ void First_Start_Wizard::on_Button_Find_Emulators_clicked() + for( int ix = 0; ix < qemuEmulatorsList.count(); ++ix ) + { + if( qemuEmulatorsList[ix].Get_Version() > maxVer ) ++ { ++ maxVer = qemuEmulatorsList[ix].Get_Version(); + maxVerIndex = ix; ++ } + } + + qemuEmulatorsList[ maxVerIndex ].Set_Default( true ); +@@ -492,7 +495,10 @@ void First_Start_Wizard::on_Button_Find_Emulators_clicked() + for( int ix = 0; ix < kvmEmulatorsList.count(); ++ix ) + { + if( kvmEmulatorsList[ix].Get_Version() > maxVer ) ++ { ++ maxVer = kvmEmulatorsList[ix].Get_Version(); + maxVerIndex = ix; ++ } + } + + kvmEmulatorsList[ maxVerIndex ].Set_Default( true ); +diff --git a/Main_Window.cpp b/Main_Window.cpp +index 5a8ed7e..a8a22f4 100644 +--- a/Main_Window.cpp ++++ b/Main_Window.cpp +@@ -57,6 +57,8 @@ QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_11; + QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_12; + QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_13; + QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_14; ++QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_15; ++QMap<QString, Available_Devices> System_Info::Emulator_QEMU_1_0; + + QMap<QString, Available_Devices> System_Info::Emulator_KVM_7X; + QMap<QString, Available_Devices> System_Info::Emulator_KVM_8X; +@@ -64,6 +66,8 @@ QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_11; + QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_12; + QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_13; + QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_14; ++QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_15; ++QMap<QString, Available_Devices> System_Info::Emulator_KVM_1_0; + + QList<VM_USB> System_Info::All_Host_USB; + QList<VM_USB> System_Info::Used_Host_USB; +diff --git a/System_Info.cpp b/System_Info.cpp +index d6d44dd..176257e 100644 +--- a/System_Info.cpp ++++ b/System_Info.cpp +@@ -1208,6 +1208,8 @@ bool System_Info::Update_VM_Computers_List() + System_Info::Emulator_QEMU_0_12 = System_Info::Emulator_QEMU_0_11; + System_Info::Emulator_QEMU_0_13 = System_Info::Emulator_QEMU_0_11; + System_Info::Emulator_QEMU_0_14 = System_Info::Emulator_QEMU_0_11; ++ System_Info::Emulator_QEMU_0_15 = System_Info::Emulator_QEMU_0_11; ++ System_Info::Emulator_QEMU_1_0 = System_Info::Emulator_QEMU_0_11; + + // KVM 7X + ad = Available_Devices(); +@@ -1354,6 +1356,8 @@ bool System_Info::Update_VM_Computers_List() + + System_Info::Emulator_KVM_0_13 = System_Info::Emulator_KVM_0_12; + System_Info::Emulator_KVM_0_14 = System_Info::Emulator_KVM_0_12; ++ System_Info::Emulator_KVM_0_15 = System_Info::Emulator_KVM_0_12; ++ System_Info::Emulator_KVM_1_0 = System_Info::Emulator_KVM_0_12; + + return true; + } +@@ -1402,52 +1406,89 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path ) + + // This QEMU or KVM? + bool emulatorKVM = false; +- if( path.indexOf("kvm", 0, Qt::CaseInsensitive) != -1 ) emulatorKVM = true; ++ if( path.contains("kvm", Qt::CaseInsensitive) ) emulatorKVM = true; ++ //if( path.contains("qemu", Qt::CaseInsensitive) ) emulatorKVM = false; + + if( emulatorKVM ) + { + QRegExp kvmVer = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+)[.]([\\d]+).*" ); + QRegExp kvmVerOldStyle = QRegExp( ".*version.*([\\d]{2,3}).*" ); ++ QRegExp kvmVerNewStyle = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+).*" ); + QStringList versionLines; + +- // KVM version is: X.XX.X or XX ? ++ // KVM version is: X.XX.X or XX or X.X? + if( ! kvmVer.exactMatch(line) ) + { +- if( ! kvmVerOldStyle.exactMatch(line) ) ++ if( ! kvmVerNewStyle.exactMatch(line) ) + { +- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- "Cannot Match RegExp!\nData: " + line ); +- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- "Cannot Find KVM Version!" ); +- return VM::Obsolete; ++ if( ! kvmVerOldStyle.exactMatch(line) ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot Match RegExp!\nData: " + line ); ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot Find KVM Version!" ); ++ return VM::Obsolete; ++ } ++ else // Version like: 85 ++ { ++ versionLines = kvmVerOldStyle.capturedTexts(); ++ if( versionLines.count() < 2 ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot get KVM version! Line: " + line ); ++ return VM::Obsolete; ++ } ++ ++ bool ok = false; ++ int kvmVersion = versionLines[1].toInt( &ok, 10 ); ++ ++ if( ! ok ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot convert KVM version to int! String: " + versionLines[1] ); ++ return VM::Obsolete; ++ } ++ ++ if( kvmVersion < 70 ) return VM::Obsolete; ++ else if( kvmVersion >= 70 && kvmVersion < 80 ) return VM::KVM_7X; ++ else if( kvmVersion >= 80 ) return VM::KVM_8X; ++ else ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ QString("KVM version \"%1\"not defined!").arg(kvmVersion) ); ++ return VM::Obsolete; ++ } ++ } + } +- else // Version like: 85 ++ else // Version like: 1.0 + { +- versionLines = kvmVerOldStyle.capturedTexts(); +- if( versionLines.count() < 2 ) ++ versionLines = kvmVerNewStyle.capturedTexts(); ++ if( versionLines.count() < 3 ) + { + AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", + "Cannot get KVM version! Line: " + line ); + return VM::Obsolete; + } + +- bool ok = false; +- int kvmVersion = versionLines[1].toInt( &ok, 10 ); ++ int major_ver, minor_ver; ++ bool ok1, ok2; ++ ++ major_ver = versionLines[1].toInt( &ok1, 10 ); ++ minor_ver = versionLines[2].toInt( &ok2, 10 ); + +- if( ! ok ) ++ if( ! (ok1 && ok2) ) + { + AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- "Cannot convert KVM version to int! String: " + versionLines[1] ); ++ "Cannot Convert to Int! Line: " + versionLines[0] ); + return VM::Obsolete; + } + +- if( kvmVersion < 70 ) return VM::Obsolete; +- else if( kvmVersion >= 70 && kvmVersion < 80 ) return VM::KVM_7X; +- else if( kvmVersion >= 80 ) return VM::KVM_8X; ++ if( major_ver == 1 && minor_ver == 0 ) return VM::KVM_1_0; ++ else if( major_ver > 1 || (major_ver == 1 && minor_ver > 0) ) return VM::KVM_1_0; + else + { + AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- QString("KVM version \"%1\"not defined!").arg(kvmVersion) ); ++ QString("KVM Version %1.%2 not defined!").arg(major_ver).arg(minor_ver) ); + return VM::Obsolete; + } + } +@@ -1485,7 +1526,7 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path ) + else + { + AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- QString("Version %1.%2.%3 not defined!").arg(major_ver).arg(minor_ver).arg(bugfix_ver) ); ++ QString("QEMU Version %1.%2.%3 not defined!").arg(major_ver).arg(minor_ver).arg(bugfix_ver) ); + return VM::Obsolete; + } + } +@@ -1493,13 +1534,51 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path ) + else // QEMU + { + QRegExp emulVerRegExp = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+)[.]([\\d]+).*" ); ++ QRegExp emulVerRegExpNew = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+).*" ); ++ + if( ! emulVerRegExp.exactMatch(line) ) + { +- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", +- "Cannot match emulVerRegExp! Line: " + line ); +- return VM::Obsolete; ++ if( ! emulVerRegExpNew.exactMatch(line) ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot match emulVerRegExp! Line: " + line ); ++ return VM::Obsolete; ++ } ++ else // Version like: 1.0 ++ { ++ QStringList versionLines = emulVerRegExpNew.capturedTexts(); ++ if( versionLines.count() < 3 ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot get major_ver, minor_ver vairables!" ); ++ return VM::Obsolete; ++ } ++ ++ int major_ver, minor_ver; ++ bool ok1, ok2; ++ ++ major_ver = versionLines[1].toInt( &ok1, 10 ); ++ minor_ver = versionLines[2].toInt( &ok2, 10 ); ++ ++ if( ! (ok1 && ok2) ) ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ "Cannot Convert to Int! Line: " + versionLines[0] ); ++ return VM::Obsolete; ++ } ++ ++ if( major_ver == 1 && minor_ver == 0 ) return VM::QEMU_1_0; ++ else if( major_ver > 1 || (major_ver == 1 && minor_ver > 0) ) return VM::QEMU_1_0; ++ else ++ { ++ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )", ++ QString("QEMU Version %1.%2 not defined!").arg(major_ver).arg(minor_ver) ); ++ return VM::Obsolete; ++ } ++ } + } + ++ // Version like: 0.12.0 + QStringList versionLines = emulVerRegExp.capturedTexts(); + if( versionLines.count() < 4 ) + { +@@ -1522,7 +1601,7 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path ) + return VM::Obsolete; + } + +- if( major_ver == 0 && minor_ver < 9 ) return VM::Obsolete; ++ if( major_ver == 0 && minor_ver < 9 ) return VM::Obsolete; + else if( major_ver == 0 && minor_ver == 9 && bugfix_ver == 0 ) return VM::QEMU_0_9_0; + else if( major_ver == 0 && minor_ver == 9 && bugfix_ver == 1 ) return VM::QEMU_0_9_1; + else if( major_ver == 0 && minor_ver == 10 ) return VM::QEMU_0_10; +@@ -1588,6 +1667,16 @@ QMap<QString, QString> System_Info::Find_QEMU_Binary_Files( const QString &path + ++iter; + } + ++ // Next code for QEMU 1.0 in it version 'qemu' binary name changet to 'qemu-system-i386' ++ if( emulFiles["qemu"].isEmpty() ) ++ { ++ #ifdef Q_OS_WIN32 ++ if( QFile::exists(dirPath + "qemu-system-i386.exe") ) emulFiles[ "qemu" ] = dirPath + "qemu-system-i386.exe"; ++ #else ++ if( QFile::exists(dirPath + "qemu-system-i386") ) emulFiles[ "qemu" ] = dirPath + "qemu-system-i386"; ++ #endif ++ } ++ + return emulFiles; + } + +@@ -2088,6 +2177,14 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + default_device = Emulator_QEMU_0_14[ internalName ]; + break; + ++ case VM::QEMU_0_15: ++ default_device = Emulator_QEMU_0_15[ internalName ]; ++ break; ++ ++ case VM::QEMU_1_0: ++ default_device = Emulator_QEMU_1_0[ internalName ]; ++ break; ++ + case VM::KVM_7X: + default_device = Emulator_KVM_7X[ internalName ]; + break; +@@ -2112,6 +2209,14 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + default_device = Emulator_KVM_0_14[ internalName ]; + break; + ++ case VM::KVM_0_15: ++ default_device = Emulator_KVM_0_15[ internalName ]; ++ break; ++ ++ case VM::KVM_1_0: ++ default_device = Emulator_KVM_1_0[ internalName ]; ++ break; ++ + default: + AQError( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok," + "VM::Emulator_Version version, const QString &internalName )", +@@ -2210,7 +2315,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + tmp_dev.CPU_List = default_device.CPU_List; // FIXME Emul Version + AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok," + "VM::Emulator_Version version, const QString &internalName )", +- "Cannot get CPU's info from emulator. Use default list" ); ++ QString("Cannot get CPU's info from emulator \"%1\". Use default list").arg(path) ); + } + + // Get Machines Models +@@ -2271,7 +2376,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + tmp_dev.Machine_List = default_device.Machine_List; // FIXME Emul Version + AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok," + "VM::Emulator_Version version, const QString &internalName )", +- "Cannot get machines info from emulator. Use default list" ); ++ QString("Cannot get machines info from emulator \"%1\". Use default list").arg(path) ); + } + + // -vga +@@ -2340,6 +2445,9 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + tmp = text_stream->readLine(); + QString qemu_dev_name = ""; + ++ // This target platform support soundhw? ++ if( tmp.contains("not supported") ) break; ++ + // This description? + if( tmp.isEmpty() || + tmp.startsWith("Valid sound card names") || +@@ -2367,6 +2475,8 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true; + else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_GUS = true; + else if( qemu_dev_name == "ac97" ) tmp_dev.Audio_Card_List.Audio_AC97 = true; ++ else if( qemu_dev_name == "hda" ) ; // FIXME ++ else if( qemu_dev_name == "cs4231a" ) ; // FIXME + else + { + if( ! qemu_dev_name.isEmpty() ) +@@ -2438,7 +2548,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, + tmp_dev.Network_Card_List = default_device.Network_Card_List; // FIXME Emul Version + AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok," + "VM::Emulator_Version version, const QString &internalName )", +- "Cannot get net cards info from emulator. Use default list" ); ++ QString("Cannot get net cards info from emulator \"%1\". Use default list").arg(path) ); + } + + // Return info +diff --git a/System_Info.h b/System_Info.h +index b47e452..522ca4e 100644 +--- a/System_Info.h ++++ b/System_Info.h +@@ -62,6 +62,8 @@ class System_Info + static QMap<QString, Available_Devices> Emulator_QEMU_0_12; + static QMap<QString, Available_Devices> Emulator_QEMU_0_13; + static QMap<QString, Available_Devices> Emulator_QEMU_0_14; ++ static QMap<QString, Available_Devices> Emulator_QEMU_0_15; ++ static QMap<QString, Available_Devices> Emulator_QEMU_1_0; + + static QMap<QString, Available_Devices> Emulator_KVM_7X; + static QMap<QString, Available_Devices> Emulator_KVM_8X; +@@ -69,6 +71,8 @@ class System_Info + static QMap<QString, Available_Devices> Emulator_KVM_0_12; + static QMap<QString, Available_Devices> Emulator_KVM_0_13; + static QMap<QString, Available_Devices> Emulator_KVM_0_14; ++ static QMap<QString, Available_Devices> Emulator_KVM_0_15; ++ static QMap<QString, Available_Devices> Emulator_KVM_1_0; + + private: + #ifdef Q_OS_LINUX +diff --git a/Utils.cpp b/Utils.cpp +index 36ec8d4..9678462 100644 +--- a/Utils.cpp ++++ b/Utils.cpp +@@ -513,12 +513,16 @@ VM::Emulator_Version String_To_Emulator_Version( const QString &str ) + else if( str == "QEMU 0.12.X" ) return VM::QEMU_0_12; + else if( str == "QEMU 0.13.X" ) return VM::QEMU_0_13; + else if( str == "QEMU 0.14.X" ) return VM::QEMU_0_14; ++ else if( str == "QEMU 0.15.X" ) return VM::QEMU_0_15; ++ else if( str == "QEMU 1.0" ) return VM::QEMU_1_0; + else if( str == "KVM 7X" ) return VM::KVM_7X; + else if( str == "KVM 8X" ) return VM::KVM_8X; + else if( str == "KVM 0.11.X" ) return VM::KVM_0_11; + else if( str == "KVM 0.12.X" ) return VM::KVM_0_12; + else if( str == "KVM 0.13.X" ) return VM::KVM_0_13; + else if( str == "KVM 0.14.X" ) return VM::KVM_0_14; ++ else if( str == "KVM 0.15.X" ) return VM::KVM_0_15; ++ else if( str == "KVM 1.0" ) return VM::KVM_1_0; + else if( str == "Obsolete" ) return VM::Obsolete; + else + { +@@ -553,6 +557,12 @@ QString Emulator_Version_To_String( VM::Emulator_Version ver ) + case VM::QEMU_0_14: + return "QEMU 0.14.X"; + ++ case VM::QEMU_0_15: ++ return "QEMU 0.15.X"; ++ ++ case VM::QEMU_1_0: ++ return "QEMU 1.0"; ++ + case VM::KVM_7X: + return "KVM 7X"; + +@@ -571,6 +581,12 @@ QString Emulator_Version_To_String( VM::Emulator_Version ver ) + case VM::KVM_0_14: + return "KVM 0.14.X"; + ++ case VM::KVM_0_15: ++ return "KVM 0.15.X"; ++ ++ case VM::KVM_1_0: ++ return "KVM 1.0"; ++ + case VM::Obsolete: + return "Obsolete"; + +diff --git a/VM.cpp b/VM.cpp +index e45fcbb..7a0626e 100644 +--- a/VM.cpp ++++ b/VM.cpp +@@ -7277,29 +7277,45 @@ void Virtual_Machine::Update_Current_Emulator_Devices() + case VM::QEMU_0_14: + Current_Emulator_Devices = System_Info::Emulator_QEMU_0_14[ Computer_Type ]; + break; ++ ++ case VM::QEMU_0_15: ++ Current_Emulator_Devices = System_Info::Emulator_QEMU_0_15[ Computer_Type ]; ++ break; ++ ++ case VM::QEMU_1_0: ++ Current_Emulator_Devices = System_Info::Emulator_QEMU_1_0[ Computer_Type ]; ++ break; + + case VM::KVM_7X: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_7X[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_7X[ Computer_Type ]; + break; + + case VM::KVM_8X: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_8X[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_8X[ Computer_Type ]; + break; + + case VM::KVM_0_11: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_11[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_0_11[ Computer_Type ]; + break; + + case VM::KVM_0_12: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_12[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_0_12[ Computer_Type ]; + break; + + case VM::KVM_0_13: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_13[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_0_13[ Computer_Type ]; + break; + + case VM::KVM_0_14: +- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_14[ Computer_Type ]; ++ Current_Emulator_Devices = System_Info::Emulator_KVM_0_14[ Computer_Type ]; ++ break; ++ ++ case VM::KVM_0_15: ++ Current_Emulator_Devices = System_Info::Emulator_KVM_0_15[ Computer_Type ]; ++ break; ++ ++ case VM::KVM_1_0: ++ Current_Emulator_Devices = System_Info::Emulator_KVM_1_0[ Computer_Type ]; + break; + + default: +diff --git a/VM_Devices.cpp b/VM_Devices.cpp +index 09def34..3ed8f62 100644 +--- a/VM_Devices.cpp ++++ b/VM_Devices.cpp +@@ -1530,6 +1530,12 @@ const QMap<QString, Available_Devices> &Emulator::Get_Devices() const + case VM::QEMU_0_14: + return System_Info::Emulator_QEMU_0_14; + ++ case VM::QEMU_0_15: ++ return System_Info::Emulator_QEMU_0_15; ++ ++ case VM::QEMU_1_0: ++ return System_Info::Emulator_QEMU_1_0; ++ + case VM::KVM_7X: + return System_Info::Emulator_KVM_7X; + +@@ -1548,6 +1554,12 @@ const QMap<QString, Available_Devices> &Emulator::Get_Devices() const + case VM::KVM_0_14: + return System_Info::Emulator_KVM_0_14; + ++ case VM::KVM_0_15: ++ return System_Info::Emulator_KVM_0_15; ++ ++ case VM::KVM_1_0: ++ return System_Info::Emulator_KVM_1_0; ++ + default: + AQError( "const QMap<QString, Available_Devices> &Emulator::Get_Devices() const", + "Emulator Version Incorrect!" ); +diff --git a/VM_Devices.h b/VM_Devices.h +index 2dfa0cd..c381767 100644 +--- a/VM_Devices.h ++++ b/VM_Devices.h +@@ -38,8 +38,11 @@ class VM + + // Emulators Version + enum Emulator_Version { Obsolete, +- QEMU_0_9_0, QEMU_0_9_1, QEMU_0_10, QEMU_0_11, QEMU_0_12, QEMU_0_13, QEMU_0_14, +- KVM_7X, KVM_8X, KVM_0_11, KVM_0_12, KVM_0_13, KVM_0_14 }; ++ QEMU_0_9_0, QEMU_0_9_1, QEMU_0_10, QEMU_0_11, QEMU_0_12, QEMU_0_13, QEMU_0_14, QEMU_0_15, ++ QEMU_1_0, ++ KVM_7X, KVM_8X, ++ KVM_0_11, KVM_0_12, KVM_0_13, KVM_0_14, KVM_0_15, ++ KVM_1_0 }; + + // Virtual Machine State + enum VM_State { VMS_Running, VMS_Power_Off, VMS_Pause, VMS_Saved, VMS_In_Error }; +-- +1.7.8.3 + |