pmap.h (9b4fcf851a73554063d4a2de9a4f10cd23a0a4f6) pmap.h (c47dd3db8cf22114267360dddb4b0334b997db0c)
1/*-
2 * Copyright (C) 2006 Semihalf, Marian Balakowicz <m8@semihalf.com>
3 * All rights reserved.
4 *
5 * Adapted for Freescale's e500 core CPUs.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 52 unchanged lines hidden (view full) ---

61 * from: $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $
62 */
63
64#ifndef _MACHINE_PMAP_H_
65#define _MACHINE_PMAP_H_
66
67#include <sys/queue.h>
68#include <sys/tree.h>
1/*-
2 * Copyright (C) 2006 Semihalf, Marian Balakowicz <m8@semihalf.com>
3 * All rights reserved.
4 *
5 * Adapted for Freescale's e500 core CPUs.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 52 unchanged lines hidden (view full) ---

61 * from: $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $
62 */
63
64#ifndef _MACHINE_PMAP_H_
65#define _MACHINE_PMAP_H_
66
67#include <sys/queue.h>
68#include <sys/tree.h>
69#include <sys/_cpuset.h>
69#include <sys/_lock.h>
70#include <sys/_mutex.h>
71#include <machine/sr.h>
72#include <machine/pte.h>
73#include <machine/slb.h>
74#include <machine/tlb.h>
75
76struct pmap_md {

--- 16 unchanged lines hidden (view full) ---

93
94 #ifdef __powerpc64__
95 struct slbtnode *pm_slb_tree_root;
96 struct slb **pm_slb;
97 int pm_slb_len;
98 #else
99 register_t pm_sr[16];
100 #endif
70#include <sys/_lock.h>
71#include <sys/_mutex.h>
72#include <machine/sr.h>
73#include <machine/pte.h>
74#include <machine/slb.h>
75#include <machine/tlb.h>
76
77struct pmap_md {

--- 16 unchanged lines hidden (view full) ---

94
95 #ifdef __powerpc64__
96 struct slbtnode *pm_slb_tree_root;
97 struct slb **pm_slb;
98 int pm_slb_len;
99 #else
100 register_t pm_sr[16];
101 #endif
101 cpumask_t pm_active;
102 cpuset_t pm_active;
102
103 struct pmap *pmap_phys;
104 struct pmap_statistics pm_stats;
105};
106
107typedef struct pmap *pmap_t;
108
109struct pvo_entry {

--- 60 unchanged lines hidden (view full) ---

170struct slb **slb_alloc_user_cache(void);
171void slb_free_user_cache(struct slb **);
172
173#else
174
175struct pmap {
176 struct mtx pm_mtx; /* pmap mutex */
177 tlbtid_t pm_tid[MAXCPU]; /* TID to identify this pmap entries in TLB */
103
104 struct pmap *pmap_phys;
105 struct pmap_statistics pm_stats;
106};
107
108typedef struct pmap *pmap_t;
109
110struct pvo_entry {

--- 60 unchanged lines hidden (view full) ---

171struct slb **slb_alloc_user_cache(void);
172void slb_free_user_cache(struct slb **);
173
174#else
175
176struct pmap {
177 struct mtx pm_mtx; /* pmap mutex */
178 tlbtid_t pm_tid[MAXCPU]; /* TID to identify this pmap entries in TLB */
178 cpumask_t pm_active; /* active on cpus */
179 cpuset_t pm_active; /* active on cpus */
179 struct pmap_statistics pm_stats; /* pmap statistics */
180
181 /* Page table directory, array of pointers to page tables. */
182 pte_t *pm_pdir[PDIR_NENTRIES];
183
184 /* List of allocated ptbl bufs (ptbl kva regions). */
185 TAILQ_HEAD(, ptbl_buf) pm_ptbl_list;
186};

--- 66 unchanged lines hidden ---
180 struct pmap_statistics pm_stats; /* pmap statistics */
181
182 /* Page table directory, array of pointers to page tables. */
183 pte_t *pm_pdir[PDIR_NENTRIES];
184
185 /* List of allocated ptbl bufs (ptbl kva regions). */
186 TAILQ_HEAD(, ptbl_buf) pm_ptbl_list;
187};

--- 66 unchanged lines hidden ---