https://git.reactos.org/?p=reactos.git;a=commitdiff;h=988f97913990beb3f79f518b889ad17394fbe708

commit 988f97913990beb3f79f518b889ad17394fbe708
Author:     Stanislav Motylkov <[email protected]>
AuthorDate: Tue Feb 11 01:20:12 2020 +0300
Commit:     GitHub <[email protected]>
CommitDate: Mon Feb 10 23:20:12 2020 +0100

    [CMAKE][BOOTDATA] Properly load Xbox video miniport driver in LiveCD (#2325)
    
    Surprisingly this also happens to "fix" random "Invalid Opcode" exceptions 
in XQEMU.
    (But I think it's more like a coincidence... --hbelusca)
    
    CORE-16627 CORE-16216
---
 boot/bootdata/hiveinst_xbox.inf | 19 +++++++++++++++++++
 sdk/cmake/CMakeMacros.cmake     | 10 ++++++++--
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/boot/bootdata/hiveinst_xbox.inf b/boot/bootdata/hiveinst_xbox.inf
new file mode 100644
index 00000000000..0cb2fe6e581
--- /dev/null
+++ b/boot/bootdata/hiveinst_xbox.inf
@@ -0,0 +1,19 @@
+[Version]
+Signature = "$Windows NT$"
+
+[AddReg]
+; Enable _one_ driver per section by removing the leading semicolon.
+
+;
+; Display driver section
+;
+
+; Xbox Nvidia driver
+HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","ErrorControl",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Group",0x00000000,"Video 
Save"
+HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","ImagePath",0x00020000,"system32\drivers\xboxvmp.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Start",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Type",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10DE&DEV_02A0&SUBSYS_00000000&REV_A1\0000","Service",0x00000000,"XboxVmp"
+HKLM,"SYSTEM\CurrentControlSet\Hardware 
Profiles\Current\System\CurrentControlSet\Services\XboxVmp\Device0","InstalledDisplayDrivers",0x00010000,"framebuf"
+HKLM,"SYSTEM\CurrentControlSet\Hardware 
Profiles\Current\System\CurrentControlSet\Services\XboxVmp\Device0","VgaCompatible",0x00010001,1
diff --git a/sdk/cmake/CMakeMacros.cmake b/sdk/cmake/CMakeMacros.cmake
index 2acff80ec8b..1c92605039f 100644
--- a/sdk/cmake/CMakeMacros.cmake
+++ b/sdk/cmake/CMakeMacros.cmake
@@ -853,8 +853,14 @@ function(create_registry_hives)
     # LiveCD hives
     list(APPEND _livecd_inf_files
         ${_registry_inf}
-        ${CMAKE_SOURCE_DIR}/boot/bootdata/livecd.inf
-        ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst.inf)
+        ${CMAKE_SOURCE_DIR}/boot/bootdata/livecd.inf)
+    if(SARCH STREQUAL "xbox")
+        list(APPEND _livecd_inf_files
+            ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst_xbox.inf)
+    else()
+        list(APPEND _livecd_inf_files
+            ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst.inf)
+    endif()
 
     add_custom_command(
         OUTPUT ${CMAKE_BINARY_DIR}/boot/bootdata/system

Reply via email to