[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LIBMBEDTLS PATCH 1/2] Introduce library skeleton


  • To: "minios-devel@xxxxxxxxxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Vlad-Andrei BĂDOIU (78692) <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
  • Date: Thu, 30 Jan 2020 13:46:54 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n7jkLud3f7bl6mtdCmoXOTR2mzAbUm41gnDCqnm6hTk=; b=CMiXobZjhVbetfivJLTuIeHa5C23yHvh+4hAaGg++35iBrsvuUHNJMBFiwrWSnTzDEOypc1YnFLtIFkDkeFIV3W+7Mx9nKdu2T3gI5fat8eeVvsyg1K0/vcfIPvpKpAB750oLzRrqEG7OmQk8GAYRGJYYKU76vVDtzOmNTw0I6ft+oZRsW4sP3XzmM1zqZwIDoxP36XpKDKHWPx1HBF5yuKOzZuHJm74GjZEcM7Ck8S71yFJ3655hkRGXxoojbROIbarhhw8pM18VDLHQnHiaV3/rZKKRzfY77rYlaSvp8aVp8skN+MJI48tRGn/psTZ/w5zqkOXP478WPt0F0m6KA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=StRHhATBNWdDbYaD1Qgz+Zf9HDNhW1+igRs+ZXMT295MSxd5LEAynxqcQs2eZ6vwRHK4bqb0XBd9VEDhnQ1bh7ZzymNjh/E/WiffpLsOXndno8btfpN41mJ0ecmxE0YBiK4VjIaWVMd92JKxYlx2xLgPYZulm9QwnfhwwiR8F01ccEV93rsmguVvcwA0l4DyP77m6Tm+pnuIP0CS9W6qax2TpzFyDcR/QriJbPL4q9x4tcu/NhWIo/GiehuwFxa/CNzX8VSok1jz/0KLbjuqDP46m0uwPZEkeMPI0/VZ5Bx1KBh9JHPJ9SuSk1WQiq6RDcJGoajmD6CKGftvS8FBbQ==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=vlad_andrei.badoiu@xxxxxxxxxxxxxxx;
  • Delivery-date: Thu, 30 Jan 2020 13:47:02 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Thread-index: AQHVbVhHwNE28NvXTEOgn5evxqcNOqgEDMSA
  • Thread-topic: [Minios-devel] [UNIKRAFT/LIBMBEDTLS PATCH 1/2] Introduce library skeleton

Hey Feliple,

Thank you for this port. Please see my comments inline. I think that 
they can be solved during the upstreaming.

Thanks,

Vlad

Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>

On 17.09.2019 16:02, Felipe Huici wrote:
> We use the BSD-3-Clause license for this library glue code.
>
> Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
> ---
>   .gitignore      | 27 +++++++++++++++++++++++++++
>   CODING_STYLE.md |  4 ++++
>   CONTRIBUTING.md |  4 ++++
>   COPYING.md      | 39 +++++++++++++++++++++++++++++++++++++++
>   Config.uk       | 10 ++++++++++
>   MAINTAINERS.md  | 10 ++++++++++
>   README.md       | 14 ++++++++++++++
>   7 files changed, 108 insertions(+)
>   create mode 100644 .gitignore
>   create mode 100644 CODING_STYLE.md
>   create mode 100644 CONTRIBUTING.md
>   create mode 100644 COPYING.md
>   create mode 100644 Config.uk
>   create mode 100644 MAINTAINERS.md
>   create mode 100644 README.md
>
> diff --git a/.gitignore b/.gitignore
> new file mode 100644
> index 0000000..75d2fd3
> --- /dev/null
> +++ b/.gitignore
> @@ -0,0 +1,27 @@
> +*.depend
> +*.o
> +*.a
> +*.d
> +*.so
> +*.orig
> +*.rej
> +*.bak
> +*.swp
> +*~
> +,*
> +\#*\#
> +.\#*
> +\#_*\#
> +.\#_*
> +!.gitignore
> +.*
> +
> +# gnu global files
> +GPATH
> +GRTAGS
> +GSYMS
> +GTAGS
> +
> +# cscope files
> +cscope.*
> +ncscope.*
> diff --git a/CODING_STYLE.md b/CODING_STYLE.md
> new file mode 100644
> index 0000000..5730041
> --- /dev/null
> +++ b/CODING_STYLE.md
> @@ -0,0 +1,4 @@
> +Coding Style
> +============
> +
> +Please refer to the `CODING_STYLE.md` file in the main Unikraft repository.
> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
> new file mode 100644
> index 0000000..5f55eca
> --- /dev/null
> +++ b/CONTRIBUTING.md
> @@ -0,0 +1,4 @@
> +Contributing to Unikraft
> +=======================
> +
> +Please refer to the `CONTRIBUTING.md` file in the main Unikraft repository.
> diff --git a/COPYING.md b/COPYING.md
> new file mode 100644
> index 0000000..df488d2
> --- /dev/null
> +++ b/COPYING.md
> @@ -0,0 +1,39 @@
> +License
> +=======
> +
> +Unikraft mbed TLS wrappers
> +------------------------
> +
> +This repository contains wrapper code to build mbed TLS with Unikraft.
> +Each C code file in this repository should declare who is the
> +copyright owner and under which terms and conditions the code is
> +licensed. If such a licence note is missing, the following copyright
> +notice will apply:
> +
> +     Copyright (c) 2019, NEC Europe Ltd., NEC Corporation. All rights 
> reserved.
> +
> +     Redistribution and use in source and binary forms, with or without
> +     modification, are permitted provided that the following conditions
> +     are met:
> +
> +     1. Redistributions of source code must retain the above copyright
> +        notice, this list of conditions and the following disclaimer.
> +     2. 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.
> +     3. Neither the name of the copyright holder nor the names of its
> +        contributors may be used to endorse or promote products derived from
> +        this software without specific prior written permission.
> +
> +     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
> IS"
> +     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
> THE
> +     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
> PURPOSE
> +     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 
> BE
> +     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> +     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> +     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> +     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> +     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> +     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
> THE
> +     POSSIBILITY OF SUCH DAMAGE.
> +
> diff --git a/Config.uk b/Config.uk
> new file mode 100644
> index 0000000..0a19b25
> --- /dev/null
> +++ b/Config.uk
> @@ -0,0 +1,10 @@
> +config LIBMBEDTLS
> +        bool "Mbed TLS - A portable, flexible SSL library "
> +        default y
Shouldn't this be set to n by default?
> +        select LIBNEWLIBC
> +        select LIBCXX

Libcxx is selected because we need __udivti3 from compiler-rt, right? I 
think that we could leave

the `select LIBCOMPILER_RT` and, hopefully, in the future, compiler-rt 
will be more independent.

PS: I'll look into providing a config option for compiler-rt that 
disables libunwind dependent features.

> +        select LIBCXXABI
> +        select LIBCOMPILER_RT
> +        select LIBUNWIND
> +        select LWIP
This should be LIBLWIP.
> +        select LWIP_IPV6
> diff --git a/MAINTAINERS.md b/MAINTAINERS.md
> new file mode 100644
> index 0000000..d009e9b
> --- /dev/null
> +++ b/MAINTAINERS.md
> @@ -0,0 +1,10 @@
> +Maintainers List
> +================
> +
> +For notes on how to read this information, please refer to `MAINTAINERS.md` 
> in
> +the main Unikraft repository.
> +
> +     LIBZLIB-UNIKRAFT
There is a typo here, it should be LIBMBEDTLS-UNIKRAFT.
> +     M:      Felipe Huici <felipe.huici@xxxxxxxxx>
> +     L:      minios-devel@xxxxxxxxxxxxx
> +     F: *
> diff --git a/README.md b/README.md
> new file mode 100644
> index 0000000..fd9ee95
> --- /dev/null
> +++ b/README.md
> @@ -0,0 +1,14 @@
> +libmbedtls for Unikraft
> +===================
> +This is a port of mbed TLS to Unikraft. The port has a number of
> +dependencies. To meet them, ensure that you have the following libs
> +added to your LIBS variable in your app's Makefile:
> +
> +  ...$(UK_LIBS)/libunwind:$(UK_LIBS)/compiler-rt:$(UK_LIBS)/libcxxabi:
> +     $(UK_LIBS)/libcxx:$(UK_LIBS)/mbedtls:$(UK_LIBS)/lwip:
> +      $(UK_LIBS)/newlib...
> +

We should update this part to follow the latest format that we're using 
for the ports:

* CXX standard library, e.g. `libunwind`, `compiler-rt`, `libcxxabi`, 
`libcxx`

* `libc`, e.g. `newlib`

* `lwip`

PS: we should specify that mbed TLS should added after compiler-rt.

> +Please refer to the `README.md` as well as the documentation in the `doc/`
> +subdirectory of the main unikraft repository for further information.
> +
> +
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.