diff options
author | Jakub Grajciar <jgrajcia@cisco.com> | 2020-03-30 08:12:57 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-03-31 10:09:19 +0000 |
commit | 53f06a0148cd7ece2d48a3396e3e63f248d066e9 (patch) | |
tree | 5108380d38447fe01163ce6f0711431b4691848d /src/vlib | |
parent | e6b4a5ac1463226930bbe14bb7b058616df85073 (diff) |
vlib: move pci api types from vnet/pci to vlib/pci
Type: fix
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I1a60809a8bbbbb8ac8b65ab990d51aae1229647f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Diffstat (limited to 'src/vlib')
-rw-r--r-- | src/vlib/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/vlib/pci/pci_types.api | 24 | ||||
-rw-r--r-- | src/vlib/pci/pci_types_api.c | 45 | ||||
-rw-r--r-- | src/vlib/pci/pci_types_api.h | 27 |
4 files changed, 103 insertions, 0 deletions
diff --git a/src/vlib/CMakeLists.txt b/src/vlib/CMakeLists.txt index cc27d886675..c2a0d63f4d8 100644 --- a/src/vlib/CMakeLists.txt +++ b/src/vlib/CMakeLists.txt @@ -63,6 +63,7 @@ add_vpp_library(vlib node_cli.c node_format.c pci/pci.c + pci/pci_types_api.c physmem.c punt.c punt_node.c @@ -103,6 +104,7 @@ add_vpp_library(vlib node.h pci/pci_config.h pci/pci.h + pci/pci_types_api.h physmem_funcs.h physmem.h punt.h @@ -116,5 +118,10 @@ add_vpp_library(vlib vlib.h vmbus/vmbus.h + API_FILES + pci/pci_types.api + LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS} + + DEPENDS api_headers ) diff --git a/src/vlib/pci/pci_types.api b/src/vlib/pci/pci_types.api new file mode 100644 index 00000000000..d3654af536c --- /dev/null +++ b/src/vlib/pci/pci_types.api @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2019 Cisco and/or its affiliates. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +option version = "1.0.0"; + +typedef pci_address +{ + u16 domain; + u8 bus; + u8 slot; + u8 function; +}; diff --git a/src/vlib/pci/pci_types_api.c b/src/vlib/pci/pci_types_api.c new file mode 100644 index 00000000000..025548aec13 --- /dev/null +++ b/src/vlib/pci/pci_types_api.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2019 Cisco and/or its affiliates. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <vlibapi/api_types.h> +#include <vlib/pci/pci_types_api.h> + +#include <vlib/pci/pci_types.api_types.h> + +void +pci_address_decode (const vl_api_pci_address_t * in, vlib_pci_addr_t * out) +{ + out->domain = in->domain; + out->bus = in->bus; + out->slot = in->slot; + out->function = in->function; +} + +void +pci_address_encode (const vlib_pci_addr_t * in, vl_api_pci_address_t * out) +{ + out->domain = in->domain; + out->bus = in->bus; + out->slot = in->slot; + out->function = in->function; +} + +/* + * fd.io coding-style-patch-verification: ON + * + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ diff --git a/src/vlib/pci/pci_types_api.h b/src/vlib/pci/pci_types_api.h new file mode 100644 index 00000000000..16e126d5c99 --- /dev/null +++ b/src/vlib/pci/pci_types_api.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2019 Cisco and/or its affiliates. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __PCI_TYPES_API_H__ +#define __PCI_TYPES_API_H__ + +#include <vlibapi/api_types.h> +#include <vlib/pci/pci.h> + +struct _vl_api_pci_address; + +extern void pci_address_decode (const struct _vl_api_pci_address * in, vlib_pci_addr_t * out); +extern void pci_address_encode (const vlib_pci_addr_t * in, struct _vl_api_pci_address * out); + +#endif /* PCI_TYPES_API_H */ |