qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL for-1.8 1/2] pc: disable pci-info


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PULL for-1.8 1/2] pc: disable pci-info
Date: Tue, 26 Nov 2013 15:11:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131118 Thunderbird/17.0.11

On 11/26/13 10:10, Michael S. Tsirkin wrote:

> seabios manages to enumerate PCI with information exported from qemu
> so why can't OVMF?

SeaBIOS and qemu duplicate logic (code) between each other.

src/fw/pciinit.c grabs RamSize over fw_cfg, and i440fx_mem_addr_setup()
sets "pcimem_start" to one of three values based on RamSize. (One of the
three is not explicit there, it's the build default 0xe0000000.)

The same code is visible in qemu in i440fx_init().

I duplicated the same logic in OVMF's PEI one week ago, and it solved
the problem. See the patch attached to
<http://thread.gmane.org/gmane.comp.bios.tianocore.devel/4881/focus=4995>.

But code/logic duplication is ugly, which is why I've been looking for a
better, dynamic solution ever since.

> I think it's down to other qemu bugs (such as _CRS not covering
> all of PCI memory), we shall just fix them.

I don't know how to fix them. I don't know how to enumerate all PCI
regions in use, plus all unassigned ranges, from below, like with a
MemoryListener.

If I understand correctly, Igor suggested to track devices as they map
their regions, but (again, if I understood correctly) you didn't seem to
like the idea.

Thanks
Laszlo



reply via email to

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