/* Find the hole size (in bytes) in the memory range. @start: starting address of the memory range to scan @end: ending address of the memory range to scan  */
u64 __init e820_hole_size(u64 start, u64 end)
/* Find the hole size (in bytes) in the memory range. @start: starting address of the memory range to scan @end: ending address of the memory range to scan  */
u64 __init e820_hole_size(u64 start, u64 end)
{
	unsigned long start_pfn = start >> PAGE_SHIFT;
	unsigned long last_pfn = end >> PAGE_SHIFT;
	unsigned long ei_startpfn, ei_endpfn, ram = 0;
	int i;
	for (i = 0; i < e820.nr_map; i++) {
		if (e820_find_active_region(&e820.map[i],
					    start_pfn, last_pfn,
					    &ei_startpfn, &ei_endpfn))
			ram += ei_endpfn - ei_startpfn;
	}
	return end - start - ((u64)ram << PAGE_SHIFT);
}