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

Quelle  mmu.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __MMU_H
#define __MMU_H

/*
 * Privileged Space Mapping Buffer (PMB) definitions
 */

#define PMB_PASCR  0xff000070
#define PMB_IRMCR  0xff000078

#define PASCR_SE  0x80000000

#define PMB_ADDR  0xf6100000
#define PMB_DATA  0xf7100000

#define NR_PMB_ENTRIES  16

#define PMB_E_MASK  0x0000000f
#define PMB_E_SHIFT  8

#define PMB_PFN_MASK  0xff000000

#define PMB_SZ_16M  0x00000000
#define PMB_SZ_64M  0x00000010
#define PMB_SZ_128M  0x00000080
#define PMB_SZ_512M  0x00000090
#define PMB_SZ_MASK  PMB_SZ_512M
#define PMB_C   0x00000008
#define PMB_WT   0x00000001
#define PMB_UB   0x00000200
#define PMB_CACHE_MASK  (PMB_C | PMB_WT | PMB_UB)
#define PMB_V   0x00000100

#define PMB_NO_ENTRY  (-1)

#ifndef __ASSEMBLER__
#include <linux/errno.h>
#include <linux/threads.h>
#include <asm/page.h>

/* Default "unsigned long" context */
typedef unsigned long mm_context_id_t[NR_CPUS];

typedef struct {
#ifdef CONFIG_MMU
 mm_context_id_t  id;
 void   *vdso;
#else
 unsigned long  end_brk;
#endif
#ifdef CONFIG_BINFMT_ELF_FDPIC
 unsigned long  exec_fdpic_loadmap;
 unsigned long  interp_fdpic_loadmap;
#endif
} mm_context_t;

#ifdef CONFIG_PMB
/* arch/sh/mm/pmb.c */
bool __in_29bit_mode(void);

void pmb_init(void);
int pmb_bolt_mapping(unsigned long virt, phys_addr_t phys,
       unsigned long size, pgprot_t prot);
void __iomem *pmb_remap_caller(phys_addr_t phys, unsigned long size,
          pgprot_t prot, void *caller);
int pmb_unmap(void __iomem *addr);

#else

static inline int
pmb_bolt_mapping(unsigned long virt, phys_addr_t phys,
   unsigned long size, pgprot_t prot)
{
 return -EINVAL;
}

static inline void __iomem *
pmb_remap_caller(phys_addr_t phys, unsigned long size,
   pgprot_t prot, void *caller)
{
 return NULL;
}

static inline int pmb_unmap(void __iomem *addr)
{
 return -EINVAL;
}

#define pmb_init(addr)  do { } while (0)

#ifdef CONFIG_29BIT
#define __in_29bit_mode() (1)
#else
#define __in_29bit_mode() (0)
#endif

#endif /* CONFIG_PMB */

static inline void __iomem *
pmb_remap(phys_addr_t phys, unsigned long size, pgprot_t prot)
{
 return pmb_remap_caller(phys, size, prot, __builtin_return_address(0));
}

#endif /* __ASSEMBLER__ */

#endif /* __MMU_H */

Messung V0.5
C=94 H=90 G=91

¤ Dauer der Verarbeitung: 0.0 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.