Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/x86/kernel/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  crash_dump_32.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
/*
 * Memory preserving reboot related code.
 *
 * Created by: Hariprasad Nellitheertha (hari@in.ibm.com)
 * Copyright (C) IBM Corporation, 2004. All rights reserved
 */


#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/highmem.h>
#include <linux/crash_dump.h>
#include <linux/uio.h>

static inline bool is_crashed_pfn_valid(unsigned long pfn)
{
#ifndef CONFIG_X86_PAE
 /*
 * non-PAE kdump kernel executed from a PAE one will crop high pte
 * bits and poke unwanted space counting again from address 0, we
 * don't want that. pte must fit into unsigned long. In fact the
 * test checks high 12 bits for being zero (pfn will be shifted left
 * by PAGE_SHIFT).
 */

 return pte_pfn(pfn_pte(pfn, __pgprot(0))) == pfn;
#else
 return true;
#endif
}

ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn, size_t csize,
    unsigned long offset)
{
 void  *vaddr;

 if (!csize)
  return 0;

 if (!is_crashed_pfn_valid(pfn))
  return -EFAULT;

 vaddr = kmap_local_pfn(pfn);
 csize = copy_to_iter(vaddr + offset, csize, iter);
 kunmap_local(vaddr);

 return csize;
}

Messung V0.5
C=94 H=98 G=95

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.