summaryrefslogtreecommitdiffstats
path: root/pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch')
-rw-r--r--pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch40
1 files changed, 0 insertions, 40 deletions
diff --git a/pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch b/pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch
deleted file mode 100644
index 48ad106a6..000000000
--- a/pci-v2-2-4-x86-PCI-allocate-space-from-the-end-of-a-region-not-the-beginning.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
-index 5525309..fe866c8 100644
---- a/arch/x86/pci/i386.c
-+++ b/arch/x86/pci/i386.c
-@@ -37,6 +37,7 @@
- #include <asm/pci_x86.h>
- #include <asm/io_apic.h>
-
-+#define ALIGN_DOWN(x, a) ((x) & ~(a - 1))
-
- static int
- skip_isa_ioresource_align(struct pci_dev *dev) {
-@@ -65,16 +66,21 @@ pcibios_align_resource(void *data, const struct resource *res,
- resource_size_t size, resource_size_t align)
- {
- struct pci_dev *dev = data;
-- resource_size_t start = res->start;
-+ resource_size_t start = ALIGN_DOWN(res->end - size + 1, align);
-
- if (res->flags & IORESOURCE_IO) {
-- if (skip_isa_ioresource_align(dev))
-- return start;
-- if (start & 0x300)
-- start = (start + 0x3ff) & ~0x3ff;
-+
-+ /*
-+ * If we're avoiding ISA aliases, the largest contiguous I/O
-+ * port space is 256 bytes. Clearing bits 9 and 10 preserves
-+ * all 256-byte and smaller alignments, so the result will
-+ * still be correctly aligned.
-+ */
-+ if (!skip_isa_ioresource_align(dev))
-+ start &= ~0x300;
- } else if (res->flags & IORESOURCE_MEM) {
- if (start < BIOS_END)
-- start = BIOS_END;
-+ start = res->end; /* fail; no space */
- }
- return start;
- }