* Start allocating dynamic PCI memory a bit into the gap, * aligned up to the nearest megabyte. * * Question: should we try to pad it up a bit (do something * like " + (gapsize >> 3)" in there too?). We now have the * technology. 
* See how much we want to round up: start off with * rounding to the next 1MB area. 
static void __init register_memory(void){	unsigned long gapstart, gapsize;	unsigned long long last;	int	      i;	if (efi_enabled)		efi_initialize_iomem_resources(&code_resource, &data_resource);	else		legacy_init_iomem_resources(&code_resource, &data_resource);	/* EFI systems may still have VGA */	request_resource(&iomem_resource, &video_ram_resource);	/* request I/O space for devices used on all i[345]86 PCs */	for (i = 0; i < STANDARD_IO_RESOURCES; i++)		request_resource(&ioport_resource, &standard_io_resources[i]);	/*	 * Search for the bigest gap in the low 32 bits of the e820	 * memory space.	 */	last = 0x100000000ull;	gapstart = 0x10000000;	gapsize = 0x400000;	i = e820.nr_map;	while (--i >= 0) {		unsigned long long start = e820.map[i].addr;		unsigned long long end = start + e820.map[i].size;		/*		 * Since "last" is at most 4GB, we know we'll		 * fit in 32 bits if this condition is true		 */		if (last > end) {			unsigned long gap = last - end;			if (gap > gapsize) {				gapsize = gap;				gapstart = end;			}		}		if (start < last)			last = start;	}	/*	 * Start allocating dynamic PCI memory a bit into the gap,	 * aligned up to the nearest megabyte.	 *	 * Question: should we try to pad it up a bit (do something	 * like " + (gapsize >> 3)" in there too?). We now have the	 * technology.	 */	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;	printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n",		pci_mem_start, gapstart, gapsize);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f0eca9626c6becb6fc56106b2e4287c6c784af3d/setup.c/clean/arch/i386/kernel/setup.c