Hi,

> > Not sure whenever qemu adds some extra space for hotplug to the 64bit
> > hole and if so how it calculates the size then.  But the guest os should
> > stick to those ranges when configuring hotplugged devices.

> currently firmware would assign 64-bit BARs after reserved-memory-end
> (not sure about ovmf though)

Ah, right, reserved-memory-end is checked too if present.  Both seabios
and ovmf should do that.

> but QEMU on ACPI side will add 64-bit _CRS only
> for firmware mapped devices (i.e. no space reserved for hotplug).

Yes.  Tested meanwhile, looks like this (seabios):

100000000-17fffffff : System RAM
180000000-1c1ffffff : PCI Bus 0000:00
  180000000-1bfffffff : 0000:00:0f.0
  1c0000000-1c07fffff : PCI Bus 0000:04
    1c0000000-1c07fffff : 0000:04:00.0
      1c0000000-1c07fffff : virtio-pci
  1c0800000-1c0ffffff : PCI Bus 0000:03
    1c0800000-1c0ffffff : 0000:03:00.0
      1c0800000-1c0ffffff : virtio-pci
  1c1000000-1c17fffff : PCI Bus 0000:02
    1c1000000-1c17fffff : 0000:02:00.0
      1c1000000-1c17fffff : virtio-pci
  1c1800000-1c19fffff : PCI Bus 0000:08
  1c1a00000-1c1bfffff : PCI Bus 0000:07
  1c1c00000-1c1dfffff : PCI Bus 0000:06
  1c1e00000-1c1ffffff : PCI Bus 0000:05

seabios assigns a 2M memory window to pci bridges (which support
hotplug) even in case no device is connected, so there is some space for
hotplug because of that.

/me should try the same with ovmf ...

cheers,
  Gerd


Reply via email to