// SPDX-License-Identifier: GPL-2.01/*2* This code comes from arch/arm64/kernel/crash_dump.c3* Created by: AKASHI Takahiro <[email protected]>4* Copyright (C) 2017 Linaro Limited5*/67#include <linux/crash_dump.h>8#include <linux/io.h>9#include <linux/uio.h>1011ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,12size_t csize, unsigned long offset)13{14void *vaddr;1516if (!csize)17return 0;1819vaddr = memremap(__pfn_to_phys(pfn), PAGE_SIZE, MEMREMAP_WB);20if (!vaddr)21return -ENOMEM;2223csize = copy_to_iter(vaddr + offset, csize, iter);2425memunmap(vaddr);26return csize;27}282930