On 18/02/2024 12:03, Jan Kiszka wrote:
On 16.02.24 20:36, Ralf Ramsauer wrote:
Devices slightly changed with recent Qemu versions. Adapt changes of
device topology.

Signed-off-by: Ralf Ramsauer <[email protected]>
---

Tested with jailhouse enable, create, disable + apic demo.

  README.md              |  2 +-
  configs/x86/qemu-x86.c | 80 +++++++++++++++++++++---------------------
  2 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/README.md b/README.md
index 2ab2a60a..f6fe011b 100644
--- a/README.md
+++ b/README.md
@@ -255,7 +255,7 @@ https://github.com/siemens/jailhouse-images.

  The included system configuration qemu-x86.c can be used to run Jailhouse in
  QEMU/KVM virtual machine on x86 hosts (Intel and AMD are supported). Currently
-it requires Linux 4.4 or newer on the host side. QEMU version 2.8 or newer is
+it requires Linux 4.4 or newer on the host side. QEMU version 8.2 or newer is

I'm reluctant to bump the requirements that high, given how many distros
are on 7.2 or even 7.1. What about starting to use versioned machine
models instead? Say, 'qemu-system-x86_64 -machine pc-q35-7.0'? Similar
for the other archs (virt-x.y).

Turns out we don't need that patch. My x86 Qemu test VM was pretty old, and I missed out the qemu option -device pcie-pci-bridge. With that option, everything seems to be fine, even with most recent versions of qemu.

  Ralf


Jan

  required.

  You also need a Linux guest image with a recent kernel (tested with >= 3.9) 
and
diff --git a/configs/x86/qemu-x86.c b/configs/x86/qemu-x86.c
index cdd3dd6d..7a585bd7 100644
--- a/configs/x86/qemu-x86.c
+++ b/configs/x86/qemu-x86.c
@@ -179,52 +179,52 @@ struct {
                        .size = 0x4000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea00000-fea3ffff : 0000:00:02.0 */
+               /* MemRegion: feb40000-feb7ffff : 0000:00:02.0 */
                {
-                       .phys_start = 0xfea00000,
-                       .virt_start = 0xfea00000,
+                       .phys_start = 0xfeb40000,
+                       .virt_start = 0xfeb40000,
                        .size = 0x40000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea40000-fea5ffff : e1000e */
+               /* MemRegion: feb80000-feb9ffff : e1000e */
                {
-                       .phys_start = 0xfea40000,
-                       .virt_start = 0xfea40000,
+                       .phys_start = 0xfeb80000,
+                       .virt_start = 0xfeb80000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea60000-fea7ffff : e1000e */
+               /* MemRegion: feba0000-febbffff : e1000e */
                {
-                       .phys_start = 0xfea60000,
-                       .virt_start = 0xfea60000,
+                       .phys_start = 0xfeba0000,
+                       .virt_start = 0xfeba0000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea91000-fea93fff : e1000e */
+               /* MemRegion: febd0000-febd3fff : e1000e */
                {
-                       .phys_start = 0xfea91000,
-                       .virt_start = 0xfea91000,
+                       .phys_start = 0xfebd0000,
+                       .virt_start = 0xfebd0000,
                        .size = 0x3000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea94000-fea97fff : 0000:00:1b.0 (ICH HD audio) */
+               /* MemRegion: febd4000-febd7fff : 0000:00:1b.0 (ICH HD audio) */
                {
-                       .phys_start = 0xfea94000,
-                       .virt_start = 0xfea94000,
+                       .phys_start = 0xfebd4000,
+                       .virt_start = 0xfebd4000,
                        .size = 0x4000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea98000-fea98fff : 0000:00:01.0 (vesafd) */
+               /* MemRegion: febd8000-febd8fff : 0000:00:01.0 (vesafd) */
                {
-                       .phys_start = 0xfea98000,
-                       .virt_start = 0xfea98000,
+                       .phys_start = 0xfebd8000,
+                       .virt_start = 0xfebd8000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
-               /* MemRegion: fea9a000-fea9afff : 0000:00:1f.2 (ahci) */
+               /* MemRegion: febd9000-febd9fff : 0000:00:1f.2 (ahci) */
                {
-                       .phys_start = 0xfea9a000,
-                       .virt_start = 0xfea9a000,
+                       .phys_start = 0xfebd9000,
+                       .virt_start = 0xfebd9000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
@@ -264,6 +264,24 @@ struct {
        },

        .pci_devices = {
+               /* PCI bridge */
+               {
+                       .type = JAILHOUSE_PCI_TYPE_BRIDGE,
+                       .domain = 0x0000,
+                       .bdf = 0x0000,
+                       .bar_mask = {
+                               0xffffff00, 0x00000000, 0x00000000,
+                               0x00000000, 0x00000000, 0x00000000,
+                       },
+                       .caps_start = 11,
+                       .num_caps = 5,
+                       .num_msi_vectors = 1,
+                       .msi_64bits = 1,
+                       .msi_maskable = 1,
+                       .num_msix_vectors = 0,
+                       .msix_region_size = 0x0,
+                       .msix_address = 0x0,
+               },
                { /* VGA */
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .domain = 0x0000,
@@ -283,25 +301,7 @@ struct {
                        .msi_64bits = 1,
                        .num_msix_vectors = 5,
                        .msix_region_size = 0x1000,
-                       .msix_address = 0xfea90000,
-               },
-               /* PCI bridge */
-               {
-                       .type = JAILHOUSE_PCI_TYPE_BRIDGE,
-                       .domain = 0x0000,
-                       .bdf = 0x0018,
-                       .bar_mask = {
-                               0xffffff00, 0x00000000, 0x00000000,
-                               0x00000000, 0x00000000, 0x00000000,
-                       },
-                       .caps_start = 11,
-                       .num_caps = 5,
-                       .num_msi_vectors = 1,
-                       .msi_64bits = 1,
-                       .msi_maskable = 1,
-                       .num_msix_vectors = 0,
-                       .msix_region_size = 0x0,
-                       .msix_address = 0x0,
+                       .msix_address = 0xfebd0000,
                },
                { /* ICH HD audio */
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,


--
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/07316f61-b354-4297-b364-6ed3688760d5%40oth-regensburg.de.

Reply via email to