diff --git a/prov/xxx/Makefile.include b/prov/xxx/Makefile.include new file mode 100644 index 00000000000..0b712da5612 --- /dev/null +++ b/prov/xxx/Makefile.include @@ -0,0 +1,20 @@ +if HAVE_XXX +_xxx_files = \ + prov/xxx/src/xxx_attr.c \ + prov/xxx/src/xxx_cq.c \ + prov/xxx/src/xxx_domain.c \ + prov/xxx/src/xxx_ep.c \ + prov/xxx/src/xxx_fabric.c \ + prov/xxx/src/xxx_init.c \ + prov/xxx/src/xxx_msg.c \ + prov/xxx/src/xxx_rma.c \ + prov/xxx/src/xxx_atomic.c \ + prov/xxx/src/xxx_tagged.c \ + prov/xxx/src/xxx.h \ + + +prov_install_man_pages += man/man7/fi_xxx.7 + +endif HAVE_XXX + +prov_dist_man_pages += man/man7/fi_xxx.7 diff --git a/prov/xxx/configure.m4 b/prov/xxx/configure.m4 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/prov/xxx/xxx.h b/prov/xxx/xxx.h new file mode 100644 index 00000000000..74496cefe94 --- /dev/null +++ b/prov/xxx/xxx.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#if HAVE_CONFIG_H +# include +#endif /* HAVE_CONFIG_H */ + +#include + +// TODO 1x1 evaulate need +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int xxx_fabric(struct fi_fabric_attr *attr, struct fid_fabric **fabric, + void *context); diff --git a/prov/xxx/xxx_atomic.c b/prov/xxx/xxx_atomic.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_atomic.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_attr.c b/prov/xxx/xxx_attr.c new file mode 100644 index 00000000000..ed9d6f456db --- /dev/null +++ b/prov/xxx/xxx_attr.c @@ -0,0 +1,123 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "xxx.h" + +struct fi_tx_attr xxx_tx_attr = { + .caps = 0, /* define */ + .mode = 0, /* define */ + .op_flags = 0, /* define */ + .msg_order = 0, /* define */ + .comp_order = 0, /* define */ + .inject_size = 0, /* define */ + .size = 0, /* define */ + .iov_limit = 0, /* define */ + .tclass = 0 /* define */ +}; + +struct fi_rx_attr xxx_rx_attr = { + .caps = 0, /* define */ + .mode = 0, /* define */ + .op_flags = 0, /* define */ + .msg_order = 0, /* define */ + .comp_order = 0, /* define */ + .total_buffered_recv = 0, /* define */ + .size = 0, /* define */ + .iov_limit = 0 /* define */ +}; + +struct fi_ep_attr xxx_ep_attr = { + .type = 0, /* define */ + .protocol = 0, /* define */ + .protocol_version = 0, /* define */ + .max_msg_size = 0, /* define */ + .msg_prefix_size = 0, /* define */ + .max_order_raw_size = 0, /* define */ + .max_order_war_size = 0, /* define */ + .max_order_waw_size = 0, /* define */ + .mem_tag_format = 0, /* define */ + .tx_ctx_cnt = 0, /* define */ + .rx_ctx_cnt = 0, /* define */ + .auth_key_size = 0, /* define */ + .auth_key = NULL /* define */ +}; + +struct fi_domain_attr xxx_domain_attr = { + .domain = 0, /* define */ + .name = "xxx",/* define */ + .threading = 0, /* define */ + .control_progress = 0, /* define */ + .progress = 0, /* define */ + .resource_mgmt = 0, /* define */ + .av_type = 0, /* define */ + .mr_mode = 0, /* define */ + .mr_key_size = 0, /* define */ + .cq_data_size = 0, /* define */ + .cq_cnt = 0, /* define */ + .ep_cnt = 0, /* define */ + .tx_ctx_cnt = 0, /* define */ + .rx_ctx_cnt = 0, /* define */ + .max_ep_tx_ctx = 0, /* define */ + .max_ep_rx_ctx = 0, /* define */ + .max_ep_stx_ctx = 0, /* define */ + .max_ep_srx_ctx = 0, /* define */ + .cntr_cnt = 0, /* define */ + .mr_iov_limit = 0, /* define */ + .caps = 0, /* define */ + .mode = 0, /* define */ + .auth_key = NULL, /* define */ + .auth_key_size = 0, /* define */ + .max_err_data = 0, /* define */ + .mr_cnt = 0, /* define */ + .tclass = 0, /* define */ + .max_ep_auth_key = 0, /* define */ + .max_group_id = 0 /* define */ +}; + +struct fi_fabric_attr xxx_fabric_attr = { + .fabric = NULL, /* define */ + .name = "xxx", /* define */ + .prov_name = NULL, /* define */ + .prov_version = OFI_VERSION_DEF_PROV, /* define */ + .api_version = 0 /* define */ +}; + +struct fi_info xxx_info = { + .caps = 0, /* define */ + .addr_format = FI_FORMAT_UNSPEC, /* define */ + .tx_attr = &xxx_tx_attr, /* define */ + .rx_attr = &xxx_rx_attr, /* define */ + .ep_attr = &xxx_ep_attr, /* define */ + .domain_attr = &xxx_domain_attr, /* define */ + .fabric_attr = &xxx_fabric_attr, /* define */ + .next = NULL, /* define */ +}; diff --git a/prov/xxx/xxx_cq.c b/prov/xxx/xxx_cq.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_cq.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_domain.c b/prov/xxx/xxx_domain.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_domain.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_ep.c b/prov/xxx/xxx_ep.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_ep.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_fabric.c b/prov/xxx/xxx_fabric.c new file mode 100644 index 00000000000..0db4b97c423 --- /dev/null +++ b/prov/xxx/xxx_fabric.c @@ -0,0 +1,37 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +int xxx_fabric(struct fi_fabric_attr *attr, struct fid_fabric **fabric, + void *context) +{ + return -FI_ENOSYS; +} \ No newline at end of file diff --git a/prov/xxx/xxx_init.c b/prov/xxx/xxx_init.c new file mode 100644 index 00000000000..77ccfb787e8 --- /dev/null +++ b/prov/xxx/xxx_init.c @@ -0,0 +1,65 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "xxx.h" + +static int xxx_getinfo(uint32_t version, const char *node, const char *service, + uint64_t flags, const struct fi_info *hints, + struct fi_info **info) +{ + return -FI_ENODATA; +} + +static void xxx_fini(void) +{ + /* define cleanup */ +} + +static void xxx_ini(void) +{ + /* define */ +} + +struct fi_provider xxx_prov = { + .name = "xxx", + .version = OFI_VERSION_DEF_PROV, + .fi_version = OFI_VERSION_LATEST, + .getinfo = xxx_getinfo, + .fabric = xxx_fabric, + .cleanup = xxx_fini, +}; + +/* TODO: Add macro include/ofi_prov.h */ +XXX_INI +{ + return &xxx_prov; +} diff --git a/prov/xxx/xxx_msg.c b/prov/xxx/xxx_msg.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_msg.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_rma.c b/prov/xxx/xxx_rma.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_rma.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file diff --git a/prov/xxx/xxx_tagged.c b/prov/xxx/xxx_tagged.c new file mode 100644 index 00000000000..8e5b0d93ba1 --- /dev/null +++ b/prov/xxx/xxx_tagged.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) Intel Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ \ No newline at end of file