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

Quelle  pgalloc.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * OpenRISC Linux
 *
 * Linux architectural port borrowing liberally from similar works of
 * others.  All original copyrights apply as per the original source
 * declaration.
 *
 * OpenRISC implementation:
 * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
 * et al.
 */


#ifndef __ASM_OPENRISC_PGALLOC_H
#define __ASM_OPENRISC_PGALLOC_H

#include <asm/page.h>
#include <linux/threads.h>
#include <linux/mm.h>
#include <linux/memblock.h>

#define __HAVE_ARCH_PTE_ALLOC_ONE_KERNEL
#include <asm-generic/pgalloc.h>

extern int mem_init_done;

#define pmd_populate_kernel(mm, pmd, pte) \
 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte)))

static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
    struct page *pte)
{
 set_pmd(pmd, __pmd(_KERNPG_TABLE +
       ((unsigned long)page_to_pfn(pte) <<
       (unsigned long) PAGE_SHIFT)));
}

/*
 * Allocate and free page tables.
 */

static inline pgd_t *pgd_alloc(struct mm_struct *mm)
{
 pgd_t *ret = __pgd_alloc(mm, 0);

 if (ret)
  memcpy(ret + USER_PTRS_PER_PGD,
         swapper_pg_dir + USER_PTRS_PER_PGD,
         (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));

 return ret;
}

#if 0
/* FIXME: This seems to be the preferred style, but we are using
 * current_pgd (from mm->pgd) to load kernel pages so we need it
 * initialized.  This needs to be looked into.
 */

extern inline pgd_t *pgd_alloc(struct mm_struct *mm)
{
 return (pgd_t *)get_zeroed_page(GFP_KERNEL);
}
#endif

extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);

#define __pte_free_tlb(tlb, pte, addr) \
 tlb_remove_ptdesc((tlb), page_ptdesc(pte))

#endif

Messung V0.5
C=95 H=92 G=93

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© 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.