diff --git a/.clang-format-ignore b/.clang-format-ignore deleted file mode 100644 index a4cdbb5..0000000 --- a/.clang-format-ignore +++ /dev/null @@ -1,4 +0,0 @@ -**/mini-printf.c -**/mini-printf.h -**/monocypher.c -**/monocypher.h diff --git a/kern/libkern/assert.h b/kern/libkern/assert.h deleted file mode 100644 index 7cb7a27..0000000 --- a/kern/libkern/assert.h +++ /dev/null @@ -1,15 +0,0 @@ -#include - -#define assert(cond) \ - do { \ - if (!(cond)) { \ - PANIC("Assertion failed: %s\n", #cond); \ - } \ - } while (0) - -#define assert_msg(cond, fmt, ...) \ - do { \ - if (!(cond)) { \ - PANIC("Assertion failed: %s: " fmt, #cond, ##__VA_ARGS__); \ - } \ - } while (0) diff --git a/kern/libkern/panic.c b/kern/libkern/panic.c index 75bc89a..4f451b5 100644 --- a/kern/libkern/panic.c +++ b/kern/libkern/panic.c @@ -1,6 +1,7 @@ #include "stdbool.h" #include #include +#include #include #include diff --git a/kern/libkern/panic.h b/kern/libkern/panic.h index 4f2e3f4..4d486e1 100644 --- a/kern/libkern/panic.h +++ b/kern/libkern/panic.h @@ -1,7 +1,7 @@ #ifndef KERNEL_PANIC_H #define KERNEL_PANIC_H -#define PANIC(fmt, ...) __panic("[Panic @ %s:%d %s] " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__) +#define PANIC(fmt, ...) __panic("[%s:%d %s] \n" fmt, __FILE__, __LINE__, __func__) void __panic(const char *restrict fmt, ...); diff --git a/kern/libkern/stdint.h b/kern/libkern/stdint.h index aaced78..b7cbc0f 100644 --- a/kern/libkern/stdint.h +++ b/kern/libkern/stdint.h @@ -6,22 +6,12 @@ typedef unsigned short u16; typedef unsigned int u32; typedef unsigned long u64; -typedef char i8; -typedef short i16; -typedef int i32; -typedef long i64; - typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long uint64_t; +typedef uint64_t size_t; -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -typedef long int64_t; - -typedef uint64_t size_t; typedef uint64_t uintptr_t; #define INT8_MIN (-128) diff --git a/kern/libkern/stdlib.c b/kern/libkern/stdlib.c deleted file mode 100644 index 531df0e..0000000 --- a/kern/libkern/stdlib.c +++ /dev/null @@ -1,13 +0,0 @@ -#include - -int abs(int a) { - return a > 0 ? a : -a; -} - -long labs(long a) { - return a > 0 ? a : -a; -} - -long long llabs(long long a) { - return a > 0 ? a : -a; -} diff --git a/kern/libkern/stdlib.h b/kern/libkern/stdlib.h deleted file mode 100644 index 0afdf3a..0000000 --- a/kern/libkern/stdlib.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef STDLIB_H -#define STDLIB_H - -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 - -int abs(int); -long labs(long); -long long llabs(long long); - -#endif // STDLIB_H diff --git a/kern/libkern/string.h b/kern/libkern/string.h index bd152e3..62b05fd 100644 --- a/kern/libkern/string.h +++ b/kern/libkern/string.h @@ -2,7 +2,6 @@ #define KERNEL_STRING_H #include -#include // void *memcpy(void *s1, const void *s2, size_t n); // void *memmove(void *s1, const void *s2, size_t n); diff --git a/licenses/LICENSE.mini-printf b/licenses/LICENSE.mini-printf deleted file mode 100644 index ecadb30..0000000 --- a/licenses/LICENSE.mini-printf +++ /dev/null @@ -1,26 +0,0 @@ -The Minimal snprintf() implementation - -Copyright (c) 2013 Michal Ludvig -All rights reserved. - -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. - * Neither the name of the auhor 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 AUTHOR 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/licenses/LICENSE.monocypher b/licenses/LICENSE.monocypher deleted file mode 100644 index 9d69ad7..0000000 --- a/licenses/LICENSE.monocypher +++ /dev/null @@ -1,173 +0,0 @@ -Monocypher as a whole is dual-licensed. Choose whichever licence you -want from the two licences listed below. - -The first licence is a regular 2-clause BSD licence. The second licence -is the CC-0 from Creative Commons. It is intended to release Monocypher -to the public domain. The BSD licence serves as a fallback option. - -See the individual files for specific information about who contributed -to what file during which years. See below for special notes. - -Licence 1 (2-clause BSD) ------------------------- - -Copyright (c) 2017-2023, Loup Vaillant -Copyright (c) 2017-2019, Michael Savage -Copyright (c) 2017-2023, Fabio Scotoni -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. - -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. - - -Licence 2 (CC-0) ----------------- - -> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE -> LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN -> ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS -> INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES -> REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS -> PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM -> THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED -> HEREUNDER. - -### Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work -of authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without -fear of later claims of infringement build upon, modify, incorporate in -other works, reuse and redistribute as freely as possible in any form -whatsoever and for any purposes, including without limitation commercial -purposes. These owners may contribute to the Commons to promote the -ideal of a free culture and the further production of creative, cultural -and scientific works, or to gain reputation or greater distribution for -their Work in part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or -she is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under -its terms, with knowledge of his or her Copyright and Related Rights in -the Work and the meaning and intended legal effect of CC0 on those -rights. - -1. **Copyright and Related Rights.** A Work made available under CC0 may - be protected by copyright and related or neighboring rights - ("Copyright and Related Rights"). Copyright and Related Rights - include, but are not limited to, the following: - - - the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - - moral rights retained by the original author(s) and/or - performer(s); publicity and privacy rights pertaining to a person's - image or likeness depicted in a Work; - - rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - rights protecting the extraction, dissemination, use and reuse of - data in a Work; - - database rights (such as those arising under Directive 96/9/EC of - the European Parliament and of the Council of 11 March 1996 on the - legal protection of databases, and under any national - implementation thereof, including any amended or successor version - of such directive); and - - other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. **Waiver.** To the greatest extent permitted by, but not in - contravention of, applicable law, Affirmer hereby overtly, fully, - permanently, irrevocably and unconditionally waives, abandons, and - surrenders all of Affirmer's Copyright and Related Rights and - associated claims and causes of action, whether now known or unknown - (including existing as well as future claims and causes of action), - in the Work (i) in all territories worldwide, (ii) for the maximum - duration provided by applicable law or treaty (including future time - extensions), (iii) in any current or future medium and for any number - of copies, and (iv) for any purpose whatsoever, including without - limitation commercial, advertising or promotional purposes (the - "Waiver"). Affirmer makes the Waiver for the benefit of each member - of the public at large and to the detriment of Affirmer's heirs and - successors, fully intending that such Waiver shall not be subject to - revocation, rescission, cancellation, termination, or any other legal - or equitable action to disrupt the quiet enjoyment of the Work by the - public as contemplated by Affirmer's express Statement of Purpose. - -3. **Public License Fallback.** Should any part of the Waiver for any - reason be judged legally invalid or ineffective under applicable law, - then the Waiver shall be preserved to the maximum extent permitted - taking into account Affirmer's express Statement of Purpose. In - addition, to the extent the Waiver is so judged Affirmer hereby - grants to each affected person a royalty-free, non transferable, non - sublicensable, non exclusive, irrevocable and unconditional license - to exercise Affirmer's Copyright and Related Rights in the Work (i) - in all territories worldwide, (ii) for the maximum duration provided - by applicable law or treaty (including future time extensions), (iii) - in any current or future medium and for any number of copies, and - (iv) for any purpose whatsoever, including without limitation - commercial, advertising or promotional purposes (the "License"). The - License shall be deemed effective as of the date CC0 was applied by - Affirmer to the Work. Should any part of the License for any reason - be judged legally invalid or ineffective under applicable law, such - partial invalidity or ineffectiveness shall not invalidate the - remainder of the License, and in such case Affirmer hereby affirms - that he or she will not (i) exercise any of his or her remaining - Copyright and Related Rights in the Work or (ii) assert any - associated claims and causes of action with respect to the Work, in - either case contrary to Affirmer's express Statement of Purpose. - -4. **Limitations and Disclaimers.** - - - No trademark or patent rights held by Affirmer are waived, - abandoned, surrendered, licensed or otherwise affected by this - document. - - Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, - or the present or absence of errors, whether or not discoverable, - all to the greatest extent permissible under applicable law. - - Affirmer disclaims responsibility for clearing rights of other - persons that may apply to the Work or any use thereof, including - without limitation any person's Copyright and Related Rights in the - Work. Further, Affirmer disclaims responsibility for obtaining any - necessary consents, permissions or other rights required for any - use of the Work. - - Affirmer understands and acknowledges that Creative Commons is not - a party to this document and has no duty or obligation with respect - to this CC0 or use of the Work. - -Special notes -------------- - -The files in `tests/externals/` were placed in the public domain by -their respective authors. See the `AUTHORS.md` files in each directory. diff --git a/licenses/LICENSE.musl b/licenses/LICENSE.musl deleted file mode 100644 index 2f15edc..0000000 --- a/licenses/LICENSE.musl +++ /dev/null @@ -1,193 +0,0 @@ -musl as a whole is licensed under the following standard MIT license: - ----------------------------------------------------------------------- -Copyright © 2005-2020 Rich Felker, et al. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -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. ----------------------------------------------------------------------- - -Authors/contributors include: - -A. Wilcox -Ada Worcester -Alex Dowad -Alex Suykov -Alexander Monakov -Andre McCurdy -Andrew Kelley -Anthony G. Basile -Aric Belsito -Arvid Picciani -Bartosz Brachaczek -Benjamin Peterson -Bobby Bingham -Boris Brezillon -Brent Cook -Chris Spiegel -Clément Vasseur -Daniel Micay -Daniel Sabogal -Daurnimator -David Carlier -David Edelsohn -Denys Vlasenko -Dmitry Ivanov -Dmitry V. Levin -Drew DeVault -Emil Renner Berthing -Fangrui Song -Felix Fietkau -Felix Janda -Gianluca Anzolin -Hauke Mehrtens -He X -Hiltjo Posthuma -Isaac Dunham -Jaydeep Patil -Jens Gustedt -Jeremy Huntwork -Jo-Philipp Wich -Joakim Sindholt -John Spencer -Julien Ramseier -Justin Cormack -Kaarle Ritvanen -Khem Raj -Kylie McClain -Leah Neukirchen -Luca Barbato -Luka Perkov -Lynn Ochs -M Farkas-Dyck (Strake) -Mahesh Bodapati -Markus Wichmann -Masanori Ogino -Michael Clark -Michael Forney -Mikhail Kremnyov -Natanael Copa -Nicholas J. Kain -orc -Pascal Cuoq -Patrick Oppenlander -Petr Hosek -Petr Skocik -Pierre Carrier -Reini Urban -Rich Felker -Richard Pennington -Ryan Fairfax -Samuel Holland -Segev Finer -Shiz -sin -Solar Designer -Stefan Kristiansson -Stefan O'Rear -Szabolcs Nagy -Timo Teräs -Trutz Behn -Will Dietz -William Haddon -William Pitcock - -Portions of this software are derived from third-party works licensed -under terms compatible with the above MIT license: - -The TRE regular expression implementation (src/regex/reg* and -src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed -under a 2-clause BSD license (license text in the source files). The -included version has been heavily modified by Rich Felker in 2012, in -the interests of size, simplicity, and namespace cleanliness. - -Much of the math library code (src/math/* and src/complex/*) is -Copyright © 1993,2004 Sun Microsystems or -Copyright © 2003-2011 David Schultz or -Copyright © 2003-2009 Steven G. Kargl or -Copyright © 2003-2009 Bruce D. Evans or -Copyright © 2008 Stephen L. Moshier or -Copyright © 2017-2018 Arm Limited -and labelled as such in comments in the individual source files. All -have been licensed under extremely permissive terms. - -The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008 -The Android Open Source Project and is licensed under a two-clause BSD -license. It was taken from Bionic libc, used on Android. - -The AArch64 memcpy and memset code (src/string/aarch64/*) are -Copyright © 1999-2019, Arm Limited. - -The implementation of DES for crypt (src/crypt/crypt_des.c) is -Copyright © 1994 David Burren. It is licensed under a BSD license. - -The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was -originally written by Solar Designer and placed into the public -domain. The code also comes with a fallback permissive license for use -in jurisdictions that may not recognize the public domain. - -The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011 -Lynn Ochs and is licensed under an MIT-style license. - -The x86_64 port was written by Nicholas J. Kain and is licensed under -the standard MIT terms. - -The mips and microblaze ports were originally written by Richard -Pennington for use in the ellcc project. The original code was adapted -by Rich Felker for build system and code conventions during upstream -integration. It is licensed under the standard MIT terms. - -The mips64 port was contributed by Imagination Technologies and is -licensed under the standard MIT terms. - -The powerpc port was also originally written by Richard Pennington, -and later supplemented and integrated by John Spencer. It is licensed -under the standard MIT terms. - -All other files which have no copyright comments are original works -produced specifically for use as part of this library, written either -by Rich Felker, the main author of the library, or by one or more -contibutors listed above. Details on authorship of individual files -can be found in the git version control history of the project. The -omission of copyright and license comments in each file is in the -interest of source tree size. - -In addition, permission is hereby granted for all public header files -(include/* and arch/*/bits/*) and crt files intended to be linked into -applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit -the copyright notice and permission notice otherwise required by the -license, and to use these files without any requirement of -attribution. These files include substantial contributions from: - -Bobby Bingham -John Spencer -Nicholas J. Kain -Rich Felker -Richard Pennington -Stefan Kristiansson -Szabolcs Nagy - -all of whom have explicitly granted such permission. - -This file previously contained text expressing a belief that most of -the files covered by the above exception were sufficiently trivial not -to be subject to copyright, resulting in confusion over whether it -negated the permissions granted in the license. In the spirit of -permissive licensing, and of not having licensing issues being an -obstacle to adoption, that text has been removed.