unsigned long low_mem_size; 
void __init setup_arch(char **cmdline_p){	unsigned long low_mem_size;	unsigned long kernel_end; 	ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); 	drive_info = DRIVE_INFO; 	screen_info = SCREEN_INFO;	edid_info = EDID_INFO;	saved_video_mode = SAVED_VIDEO_MODE;	bootloader_type = LOADER_TYPE;#ifdef CONFIG_BLK_DEV_RAM	rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK;	rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0);	rd_doload = ((RAMDISK_FLAGS & RAMDISK_LOAD_FLAG) != 0);#endif	setup_memory_region();	copy_edd();	if (!MOUNT_ROOT_RDONLY)		root_mountflags &= ~MS_RDONLY;	init_mm.start_code = (unsigned long) &_text;	init_mm.end_code = (unsigned long) &_etext;	init_mm.end_data = (unsigned long) &_edata;	init_mm.brk = (unsigned long) &_end;	code_resource.start = virt_to_phys(&_text);	code_resource.end = virt_to_phys(&_etext)-1;	data_resource.start = virt_to_phys(&_etext);	data_resource.end = virt_to_phys(&_edata)-1;	parse_cmdline_early(cmdline_p);	early_identify_cpu(&boot_cpu_data);	/*	 * partially used pages are not usable - thus	 * we are rounding upwards:	 */	end_pfn = e820_end_of_ram();	check_efer();	init_memory_mapping(0, (end_pfn_map << PAGE_SHIFT));#ifdef CONFIG_ACPI_BOOT	/*	 * Initialize the ACPI boot-time table parser (gets the RSDP and SDT).	 * Call this early for SRAT node setup.	 */	acpi_boot_table_init();#endif#ifdef CONFIG_ACPI_NUMA	/*	 * Parse SRAT to discover nodes.	 */	acpi_numa_init();#endif#ifdef CONFIG_DISCONTIGMEM	numa_initmem_init(0, end_pfn); #else	contig_initmem_init(); #endif	/* Reserve direct mapping */	reserve_bootmem_generic(table_start << PAGE_SHIFT, 				(table_end - table_start) << PAGE_SHIFT);	/* reserve kernel */	kernel_end = round_up(__pa_symbol(&_end),PAGE_SIZE);	reserve_bootmem_generic(HIGH_MEMORY, kernel_end - HIGH_MEMORY);	/*	 * reserve physical page 0 - it's a special BIOS page on many boxes,	 * enabling clean reboots, SMP operation, laptop functions.	 */	reserve_bootmem_generic(0, PAGE_SIZE);	/* reserve ebda region */	reserve_ebda_region();#ifdef CONFIG_SMP	/*	 * But first pinch a few for the stack/trampoline stuff	 * FIXME: Don't need the extra page at 4K, but need to fix	 * trampoline before removing it. (see the GDT stuff)	 */	reserve_bootmem_generic(PAGE_SIZE, PAGE_SIZE);	/* Reserve SMP trampoline */	reserve_bootmem_generic(SMP_TRAMPOLINE_BASE, PAGE_SIZE);#endif#ifdef CONFIG_ACPI_SLEEP       /*        * Reserve low memory region for sleep support.        */       acpi_reserve_bootmem();#endif#ifdef CONFIG_X86_LOCAL_APIC	/*	 * Find and reserve possible boot-time SMP configuration:	 */	find_smp_config();#endif#ifdef CONFIG_BLK_DEV_INITRD	if (LOADER_TYPE && INITRD_START) {		if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) {			reserve_bootmem_generic(INITRD_START, INITRD_SIZE);			initrd_start =				INITRD_START ? INITRD_START + PAGE_OFFSET : 0;			initrd_end = initrd_start+INITRD_SIZE;		}		else {			printk(KERN_ERR "initrd extends beyond end of memory "			    "(0x%08lx > 0x%08lx)\ndisabling initrd\n",			    (unsigned long)(INITRD_START + INITRD_SIZE),			    (unsigned long)(end_pfn << PAGE_SHIFT));			initrd_start = 0;		}	}#endif	paging_init();	check_ioapic();#ifdef CONFIG_ACPI_BOOT	/*	 * Read APIC and some other early information from ACPI tables.	 */	acpi_boot_init();#endif#ifdef CONFIG_X86_LOCAL_APIC	/*	 * get boot-time SMP configuration:	 */	if (smp_found_config)		get_smp_config();	init_apic_mappings();#endif	/*	 * Request address space for all standard RAM and ROM resources	 * and also for regions reported as reserved by the e820.	 */	probe_roms();	e820_reserve_resources(); 	request_resource(&iomem_resource, &video_ram_resource);	{	unsigned i;	/* 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]);	}	/* Will likely break when you have unassigned resources with more	   than 4GB memory and bridges that don't support more than 4GB. 	   Doing it properly would require to use pci_alloc_consistent	   in this case. */	low_mem_size = ((end_pfn << PAGE_SHIFT) + 0xfffff) & ~0xfffff;	if (low_mem_size > pci_mem_start)		pci_mem_start = low_mem_size;#ifdef CONFIG_GART_IOMMU       iommu_hole_init();#endif#ifdef CONFIG_VT#if defined(CONFIG_VGA_CONSOLE)	conswitchp = &vga_con;#elif defined(CONFIG_DUMMY_CONSOLE)	conswitchp = &dummy_con;#endif#endif}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a1e9778203b15b86bc2219e87478d3be9acce735/setup.c/clean/arch/x86_64/kernel/setup.c