[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Linux options pci-mem-align vs. reassigndev=
On Tue, 21 Oct 2008 11:57:00 +0100 "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote: > Isn't the latter superior to the former (as it works on individual devices > rather > than globally), and couldn't the former hence be removed again? This patch removes "pci-mem-align" option from dom0 linux. Thanks, -- Yuji Shimada Signed-off-by: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx> diff -r 240657899772 drivers/pci/bus.c --- a/drivers/pci/bus.c Fri Oct 17 12:02:53 2008 +0100 +++ b/drivers/pci/bus.c Mon Oct 20 15:41:10 2008 +0900 @@ -16,8 +16,6 @@ #include <linux/init.h> #include "pci.h" - -extern int pci_mem_align; /** * pci_bus_alloc_resource - allocate a resource from a parent bus @@ -45,11 +43,6 @@ pci_bus_alloc_resource(struct pci_bus *b int i, ret = -ENOMEM; type_mask |= IORESOURCE_IO | IORESOURCE_MEM; - - /* If the boot parameter 'pci-mem-align' was specified then we need to - align the memory addresses, at page size alignment. */ - if (pci_mem_align && (align < (PAGE_SIZE-1))) - align = PAGE_SIZE - 1; for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) { struct resource *r = bus->resource[i]; diff -r 240657899772 drivers/pci/quirks.c --- a/drivers/pci/quirks.c Fri Oct 17 12:02:53 2008 +0100 +++ b/drivers/pci/quirks.c Mon Oct 20 15:41:10 2008 +0900 @@ -23,25 +23,17 @@ #include <linux/acpi.h> #include "pci.h" -/* A global flag which signals if we should page-align PCI mem windows. */ -int pci_mem_align = 0; -static int __init set_pci_mem_align(char *str) -{ - pci_mem_align = 1; - return 1; -} -__setup("pci-mem-align", set_pci_mem_align); - - -/* This quirk function enables us to force all memory resources which are - * assigned to PCI devices, to be page-aligned. +/* + * This quirk function disables the device and releases resources + * which is specified by kernel's boot parameter 'reassigndev'. + * Later on, kernel will assign page-aligned memory resource back + * to that device. */ -static void __devinit quirk_align_mem_resources(struct pci_dev *dev) +static void __devinit quirk_release_resources(struct pci_dev *dev) { int i; struct resource *r; - resource_size_t old_start; if (is_reassigndev(dev)) { if (dev->hdr_type == PCI_HEADER_TYPE_NORMAL && @@ -76,21 +68,8 @@ static void __devinit quirk_align_mem_re } return; } - - if (!pci_mem_align) - return; - - for (i=0; i < DEVICE_COUNT_RESOURCE; i++) { - r = &dev->resource[i]; - if ((r == NULL) || !(r->flags & IORESOURCE_MEM)) - continue; - - old_start = r->start; - r->start = (r->start + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1); - r->end = r->end - (old_start - r->start); - } } -DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_align_mem_resources); +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_release_resources); /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |