FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
physmem.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
/*
16
* physmem.h: virtual <-> physical memory mapping for VLIB buffers
17
*
18
* Copyright (c) 2008 Eliot Dresselhaus
19
*
20
* Permission is hereby granted, free of charge, to any person obtaining
21
* a copy of this software and associated documentation files (the
22
* "Software"), to deal in the Software without restriction, including
23
* without limitation the rights to use, copy, modify, merge, publish,
24
* distribute, sublicense, and/or sell copies of the Software, and to
25
* permit persons to whom the Software is furnished to do so, subject to
26
* the following conditions:
27
*
28
* The above copyright notice and this permission notice shall be
29
* included in all copies or substantial portions of the Software.
30
*
31
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
35
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
36
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
37
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
*/
39
40
#ifndef included_vlib_physmem_h
41
#define included_vlib_physmem_h
42
43
#include <
vppinfra/pmalloc.h
>
44
45
typedef
struct
46
{
47
int
index
;
48
int
fd
;
49
void
*
base
;
50
u32
n_pages
;
51
uword
*
page_table
;
52
u32
log2_page_size
;
53
u32
numa_node
;
54
}
vlib_physmem_map_t
;
55
56
typedef
struct
57
{
58
u32
flags
;
59
uword
base_addr
;
60
uword
max_size
;
61
#define VLIB_PHYSMEM_MAIN_F_HAVE_PAGEMAP (1 << 0)
62
#define VLIB_PHYSMEM_MAIN_F_HAVE_IOMMU (1 << 1)
63
vlib_physmem_map_t
*
maps
;
64
clib_pmalloc_main_t
*
pmalloc_main
;
65
}
vlib_physmem_main_t
;
66
67
#endif
/* included_vlib_physmem_h */
68
69
/*
70
* fd.io coding-style-patch-verification: ON
71
*
72
* Local Variables:
73
* eval: (c-set-style "gnu")
74
* End:
75
*/
vlib_physmem_main_t::flags
u32 flags
Definition:
physmem.h:58
vlib_physmem_map_t::numa_node
u32 numa_node
Definition:
physmem.h:53
vlib_physmem_map_t::page_table
uword * page_table
Definition:
physmem.h:51
vlib_physmem_main_t::base_addr
uword base_addr
Definition:
physmem.h:59
vlib_physmem_main_t::pmalloc_main
clib_pmalloc_main_t * pmalloc_main
Definition:
physmem.h:64
vlib_physmem_map_t
Definition:
physmem.h:45
u32
unsigned int u32
Definition:
types.h:88
pmalloc.h
vlib_physmem_map_t::base
void * base
Definition:
physmem.h:49
vlib_physmem_map_t::index
int index
Definition:
physmem.h:47
vlib_physmem_main_t::maps
vlib_physmem_map_t * maps
Definition:
physmem.h:63
vlib_physmem_map_t::log2_page_size
u32 log2_page_size
Definition:
physmem.h:52
vlib_physmem_main_t
Definition:
physmem.h:56
uword
u64 uword
Definition:
types.h:112
vlib_physmem_map_t::fd
int fd
Definition:
physmem.h:48
vlib_physmem_map_t::n_pages
u32 n_pages
Definition:
physmem.h:50
vlib_physmem_main_t::max_size
uword max_size
Definition:
physmem.h:60
clib_pmalloc_main_t
Definition:
pmalloc.h:60
src
vlib
physmem.h
Generated on Wed Sep 9 2020 00:04:20 for FD.io VPP by
1.8.13