From 86a0837828d6337d568b0e2e233ea0dd1f54347c Mon Sep 17 00:00:00 2001 From: VAN BOSSUYT Nicolas Date: Wed, 24 Jan 2024 21:12:10 +0100 Subject: [PATCH] Initial commit --- .clang-format | 18 ++++++++++++++++++ .gitignore | 1 + doc/logo.webp | Bin 0 -> 6938 bytes license.md | 21 +++++++++++++++++++++ project.json | 16 ++++++++++++++++ readme.md | 13 +++++++++++++ src/booboot/base.h | 6 ++++++ src/booboot/main.c | 11 +++++++++++ 8 files changed, 86 insertions(+) create mode 100644 .clang-format create mode 100644 .gitignore create mode 100644 doc/logo.webp create mode 100644 license.md create mode 100644 project.json create mode 100644 readme.md create mode 100644 src/booboot/base.h create mode 100644 src/booboot/main.c diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..de65c39 --- /dev/null +++ b/.clang-format @@ -0,0 +1,18 @@ +--- +BasedOnStyle: LLVM +UseTab: Never +IndentWidth: 4 +TabWidth: 4 +BreakBeforeBraces: Allman +AllowShortIfStatementsOnASingleLine: false +IndentCaseLabels: false +ColumnLimit: 0 +AccessModifierOffset: -4 +FixNamespaceComments: true +SpaceBeforeInheritanceColon: true +BreakInheritanceList: AfterColon +IndentPPDirectives: AfterHash +ForEachMacros: ["__dummy_foreach"] +AlignConsecutiveMacros: true +SpaceBeforeParens: ControlStatementsExceptForEachMacros +... diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c648ad5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.cutekit diff --git a/doc/logo.webp b/doc/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..f04f45c17d7102ce8c91da9c6fdb7ad6bd460f52 GIT binary patch literal 6938 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 literal 0 HcmV?d00001 diff --git a/license.md b/license.md new file mode 100644 index 0000000..00040ae --- /dev/null +++ b/license.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Cute Engineering + +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. diff --git a/project.json b/project.json new file mode 100644 index 0000000..344e23f --- /dev/null +++ b/project.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.project.v1", + "id": "cute-engineering/booboot", + "type": "project", + "description": "The scawy bootloadew", + "extern": { + "cute-engineering/ce-base": { + "git": "https://github.com/cute-engineering/ce-base.git", + "tag": "v0.1.0" + }, + "cute-engineering/ce-efi": { + "git": "https://github.com/cute-engineering/ce-efi.git", + "tag": "main" + } + } +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..1f73b51 --- /dev/null +++ b/readme.md @@ -0,0 +1,13 @@ +
+
+
+

+ +

+

BooBoot

+

+ The Scawy Bootloadew +

+
+
+
diff --git a/src/booboot/base.h b/src/booboot/base.h new file mode 100644 index 0000000..fdb8dcd --- /dev/null +++ b/src/booboot/base.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +#define efi_assert_success(status) ({ if (EFI_ERROR(status)) { ce_panic("efi error"); } }) diff --git a/src/booboot/main.c b/src/booboot/main.c new file mode 100644 index 0000000..8dc7218 --- /dev/null +++ b/src/booboot/main.c @@ -0,0 +1,11 @@ +#include + +#include "base.h" + +efi_status efi_main(efi_handle, efi_system_table *st) +{ + efi_assert_success(st->boot_services->set_watchdog_timer(0, 0, 0, NULL)); + efi_assert_success(st->con_out->reset(st->con_out, 1)); + efi_assert_success(st->con_out->output_string(st->con_out, u"Hello, world!\r\n")); + return EFI_SUCCESS; +}