From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48579) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WYJhB-0002Mw-Ly for qemu-devel@nongnu.org; Thu, 10 Apr 2014 14:27:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WYJh5-0007Zh-IT for qemu-devel@nongnu.org; Thu, 10 Apr 2014 14:27:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31164) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WYJh5-0007Zd-Bz for qemu-devel@nongnu.org; Thu, 10 Apr 2014 14:27:23 -0400 From: Marcel Apfelbaum Date: Thu, 10 Apr 2014 21:27:44 +0300 Message-Id: <1397154466-22459-1-git-send-email-marcel.a@redhat.com> Subject: [Qemu-devel] [SeaBIOS [PATCH V5 0/2] hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: seabios@seabios.org Cc: kevin@koconnor.net, kraxel@redhat.com, qemu-devel@nongnu.org, mst@redhat.com v4 -> v5 - Addressed Michael S. Tsirkin's comments (patch 2/2): - Open-coded pci_config_is_reserved() method. v3 -> v4: - Addressed Kevin O'Connor's comments: - Refactored a for loop in patch 1/2. - Addressed Michael S. Tsirkin's comments (patch 2/2): - Removed not needed method - Test only base registers (dropped limits tests) - Renamed a helper method - Used 0xFF to test if the memory is reserved - Simplified code in pci_bridge_has_region - I did keep the code that restores base's address as I don't want to modify the registers in a 'query' method. (as replied on the mail thread) v2 -> v3: - Addressed Michael S. Tsirkin's comments: - I/O and Prefetchable Memory are optional. Do not allocate ranges if they are not implemented (2/2). - Note that 2/2 patch can be seen as a separate fix. However, it is related to ranges reservation. v1 -> v2: - Thanks Gerd Hoffmann for the review. - Addressed Michael S. Tsirkin's comments: - Limit capabilities query to 256 iterations, to make sure we don't get into an infinite loop with a broken device. If a pci-2-pci bridge supports hot-plug functionality but there are no devices connected to it, reserve IO/mem in order to be able to attach devices later. Do not waste space, use minimum allowed. Marcel Apfelbaum (2): hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached hw/pci: check if pci2pci bridges implement optional limit registers src/fw/pciinit.c | 12 +++++------- src/hw/pci.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/hw/pci.h | 10 ++++++++++ 3 files changed, 60 insertions(+), 7 deletions(-) -- 1.8.3.1