From 5f8387e14e4a5ff15c7cffd4f53c68e22fe6be78 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sat, 11 Nov 2023 15:00:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Elat=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- InstallLat.sh | 6 ++ VM-source/Makefile | 167 +++++++++++++++++++++++++++++++++++++ VM-source/test-kvm.asm | 118 +++++++++++--------------- VM-source/test-kvm.asm.bin | Bin 519 -> 569 bytes VM-source/test.qcow2 | Bin 1024 -> 1024 bytes mainwindow.py | 3 + 6 files changed, 224 insertions(+), 70 deletions(-) create mode 100755 InstallLat.sh diff --git a/InstallLat.sh b/InstallLat.sh new file mode 100755 index 0000000..c5c7875 --- /dev/null +++ b/InstallLat.sh @@ -0,0 +1,6 @@ +#!/bin/bash +echo lat只能在loongarch架构安装 +sudo apt update +sudo apt install lat +echo 按回车键退出 +read \ No newline at end of file diff --git a/VM-source/Makefile b/VM-source/Makefile index 7f571a9..16a1abd 100755 --- a/VM-source/Makefile +++ b/VM-source/Makefile @@ -84,6 +84,34 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigGui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCoreAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KDBusAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGlobalAccel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ @@ -92,7 +120,11 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ @@ -103,6 +135,7 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_help.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ @@ -113,21 +146,43 @@ DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ @@ -185,6 +240,34 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigGui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCoreAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KDBusAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGlobalAccel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ @@ -193,7 +276,11 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ @@ -204,6 +291,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_help.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ @@ -214,21 +302,43 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ @@ -264,6 +374,34 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Attica.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuth.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KAuthCore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KBookmarks.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCodecs.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCompletion.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigCore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigGui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KConfigWidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KCoreAddons.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KDBusAddons.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGlobalAccel.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KGuiAddons.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KI18n.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIconThemes.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOCore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOFileWidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOGui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KIOWidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KItemViews.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KJobWidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KNTLM.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KParts.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KService.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KTextWidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWidgetsAddons.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KWindowSystem.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KXmlGui.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: @@ -272,7 +410,11 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkcore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dtkgui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_DtkWidget.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: @@ -283,6 +425,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_help.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: @@ -293,21 +436,43 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioning.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_positioningquick.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlmodels.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmlworkerscript.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_script.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_scripttools.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webengine.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginecore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_x11extras.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Solid.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetCore.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_SonnetUi.pri: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: @@ -383,6 +548,7 @@ qrc_图标.cpp: 图标.qrc \ /usr/lib/qt5/bin/rcc \ deepin-wine-runner.png \ deepin-wine-runner.svg \ + application-vnd.oasis.opendocument.text.svg \ 截图_VirtualBox\ Machine_20220712142929.png \ 截图/截图_VirtualBox\ Machine_20220712143018.png \ 截图/截图_VirtualBox\ Machine_20220712192850.png \ @@ -396,6 +562,7 @@ qrc_图标.cpp: 图标.qrc \ 截图/截图_VirtualBox_20220712223705.png \ 截图/截图_VirtualBox\ Machine_20220712143006.png \ 截图/截图_VirtualBox\ Machine_20220712191756.png \ + test.qcow2 \ LANG/virtualmachine-en_US.ts \ LANG/virtualmachine-en_US.qm /usr/lib/qt5/bin/rcc -name 图标 图标.qrc -o qrc_图标.cpp diff --git a/VM-source/test-kvm.asm b/VM-source/test-kvm.asm index ed61d8e..14774cd 100644 --- a/VM-source/test-kvm.asm +++ b/VM-source/test-kvm.asm @@ -2,30 +2,31 @@ mov ax,0xb800 mov es,ax ; 清屏 mov cx,80*25 -;clean: -; mov di,cx -; add di,di -; mov byte [es:di],'' -; add di,1 -; mov byte [es:di],0x0F -; loop clean +clean: + mov di,cx + add di,di + mov byte [es:di],'' + add di,1 + mov byte [es:di],0x0F + loop clean ; 显示上方白条 ; 移除(0,0)的S字符 -;mov byte [es:0x00],'' -;mov cx,80*2-1 -;mov di,0 -;headtitle: -; mov di,cx -; mov byte [es:di],0xF0 -; ; 写入空字符 -; add di,di -; mov byte [es:di],'' -; ;inc cx -; ;sub cx,1 -; loop headtitle - -mov di,0 +mov byte [es:0x00],'' mov cx,80*2-1 +mov di,0 +push cx +headtitle: + mov di,cx + mov byte [es:di],0xF0 + ; 写入空字符 + add di,di + mov byte [es:di],'' + ;inc cx + ;sub cx,1 + loop headtitle + +xor di,di +pop cx ; 显示下方白条 tailtitle: mov di,cx @@ -37,9 +38,9 @@ tailtitle: add di,80*2*24 mov byte [es:di],'' loop tailtitle -; 在第一行写入文本 Hello World! +; 在第一行写入文本 jmp near showHeadText -headText: db 'Hello World!' ;'Wine Runner Qemu Test' +headText: db 'Wine Runner Webiste:http://gitee.com/gfdgd-xi/deep-wine-runner' showHeadText: ; 虽然可以简单粗暴的用 movsw,但是会出现问题 mov cx,showHeadText-headText @@ -82,10 +83,9 @@ centerTextScreenSize: ; 第二位是单行偏移量 db 1, -1 centerText: - db 'Hello', 0x0A - db 'It is test text', 0x0A - db 'a', 0x0A - db 'b', 0x0A + db 'Mode: Real Mode Demo', 0x0A + db 'Bit: 16', 0x0A + db 'Virtual Machine: qemu-system-i386' db 0x03 ; 结束符 showCenterText: centerTextLong equ showCenterText-centerText @@ -141,18 +141,19 @@ showCenterText: showCenterTextEnd: -mov ax,[cs:0x100] -mov dx,[cs:0x102] - mov bx,16 - div bx - mov ds,ax - mov es,ax -xor di,di -mov si,1 +;mov ax,[cs:0x100] +;mov dx,[cs:0x102] +; mov bx,16 +; div bx +; mov ds,ax +; mov es,ax +;xor di,di +;mov si,1 ;xor ds,ds ;mov bx,512 -xor bx,bx -call read_hard_disk_0 +;xor bx,bx +;call read_hard_disk_0 + get_data: mov di,80*2*25-2 @@ -191,23 +192,7 @@ get_data: call read_time mov byte [es:di-32],ah mov byte [es:di-30],al - mov cx,showTipsStr-tipsStr - sub di,30 - mov ax,tipsStr - mov ds,ax - ; 先跳过文本显示 - jmp near showTipsStrEnd - ; 显示提示文本 - tipsStr: db 'Time:20' - showTipsStr: - mov di,cx - add di,showTipsStr+0x7c0 - mov dl,[ds:di] - mov di,80*2*25-36 - sub di,cx - mov byte [es:di],dl - loop showTipsStr - showTipsStrEnd: + hlt ; 使用停机指令降低 CPU 使用率 jmp near get_data @@ -232,18 +217,22 @@ bcd_to_ascii: add ah,0x30 ret - - - ;poweroff: - ; 跳过关机 - jmp near end ; 关机 ; mov ax,5307H ; 高级电源管理功能,设置电源状态 ; mov bx,0001H ; 设备ID,1:所有设备 ; mov cx,0003H ; 状态,3:表示关机 ; int 15h + + +end: + times 510-($-$$) db 0 + db 0x55,0xaa + +; 后面部分暂时废弃 + + read_hard_disk_0: ; 从硬盘读取一个逻辑扇区 ; 输入:DI:SI=起始逻辑扇区号 ; DS:BX=目标缓冲区地址 @@ -298,14 +287,3 @@ read_hard_disk_0: ; 从硬盘读取一个逻辑扇区 pop bx pop ax - -end: - times 510-($-$$) db 0 - db 0x55,0xaa - -; 数据区 -showText_data: - db 'A', 0x0A - db 'B', 0x0A - db 0x03 - db 0x55, 0xab diff --git a/VM-source/test-kvm.asm.bin b/VM-source/test-kvm.asm.bin index bc8480ac8d2110b6e006205da68ebd59cf97721f..d81c29e91a87728520f165552f2213022e7ef450 100644 GIT binary patch delta 437 zcmZo?*~wzQgJDPCft?rFJI^!zS3Aba(0rT`Nbx^wn46sG2u z>K0c5osz4YX>4J}47A4Zz)L}fZm|~(&4(B}ft2Tl|BGHSEO^Pl!U&}IzXE#OUh{mH zY{SH>!u2m0b_6hdf3%AUNHiZ{Vmz+aA^T{<{(1Zx7+xeWs2y|tW2M%S`VZ*74NNcm zK?2`E0zcF`Tz_p~d11={3|3ldfk6ygwVem-J$;np; z&o9bJQQXPHu;T!G-;K^wAZ7bBCoVJ%3u9=0#mIQgu8T#jgZ0s~m$D3u|G|2=JWCWZ zixo;zi%Wn+MG03TR}vTVPH6_i11|*`y2W}Jnh!B{0x8c8{}=T#Ea+umVFc3q`xu&! zOHU49l&J4v*b%_+{n0KaAkln)iSf8vhwP&bdJ7pC^}5BF7|9y-M zhPPj=X4pTEe*?pd4hFSju79l5I#T}u-L!$}ML9^|8%W@XT8Hbe4J@Olf(y#P@B5!~q?>2C}a07|NJpl-%uxU_6?0ys%{eay|h$UpBD6FaSxv(gTXT0gAla!0|#3B=Q6#@(d{QVgu(3 z9*~9yK+dBtFK7IJCRy;L@C75o;f^CJ{453s-mo-0;cqx%a5!|;g)ub0Vr0B#*TtgN!TRXgOIZfS|6n~_o+S#I z#R?^<#U((ZqJ%4vD~XGFr!<4%ftP{|-C{iq&4(B}ft2Tl|BHGV7W6W(FaqiQeGJXV zr6&h4O4Ro->ndfj47jJpLGzJKn!(RaY`|2{?r z!`m-bGwh$ozk%UJ2ZP!%*FRQj9jX6-ZrZ@~q8udf4J7bGt;6-#29_783_#8&Am_^l z_7@Q#=~sF{kvBk*cN;ifxPe6Co`8g&0fk;{;Cx{M((wSud9;(Aq4~YsjvmIo8!x38 zLNaqxt&9vnAsEbQ*Co2YhF|l%T8HSPw_jcs{C`&Pr0@kJ!{Lr2D*P-42i~wWJmGIR hVsQASCBq~pOU}?$j$BS$%%Q6{2QsZ^oSeYq1pw{6tZ@JU diff --git a/mainwindow.py b/mainwindow.py index a1ac66a..e66f255 100755 --- a/mainwindow.py +++ b/mainwindow.py @@ -2790,6 +2790,7 @@ downloadChrootBottle = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Functi installBox86CN = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64 日构建(国内源)")) installBox86 = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64 日构建(国外 Github 源)")) installBox86Own = QtWidgets.QAction(QtGui.QIcon.fromTheme("box"), transla.transe("U", "安装 Box86/Box64(使用自建源,支持 riscv64)")) +installLat = QtWidgets.QAction(transla.transe("U", "安装 lat(只限 Loongarch64 架构)")) addWineDebMirrorForDeepin20 = QtWidgets.QAction(QtGui.QIcon(f"{programPath}/Icon/Function/wine.png"), transla.transe("U", "添加 Wine 运行器源以安装较新版本的 WineHQ(支持 Deepin20/Debian10)")) p2 = QtWidgets.QAction(QtGui.QIcon.fromTheme("settings"), transla.transe("U", "设置程序(&S)")) enabledAll = QtWidgets.QAction(transla.transe("U", "强制启用所有被禁用的组件(不推荐)")) @@ -2811,6 +2812,7 @@ programmenu.addAction(downloadChrootBottle) programmenu.addAction(installBox86CN) programmenu.addAction(installBox86) programmenu.addAction(installBox86Own) +programmenu.addAction(installLat) #programmenu.addSeparator() #programmenu.addAction(setMiniFont) #programmenu.addAction(setTinyFont) @@ -2832,6 +2834,7 @@ installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23) installWineOnDeepin23Alpha.triggered.connect(InstallWineOnDeepin23Alpha) installWineHQ.triggered.connect(InstallWineHQ) installWineHQOrg.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQOrg.sh"]).start()) +installLat.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallLat.sh"]).start()) addWineDebMirrorForDeepin20.triggered.connect(lambda: threading.Thread(target=OpenTerminal, args=[f"bash '{programPath}/AddWineDebMirrorForDeepin20.sh'"]).start()) def InstallMoreWine(): os.system(f"'{programPath}/wine/installwine'")