Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d423ccd authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

x86/pci: remove rounding quirk from e820_setup_gap()



Now that the e820 code explicitly reserves 'potentially dangerous'
free physical memory address space to protect ACPI stolen RAM,
there's no need for the rounding quirk in the PCI allocator anymore.

Also, this quirk was open-ended iteration that could end up reserving
a lot of free space and potentially breaking drivers - such as the one
reported by Yannick Roehlly <yannick.roehlly@free.fr> where there's
a PCI device with a large memory resource.

So remove it.

[ Impact: make more of the PCI hole available for assigning pci devices ]

Reported-by: default avatarYannick Roehlly <yannick.roehlly@free.fr>
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Acked-by: default avatarJesse Barnes <jesse.barnes@intel.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <4A01A7C8.5090701@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 45fbe3ee
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -617,7 +617,7 @@ __init int e820_search_gap(unsigned long *gapstart, unsigned long *gapsize,
 */
__init void e820_setup_gap(void)
{
	unsigned long gapstart, gapsize, round;
	unsigned long gapstart, gapsize;
	int found;

	gapstart = 0x10000000;
@@ -635,14 +635,9 @@ __init void e820_setup_gap(void)
#endif

	/*
	 * See how much we want to round up: start off with
	 * rounding to the next 1MB area.
	 * e820_reserve_resources_late protect stolen RAM already
	 */
	round = 0x100000;
	while ((gapsize >> 4) > round)
		round += round;
	/* Fun with two's complement */
	pci_mem_start = (gapstart + round) & -round;
	pci_mem_start = gapstart;

	printk(KERN_INFO
	       "Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",