Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
sh
mm
hugetlbpage.c
Go to the documentation of this file.
1
/*
2
* arch/sh/mm/hugetlbpage.c
3
*
4
* SuperH HugeTLB page support.
5
*
6
* Cloned from sparc64 by Paul Mundt.
7
*
8
* Copyright (C) 2002, 2003 David S. Miller (
[email protected]
)
9
*/
10
11
#include <
linux/init.h
>
12
#include <linux/fs.h>
13
#include <
linux/mm.h
>
14
#include <
linux/hugetlb.h
>
15
#include <
linux/pagemap.h
>
16
#include <linux/sysctl.h>
17
18
#include <asm/mman.h>
19
#include <asm/pgalloc.h>
20
#include <asm/tlb.h>
21
#include <asm/tlbflush.h>
22
#include <asm/cacheflush.h>
23
24
pte_t
*
huge_pte_alloc
(
struct
mm_struct
*mm,
25
unsigned
long
addr
,
unsigned
long
sz)
26
{
27
pgd_t
*pgd;
28
pud_t
*pud;
29
pmd_t
*
pmd
;
30
pte_t
*
pte
=
NULL
;
31
32
pgd =
pgd_offset
(mm, addr);
33
if
(pgd) {
34
pud =
pud_alloc
(mm, pgd, addr);
35
if
(pud) {
36
pmd =
pmd_alloc
(mm, pud, addr);
37
if
(pmd)
38
pte = pte_alloc_map(mm,
NULL
, pmd, addr);
39
}
40
}
41
42
return
pte
;
43
}
44
45
pte_t
*
huge_pte_offset
(
struct
mm_struct
*mm,
unsigned
long
addr
)
46
{
47
pgd_t
*pgd;
48
pud_t
*pud;
49
pmd_t
*
pmd
;
50
pte_t
*
pte
=
NULL
;
51
52
pgd =
pgd_offset
(mm, addr);
53
if
(pgd) {
54
pud =
pud_offset
(pgd, addr);
55
if
(pud) {
56
pmd =
pmd_offset
(pud, addr);
57
if
(pmd)
58
pte =
pte_offset_map
(pmd, addr);
59
}
60
}
61
62
return
pte
;
63
}
64
65
int
huge_pmd_unshare
(
struct
mm_struct
*mm,
unsigned
long
*
addr
,
pte_t
*ptep)
66
{
67
return
0;
68
}
69
70
struct
page
*
follow_huge_addr
(
struct
mm_struct
*mm,
71
unsigned
long
address
,
int
write
)
72
{
73
return
ERR_PTR(-
EINVAL
);
74
}
75
76
int
pmd_huge
(
pmd_t
pmd
)
77
{
78
return
0;
79
}
80
81
int
pud_huge
(
pud_t
pud)
82
{
83
return
0;
84
}
85
86
struct
page
*
follow_huge_pmd
(
struct
mm_struct
*mm,
unsigned
long
address
,
87
pmd_t
*
pmd
,
int
write
)
88
{
89
return
NULL
;
90
}
Generated on Thu Jan 10 2013 13:07:09 for Linux Kernel by
1.8.2