[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT/LIBTASN1 v2, 1/3] Introduce library skeleton
Signed-off-by: Laurentiu Barbulescu <lrbarbulescu@xxxxxxxxx> --- .gitignore | 27 ++++++++++++++ CODING_STYLE.md | 4 +++ CONTRIBUTING.md | 4 +++ COPYING.md | 38 ++++++++++++++++++++ Config.uk | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ MAINTAINERS.md | 11 ++++++ README.md | 44 +++++++++++++++++++++++ 7 files changed, 223 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..14f6ac6 --- /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..b65a5a7 --- /dev/null +++ b/COPYING.md @@ -0,0 +1,38 @@ +License +======= + +Unikraft libtasn1 wrappers +-------------------------- + +This repository contains wrapper code to build libtasn1 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) Year, Institution. 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..f2c7dd0 --- /dev/null +++ b/Config.uk @@ -0,0 +1,95 @@ +config LIBTASN1 + bool "libtasn1 - Manage ASN.1 structures" + default n + select LIBNEWLIBC + +if LIBTASN1 + menuconfig BUILD_TESTS + bool "Build test suite" + default n + select PLAT_KVM + + ### Enabling the 9pfs support + select LIBVFSCORE + select LIBVFSCORE_AUTOMOUNT_ROOTFS + select LIBDEVFS + select LIBDEVFS_AUTOMOUNT + + if BUILD_TESTS + ### Change the default root filesystem + choice LIBVFSCORE_ROOTFS + default LIBVFSCORE_ROOTFS_9PFS + endchoice + + config ALL_TEST_CASES + bool "All test cases" + default y + depends on BUILD_TESTS + config TEST_TREE + bool "Test_tree" + default n + config CODING_DECODING2 + bool "coding-decoding2" + default n + config CODING_LONG_OID + bool "coding-long-oid" + default n + config COPYNODE + bool "copynode" + default n + config CVE_2018_1000654 + bool "CVE-2018-1000654" + default n + config OBJECT_ID_DECODING + bool "object-id-decoding" + default n + config OBJECT_ID_ENCODING + bool "object-id-encoding" + default n + config OCSP_BASIC_RESPONSE + bool "ocsp-basic-response" + default n + config OCTET_STRING + bool "octet-string" + default n + config REPRODUCERS + bool "reproducers" + default n + config SETOF + bool "setof" + default n + config SPC_PE_IMAGE_DATA + bool "spc_pe_image_data" + default n + config STRICT_DER + bool "strict-der" + default n + config TEST_CHOICE_OCSP + bool "Test_choice_ocsp" + default n + config TEST_ENCDEC + bool "Test_encdec" + default n + config TEST_ENCODING + bool "Test_encoding" + default n + config TEST_ERRORS + bool "Test_errors" + default n + config TEST_INDEFINITE + bool "Test_indefinite" + default n + config TEST_OVERFLOW + bool "Test_overflow" + default n + config TEST_PARSER + bool "Test_parser" + default n + config TEST_SIMPLE + bool "Test_simple" + default n + config TEST_STRINGS + bool "Test_strings" + default n + endif +endif diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..3632ef2 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,11 @@ +Maintainers List +================ + +For notes on how to read this information, please refer to `MAINTAINERS.md` in +the main Unikraft repository. + + LIBTASN1-UNIKRAFT + M: Laurentiu Barbulescu <lrbarbulescu@xxxxxxxxx> + 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..626e027 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +libtasn1 for Unikraft +===================== + +This is the port of libtasn1 4.16.0 for Unikraft as external library. + +libtasn1 depends on libc(e.g. `newlib`), so please ensure you add the +following line to the `LIBS` variable in the `Makefile`: + +...$(UK_LIBS)/libtasn1:$(UK_LIBS)/newlib... + +Using the root filesystem +------------------------- + +We will use the 9pfs support for filesystems. To enable it, you'll need +to select the following menu options, all under "Library Configuration": +- `vfscore: VFS Core Interface` +- `Automatically mount a root filesysytem (/)` from `vfscore: Configuration` +- `9PFS` for `Default root filesystem` from `vfscore: Configuration` +- `devfs: devfs file system` +- `Mount /dev during boot` from `devfs: devfs file system` + +With the 9pfs support enabled, all you have to do is to provide the right +Qemu parameters in order for Unikraft to mount the filesystem: +``` +-fsdev local,id=myid,path=<some directory>,security_model=none \ +-device virtio-9p-pci,fsdev=myid,mount_tag=rootfs,disable-modern=on,disable-legacy=off +``` + +Running libtasn1 test suite +--------------------------- + +For running the test cases: enable the `Build test suite` option in the +configuration menu, include `test_suite_glue.h` and call the +`libtasn1_test_main(int verbose)` function in your main application. +Also, please ensure that the `Default root filesystem` from +`Library Configuration`->`vfscore: Configuration` is set to `9PFS` and use the +path of the tests folder (i.e. `build/libtasn1/origin/libtasn1-4.16.0/tests`). + + +Further information +------------------- + +Please refer to the `README.md` as well as the documentation in the `doc/` +subdirectory of the main unikraft repository. -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |