Qubes 4.0 running on the attached machine.
Currently I am using some sort of dual boot.
Trying to integrate the OEM Windows as a HVM.
A qubes-user was already doing this:
https://mbrasile.com/cms/index.php/windows-7-oem-on-qubes.html
Information seems to be valid for Qubes 3.2 but some essential points are missing which can be updated from
https://forums.mydigitallife.net/threads/working-bios-mod-for-ws2008-in-xen-hvm.4437/#post-350284
It works!
added my patch file and modified xen.spec.in within `/home/user/qubes-builder/qubes-src/vmm-xen`
and build vem-xen component. installed the new build relevant rpms into dom0
--- a/xen.spec.in
+++ b/xen.spec.in
@@ -73,6 +73,7 @@ Source36: @gui-common@
# 900+: Qubes specific patches
# 1000+: python3
# 1100+: Support for Linux based stubdom
+# 1200+: User customizations
# Fedora
Patch101: patch-xen.use.fedora.ipxe.patch
@@ -282,6 +283,10 @@ Patch1114: patch-stubdom-allow-msi-enable.patch
Patch1115: patch-stubdom-linux-cmdline.patch
Patch1116: patch-xenstore-client-raw.patch
+# User Customizations
+Patch1201: patch-0001-acpi-slic-tables.patch
+
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: transfig libidn-devel zlib-devel texi2html SDL-devel curl-devel
BuildRequires: libX11-devel ghostscript texlive-latex
--- /dev/null
+++ b/patch-0001-acpi-slic-tables.patch
@@ -0,0 +1,72 @@
+--- a/tools/libacpi/acpi2_0.h
++++ b/tools/libacpi/acpi2_0.h
+@@ -40,8 +40,8 @@
+ uint32_t creator_revision;
+ };
+
+-#define ACPI_OEM_ID "Xen"
+-#define ACPI_OEM_TABLE_ID "HVM"
++#define ACPI_OEM_ID "FUJ "
++#define ACPI_OEM_TABLE_ID "PC "
+ #define ACPI_OEM_REVISION 0
+
+ #define ACPI_CREATOR_ID ASCII32('H','V','M','L') /* HVMLoader */
+--- a/tools/libacpi/build.c
++++ b/tools/libacpi/build.c
+@@ -16,6 +16,7 @@
+ #include LIBACPI_STDUTILS
+ #include "acpi2_0.h"
+ #include "libacpi.h"
++#include "slic.h"
+ #include "ssdt_s3.h"
+ #include "ssdt_s4.h"
+ #include "ssdt_tpm.h"
+@@ -461,6 +462,11 @@
+ nr_tables += construct_passthrough_tables(ctxt, table_ptrs,
+ nr_tables, config);
+
++ ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(SLIC), 16);
++ if (!ssdt) return -1;
++ memcpy(ssdt, SLIC, sizeof(SLIC));
++ table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
++
+ table_ptrs[nr_tables] = 0;
+ return nr_tables;
+ }
+--- /dev/null
++++ b/tools/libacpi/slic.h
+@@ -0,0 +1,34 @@
++unsigned char SLIC[] = {
...HIDDEN...PLEASE REPLACE WITH YOUR SLIC INFO
++};