qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b2bbad: hw/xen: detect when running inside st


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] b2bbad: hw/xen: detect when running inside stubdomain
Date: Mon, 01 Jul 2024 10:41:39 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b2bbadc63c5e907bbb7a19244929ef4c028f3d01
      
https://github.com/qemu/qemu/commit/b2bbadc63c5e907bbb7a19244929ef4c028f3d01
  Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Date:   2024-07-01 (Mon, 01 Jul 2024)

  Changed paths:
    M hw/i386/xen/xen-hvm.c
    M include/hw/xen/xen.h
    M system/globals.c

  Log Message:
  -----------
  hw/xen: detect when running inside stubdomain

Introduce global xen_is_stubdomain variable when qemu is running inside
a stubdomain instead of dom0. This will be relevant for subsequent
patches, as few things like accessing PCI config space need to be done
differently.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Message-Id: 
<e66aa97dca5120f22e015c19710b2ff04f525720.1711506237.git-series.marmarek@invisiblethingslab.com>
Signed-off-by: Anthony PERARD <anthony@xenproject.org>


  Commit: 196fb962baeff16342279111cc927a153415f85f
      
https://github.com/qemu/qemu/commit/196fb962baeff16342279111cc927a153415f85f
  Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Date:   2024-07-01 (Mon, 01 Jul 2024)

  Changed paths:
    M hw/xen/xen-host-pci-device.c
    M hw/xen/xen-host-pci-device.h

  Log Message:
  -----------
  xen: fix stubdom PCI addr

When running in a stubdomain, the config space access via sysfs needs to
use BDF as seen inside stubdomain (connected via xen-pcifront), which is
different from the real BDF. For other purposes (hypercall parameters
etc), the real BDF needs to be used.
Get the in-stubdomain BDF by looking up relevant PV PCI xenstore
entries.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Message-Id: 
<35049e99da634a74578a1ff2cb3ae4cc436ede33.1711506237.git-series.marmarek@invisiblethingslab.com>
Signed-off-by: Anthony PERARD <anthony@xenproject.org>


  Commit: 410b4d560dfa3b38a11ad19cf00180238651d9b7
      
https://github.com/qemu/qemu/commit/410b4d560dfa3b38a11ad19cf00180238651d9b7
  Author: Ross Lagerwall <ross.lagerwall@citrix.com>
  Date:   2024-07-01 (Mon, 01 Jul 2024)

  Changed paths:
    M hw/xen/xen-hvm-common.c

  Log Message:
  -----------
  xen-hvm: Avoid livelock while handling buffered ioreqs

A malicious or buggy guest may generated buffered ioreqs faster than
QEMU can process them in handle_buffered_iopage(). The result is a
livelock - QEMU continuously processes ioreqs on the main thread without
iterating through the main loop which prevents handling other events,
processing timers, etc. Without QEMU handling other events, it often
results in the guest becoming unsable and makes it difficult to stop the
source of buffered ioreqs.

To avoid this, if we process a full page of buffered ioreqs, stop and
reschedule an immediate timer to continue processing them. This lets
QEMU go back to the main loop and catch up.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Message-Id: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
Signed-off-by: Anthony PERARD <anthony@xenproject.org>


  Commit: 1152a0414944f03231f3177207d379d58125890e
      
https://github.com/qemu/qemu/commit/1152a0414944f03231f3177207d379d58125890e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-07-01 (Mon, 01 Jul 2024)

  Changed paths:
    M hw/i386/xen/xen-hvm.c
    M hw/xen/xen-host-pci-device.c
    M hw/xen/xen-host-pci-device.h
    M hw/xen/xen-hvm-common.c
    M include/hw/xen/xen.h
    M system/globals.c

  Log Message:
  -----------
  Merge tag 'pull-xen-20240701' of 
https://xenbits.xen.org/git-http/people/aperard/qemu-dm into staging

Xen queue:

* Improvement for running QEMU in a stubdomain.
* Improve handling of buffered ioreqs.

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEE+AwAYwjiLP2KkueYDPVXL9f7Va8FAmaCq2IACgkQDPVXL9f7
# Va9PHQf+N4SGAo8rD6Nw7z73b9/Qd20Pz82Pm3BLnJtioxxOhVPU33HJsyjkQRSs
# dVckRZk6IFfiAKWTPDsQfeL+qDBjL15usuZCLeq7zRr5NwV5OOlSh6fW6yurY8IR
# zHoCJTjYcaXbMCVIzAXhM19rZjFZCLNFYb3ADRvDANaxbhSx60EAg69S8gQeQhgw
# BVC5inDxMGSl4X7i8eh+E39H8X1RKNg4GQyLWOVksdElQuKeGFMThaSCmA3OHkOV
# Ny70+PrCM3Z1sbUMI3lDHdT4f9JXcYqJbnCjCDHCZgOeF2Z5UEfFlPiVQIo4OA7o
# b48LbOuThEZew4SrJS9lx9RKafoFyw==
# =oLvq
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 01 Jul 2024 06:13:06 AM PDT
# gpg:                using RSA key F80C006308E22CFD8A92E7980CF5572FD7FB55AF
# gpg: Good signature from "Anthony PERARD <anthony.perard@gmail.com>" 
[undefined]
# gpg:                 aka "Anthony PERARD <anthony.perard@citrix.com>" 
[undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 5379 2F71 024C 600F 778A  7161 D8D5 7199 DF83 42C8
#      Subkey fingerprint: F80C 0063 08E2 2CFD 8A92  E798 0CF5 572F D7FB 55AF

* tag 'pull-xen-20240701' of 
https://xenbits.xen.org/git-http/people/aperard/qemu-dm:
  xen-hvm: Avoid livelock while handling buffered ioreqs
  xen: fix stubdom PCI addr
  hw/xen: detect when running inside stubdomain

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b6d32a06fc09...1152a0414944

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]