cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

crash_dump.c (782B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * arch/arm/kernel/crash_dump.c
      4 *
      5 * Copyright (C) 2010 Nokia Corporation.
      6 * Author: Mika Westerberg
      7 *
      8 * This code is taken from arch/x86/kernel/crash_dump_64.c
      9 *   Created by: Hariprasad Nellitheertha (hari@in.ibm.com)
     10 *   Copyright (C) IBM Corporation, 2004. All rights reserved
     11 */
     12
     13#include <linux/errno.h>
     14#include <linux/crash_dump.h>
     15#include <linux/uaccess.h>
     16#include <linux/io.h>
     17#include <linux/uio.h>
     18
     19ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
     20			 size_t csize, unsigned long offset)
     21{
     22	void *vaddr;
     23
     24	if (!csize)
     25		return 0;
     26
     27	vaddr = ioremap(__pfn_to_phys(pfn), PAGE_SIZE);
     28	if (!vaddr)
     29		return -ENOMEM;
     30
     31	csize = copy_to_iter(vaddr + offset, csize, iter);
     32
     33	iounmap(vaddr);
     34	return csize;
     35}