/* Special kludge - This page will be mapped in to userspace processes * from physmem_fd, so it needs to be written out there. */ os_seek_file(physmem_fd, __pa(&__syscall_stub_start)); os_write_file(physmem_fd, &__syscall_stub_start, PAGE_SIZE);  
void setup_physmem(unsigned long start, unsigned long reserve_end,		   unsigned long len, unsigned long highmem){	unsigned long reserve = reserve_end - start;	int pfn = PFN_UP(__pa(reserve_end));	int delta = (len - reserve) >> PAGE_SHIFT;	int err, offset, bootmap_size;	physmem_fd = create_mem_file(len + highmem);	offset = uml_reserved - uml_physmem;	err = os_map_memory((void *) uml_reserved, physmem_fd, offset,			    len - offset, 1, 1, 0);	if(err < 0){		os_print_error(err, "Mapping memory");		exit(1);	}	bootmap_size = init_bootmem(pfn, pfn + delta);	free_bootmem(__pa(reserve_end) + bootmap_size,		     len - bootmap_size - reserve);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d67b569f5f620c0fb95d5212642746b7ba9d29e4/physmem.c/clean/arch/um/kernel/physmem.c