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
x86
include
asm
hugetlb.h
Go to the documentation of this file.
1
#ifndef _ASM_X86_HUGETLB_H
2
#define _ASM_X86_HUGETLB_H
3
4
#include <asm/page.h>
5
6
7
static
inline
int
is_hugepage_only_range
(
struct
mm_struct
*mm,
8
unsigned
long
addr
,
9
unsigned
long
len) {
10
return
0;
11
}
12
13
/*
14
* If the arch doesn't supply something else, assume that hugepage
15
* size aligned regions are ok without further preparation.
16
*/
17
static
inline
int
prepare_hugepage_range
(
struct
file
*
file
,
18
unsigned
long
addr
,
unsigned
long
len)
19
{
20
struct
hstate
*
h
=
hstate_file
(file);
21
if
(len & ~
huge_page_mask
(h))
22
return
-
EINVAL
;
23
if
(addr & ~
huge_page_mask
(h))
24
return
-
EINVAL
;
25
return
0;
26
}
27
28
static
inline
void
hugetlb_prefault_arch_hook
(
struct
mm_struct
*mm) {
29
}
30
31
static
inline
void
hugetlb_free_pgd_range
(
struct
mmu_gather
*tlb,
32
unsigned
long
addr,
unsigned
long
end
,
33
unsigned
long
floor
,
34
unsigned
long
ceiling)
35
{
36
free_pgd_range
(tlb, addr, end, floor, ceiling);
37
}
38
39
static
inline
void
set_huge_pte_at
(
struct
mm_struct
*mm,
unsigned
long
addr,
40
pte_t
*ptep,
pte_t
pte
)
41
{
42
set_pte_at
(mm, addr, ptep, pte);
43
}
44
45
static
inline
pte_t
huge_ptep_get_and_clear
(
struct
mm_struct
*mm,
46
unsigned
long
addr,
pte_t
*ptep)
47
{
48
return
ptep_get_and_clear
(mm, addr, ptep);
49
}
50
51
static
inline
void
huge_ptep_clear_flush(
struct
vm_area_struct
*vma,
52
unsigned
long
addr,
pte_t
*ptep)
53
{
54
}
55
56
static
inline
int
huge_pte_none(
pte_t
pte
)
57
{
58
return
pte_none
(pte);
59
}
60
61
static
inline
pte_t
huge_pte_wrprotect(
pte_t
pte
)
62
{
63
return
pte_wrprotect
(pte);
64
}
65
66
static
inline
void
huge_ptep_set_wrprotect
(
struct
mm_struct
*mm,
67
unsigned
long
addr,
pte_t
*ptep)
68
{
69
ptep_set_wrprotect
(mm, addr, ptep);
70
}
71
72
static
inline
int
huge_ptep_set_access_flags
(
struct
vm_area_struct
*vma,
73
unsigned
long
addr,
pte_t
*ptep,
74
pte_t
pte
,
int
dirty
)
75
{
76
return
ptep_set_access_flags
(vma, addr, ptep, pte, dirty);
77
}
78
79
static
inline
pte_t
huge_ptep_get(
pte_t
*ptep)
80
{
81
return
*ptep;
82
}
83
84
static
inline
int
arch_prepare_hugepage
(
struct
page
*
page
)
85
{
86
return
0;
87
}
88
89
static
inline
void
arch_release_hugepage
(
struct
page
*
page
)
90
{
91
}
92
93
static
inline
void
arch_clear_hugepage_flags
(
struct
page
*
page
)
94
{
95
}
96
97
#endif
/* _ASM_X86_HUGETLB_H */
Generated on Thu Jan 10 2013 13:06:10 for Linux Kernel by
1.8.2