summaryrefslogtreecommitdiffhomepage
path: root/Private/NewBoot/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Private/NewBoot/Source')
-rw-r--r--Private/NewBoot/Source/.gitkeep0
-rw-r--r--Private/NewBoot/Source/BootloaderRsrc.rsrc27
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/.gitkeep0
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootAHCI.cxx20
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootATA.cxx276
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootFileReader.cxx173
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootJump.S9
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootMain.cxx244
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootPlatform.cxx102
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootString.cxx92
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/BootTextWriter.cxx140
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/New+Delete.cxx51
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/Support.cxx62
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/compile_flags.txt3
-rw-r--r--Private/NewBoot/Source/HEL/ARM64/.gitkeep0
-rw-r--r--Private/NewBoot/Source/HEL/POWER/.gitkeep0
-rw-r--r--Private/NewBoot/Source/HEL/POWER/CoreBootStartup.S34
-rw-r--r--Private/NewBoot/Source/HEL/RISCV/.gitkeep0
-rw-r--r--Private/NewBoot/Source/HEL/RISCV/BootRISCV.S22
-rw-r--r--Private/NewBoot/Source/Root/EFI/STARTUP.NSH2
-rw-r--r--Private/NewBoot/Source/Root/SplashScreen.fmt7
-rw-r--r--Private/NewBoot/Source/compile_flags.txt4
-rw-r--r--Private/NewBoot/Source/makefile106
-rw-r--r--Private/NewBoot/Source/ovmf.ps14
24 files changed, 0 insertions, 1378 deletions
diff --git a/Private/NewBoot/Source/.gitkeep b/Private/NewBoot/Source/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Private/NewBoot/Source/.gitkeep
+++ /dev/null
diff --git a/Private/NewBoot/Source/BootloaderRsrc.rsrc b/Private/NewBoot/Source/BootloaderRsrc.rsrc
deleted file mode 100644
index e8d89e9a..00000000
--- a/Private/NewBoot/Source/BootloaderRsrc.rsrc
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "../../CompilerKit/Version.hxx"
-
-1 ICON "../../Root/Boot/Icons/boot-logo.ico"
-
-1 VERSIONINFO
-FILEVERSION 1,0,0,0
-PRODUCTVERSION 1,0,0,0
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "080904E4"
- BEGIN
- VALUE "CompanyName", "Mahrouss-Logic"
- VALUE "FileDescription", "New OS multi-platform bootloader."
- VALUE "FileVersion", BOOTLOADER_VERSION
- VALUE "InternalName", "NewBoot"
- VALUE "LegalCopyright", "Copyright Mahrouss-Logic, all rights reserved."
- VALUE "OriginalFilename", "NewBoot.exe"
- VALUE "ProductName", "NewBoot"
- VALUE "ProductVersion", BOOTLOADER_VERSION
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x809, 1252
- END
-END
diff --git a/Private/NewBoot/Source/HEL/AMD64/.gitkeep b/Private/NewBoot/Source/HEL/AMD64/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/.gitkeep
+++ /dev/null
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootAHCI.cxx b/Private/NewBoot/Source/HEL/AMD64/BootAHCI.cxx
deleted file mode 100644
index a99b8a56..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootAHCI.cxx
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-/**
- * @file AHCI.cxx
- * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com)
- * @brief AHCI driver.
- * @version 0.1
- * @date 2024-02-02
- *
- * @copyright Copyright (c) Mahrouss Logic
- *
- */
-
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/HW/SATA.hxx>
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootATA.cxx b/Private/NewBoot/Source/HEL/AMD64/BootATA.cxx
deleted file mode 100644
index a5bd9809..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootATA.cxx
+++ /dev/null
@@ -1,276 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-/**
- * @file ATA.cxx
- * @author Amlal El Mahrouss (amlalelmahrouss@icloud.com)
- * @brief ATA driver.
- * @version 0.1
- * @date 2024-02-02
- *
- * @copyright Copyright (c) Mahrouss Logic
- *
- */
-
-#include <FirmwareKit/EFI.hxx>
-#include <BootKit/BootKit.hxx>
-#include <BootKit/HW/ATA.hxx>
-
-/// bugs: 0
-
-#define kATADataLen 256
-
-static Boolean kATADetected = false;
-static Int32 kATADeviceType = kATADeviceCount;
-static UInt16 kATAData[kATADataLen] = {0};
-
-Boolean boot_ata_detected(Void);
-
-STATIC Boolean boot_ata_wait_io(UInt16 IO)
-{
- for (int i = 0; i < 4; i++)
- In8(IO + ATA_REG_STATUS);
-
-ATAWaitForIO_Retry:
- auto statRdy = In8(IO + ATA_REG_STATUS);
-
- if ((statRdy & ATA_SR_BSY))
- goto ATAWaitForIO_Retry;
-
-ATAWaitForIO_Retry2:
- statRdy = In8(IO + ATA_REG_STATUS);
-
- if (statRdy & ATA_SR_ERR)
- return false;
-
- if (!(statRdy & ATA_SR_DRDY))
- goto ATAWaitForIO_Retry2;
-
- return true;
-}
-
-Void boot_ata_select(UInt16 Bus)
-{
- if (Bus == ATA_PRIMARY_IO)
- Out8(Bus + ATA_REG_HDDEVSEL, ATA_PRIMARY_SEL);
- else
- Out8(Bus + ATA_REG_HDDEVSEL, ATA_SECONDARY_SEL);
-}
-
-Boolean boot_ata_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
-{
- if (boot_ata_detected())
- return true;
-
- BTextWriter writer;
-
- UInt16 IO = Bus;
-
- boot_ata_select(IO);
-
- // Bus init, NEIN bit.
- Out8(IO + ATA_REG_NEIN, 1);
-
- // identify until it's good.
-ATAInit_Retry:
- auto statRdy = In8(IO + ATA_REG_STATUS);
-
- if (statRdy & ATA_SR_ERR)
- {
- writer.Write(
- L"New Boot: ATA: Select error, not an IDE based hard-drive.\r");
-
- return false;
- }
-
- if ((statRdy & ATA_SR_BSY))
- goto ATAInit_Retry;
-
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_IDENTIFY);
-
- /// fetch serial info
- /// model, speed, number of sectors...
-
- boot_ata_wait_io(IO);
-
- for (SizeT indexData = 0ul; indexData < kATADataLen; ++indexData)
- {
- kATAData[indexData] = In16(IO + ATA_REG_DATA);
- }
-
- OutBus =
- (Bus == ATA_PRIMARY_IO) ? BootDeviceATA::kPrimary : BootDeviceATA::kSecondary;
-
- OutMaster = (Bus == ATA_PRIMARY_IO) ? ATA_MASTER : ATA_SLAVE;
-
- return true;
-}
-
-Void boot_ata_read(UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeUTF8* Buf, SizeT SectorSz, SizeT Size)
-{
- UInt8 Command = ((!Master) ? 0xE0 : 0xF0);
-
- boot_ata_wait_io(IO);
- boot_ata_select(IO);
-
- Out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
-
- Out8(IO + ATA_REG_SEC_COUNT0, 2);
-
- Out8(IO + ATA_REG_LBA0, (Lba));
- Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
- Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
- Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
-
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_READ_PIO);
-
- boot_ata_wait_io(IO);
-
- for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
- {
- boot_ata_wait_io(IO);
- Buf[IndexOff] = In16(IO + ATA_REG_DATA);
- boot_ata_wait_io(IO);
- }
-}
-
-Void boot_ata_write(UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeUTF8* Buf, SizeT SectorSz, SizeT Size)
-{
- UInt8 Command = ((!Master) ? 0xE0 : 0xF0);
-
- boot_ata_wait_io(IO);
- boot_ata_select(IO);
-
- Out8(IO + ATA_REG_HDDEVSEL, (Command) | (((Lba) >> 24) & 0x0F));
-
- Out8(IO + ATA_REG_SEC_COUNT0, 2);
-
- Out8(IO + ATA_REG_LBA0, (Lba));
- Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
- Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
- Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
-
- Out8(IO + ATA_REG_COMMAND, ATA_CMD_WRITE_PIO);
-
- boot_ata_wait_io(IO);
-
- for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff)
- {
- boot_ata_wait_io(IO);
- Out16(IO + ATA_REG_DATA, Buf[IndexOff]);
- boot_ata_wait_io(IO);
- }
-}
-
-/// @check is ATA detected?
-Boolean boot_ata_detected(Void)
-{
- return kATADetected;
-}
-
-/***
- *
- *
- * @brief ATA Device class.
- *
- *
- */
-
-/**
- * @brief ATA Device constructor.
- * @param void none.
- */
-BootDeviceATA::BootDeviceATA() noexcept
-{
- if (boot_ata_init(ATA_PRIMARY_IO, true, this->Leak().mBus,
- this->Leak().mMaster) ||
- boot_ata_init(ATA_SECONDARY_IO, true, this->Leak().mBus,
- this->Leak().mMaster))
- {
- kATADetected = true;
- }
-}
-/**
- * @brief Is ATA detected?
- */
-BootDeviceATA::operator bool()
-{
- return boot_ata_detected();
-}
-
-/**
- @brief Read Buf from disk
- @param Sz Sector size
- @param Buf buffer
-*/
-BootDeviceATA& BootDeviceATA::Read(CharacterTypeUTF8* Buf, const SizeT& SectorSz)
-{
- if (!boot_ata_detected())
- {
- Leak().mErr = true;
- return *this;
- }
-
- this->Leak().mErr = false;
-
- if (!Buf || SectorSz < 1)
- return *this;
-
- auto lba = this->Leak().mBase / SectorSz;
-
- boot_ata_read(lba, this->Leak().mBus, this->Leak().mMaster,
- Buf, SectorSz, this->Leak().mSize);
-
- return *this;
-}
-
-/**
- @brief Write Buf into disk
- @param Sz Sector size
- @param Buf buffer
-*/
-BootDeviceATA& BootDeviceATA::Write(CharacterTypeUTF8* Buf, const SizeT& SectorSz)
-{
- if (!boot_ata_detected())
- {
- Leak().mErr = true;
- return *this;
- }
-
- Leak().mErr = false;
-
- if (!Buf || SectorSz < 1)
- return *this;
-
- auto lba = this->Leak().mBase / SectorSz;
-
- boot_ata_write(lba, this->Leak().mBus, this->Leak().mMaster,
- Buf, SectorSz, this->Leak().mSize);
-
- return *this;
-}
-
-/**
- * @brief ATA trait getter.
- * @return BootDeviceATA::ATATrait& the drive config.
- */
-BootDeviceATA::ATATrait& BootDeviceATA::Leak()
-{
- return mTrait;
-}
-
-/***
- @brief Getter, gets the number of sectors inside the drive.
-*/
-SizeT BootDeviceATA::GetSectorsCount() noexcept
-{
- return (kATAData[61] << 16) | kATAData[60];
-}
-
-SizeT BootDeviceATA::GetDiskSize() noexcept
-{
- return this->GetSectorsCount() * BootDeviceATA::kSectorSize;
-}
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootFileReader.cxx b/Private/NewBoot/Source/HEL/AMD64/BootFileReader.cxx
deleted file mode 100644
index 39c18821..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootFileReader.cxx
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: FileReader.cxx
- Purpose: New Boot FileReader,
- Read complete file and store it in a buffer.
-
-------------------------------------------- */
-
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/BootKit.hxx>
-#include <FirmwareKit/Handover.hxx>
-#include <FirmwareKit/EFI/API.hxx>
-#include <cstddef>
-
-/// @file BootFileReader
-/// @brief Bootloader File reader.
-/// BUGS: 0
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-///
-///
-/// @name BFileReader class
-/// @brief Reads the file as a blob.
-///
-///
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-/***
- @brief File Reader constructor.
-*/
-BFileReader::BFileReader(const CharacterTypeUTF16* path,
- EfiHandlePtr ImageHandle)
-{
- if (path != nullptr)
- {
- SizeT index = 0UL;
- for (; path[index] != L'\0'; ++index)
- {
- mPath[index] = path[index];
- }
-
- mPath[index] = 0;
- }
-
- /// Load protocols with their GUIDs.
-
- EfiGUID guidEfp = EfiGUID(EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID);
-
- EfiSimpleFilesystemProtocol* efp = nullptr;
- EfiFileProtocol* rootFs = nullptr;
-
- EfiLoadImageProtocol* img = nullptr;
- EfiGUID guidImg = EfiGUID(EFI_LOADED_IMAGE_PROTOCOL_GUID);
-
- if (BS->HandleProtocol(ImageHandle, &guidImg, (void**)&img) != kEfiOk)
- {
- mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Protocol").Write(L"\r");
- this->mErrorCode = kNotSupported;
- }
-
- if (BS->HandleProtocol(img->DeviceHandle, &guidEfp, (void**)&efp) != kEfiOk)
- {
- mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Protocol").Write(L"\r");
- this->mErrorCode = kNotSupported;
- return;
- }
-
- /// Start doing disk I/O
-
- if (efp->OpenVolume(efp, &rootFs) != kEfiOk)
- {
- mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Volume").Write(L"\r");
- this->mErrorCode = kNotSupported;
- return;
- }
-
- EfiFileProtocol* kernelFile = nullptr;
-
- if (rootFs->Open(rootFs, &kernelFile, mPath, kEFIFileRead, kEFIReadOnly) !=
- kEfiOk)
- {
- mWriter.Write(L"New Boot: Fetch-Protocol: No-Such-Path: ")
- .Write(mPath)
- .Write(L"\r");
- this->mErrorCode = kNotSupported;
- return;
- }
-
- rootFs->Close(rootFs);
-
- mSizeFile = 0;
- mFile = kernelFile;
- mErrorCode = kOperationOkay;
-}
-
-BFileReader::~BFileReader()
-{
- if (this->mFile)
- {
- this->mFile->Close(this->mFile);
- this->mFile = nullptr;
- }
-
- if (this->mBlob)
- BS->FreePool(mBlob);
-
- BSetMem(this->mPath, 0, kPathLen);
-}
-
-/**
- @brief this reads all of the buffer.
- @param until read until size is reached.
-*/
-Void BFileReader::ReadAll(SizeT until, SizeT chunk)
-{
- if (mBlob == nullptr)
- {
- if (auto err = BS->AllocatePool(EfiLoaderCode, until, (VoidPtr*)&mBlob) !=
- kEfiOk)
- {
- mWriter.Write(L"*** EFI-Code: ").Write(err).Write(L" ***\r");
- EFI::ThrowError(L"OutOfMemory", L"Out of memory.");
- }
- }
-
- mErrorCode = kNotSupported;
-
- UInt64 bufSize = chunk;
- UInt64 szCnt = 0;
- UInt64 curSz = 0;
-
- while (szCnt < until)
- {
- if (mFile->Read(mFile, &bufSize, (VoidPtr)((UIntPtr)mBlob + curSz)) !=
- kEfiOk)
- {
- break;
- }
-
- szCnt += bufSize;
- curSz += bufSize;
-
- if (bufSize == 0)
- break;
- }
-
- mSizeFile = curSz;
- mErrorCode = kOperationOkay;
-}
-
-/// @brief error code getter.
-/// @return the error code.
-Int32& BFileReader::Error()
-{
- return mErrorCode;
-}
-
-/// @brief blob getter.
-/// @return the blob.
-VoidPtr BFileReader::Blob()
-{
- return mBlob;
-}
-
-/// @breif Size getter.
-/// @return the size of the file.
-UInt64& BFileReader::Size()
-{
- return mSizeFile;
-}
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootJump.S b/Private/NewBoot/Source/HEL/AMD64/BootJump.S
deleted file mode 100644
index af278cc7..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootJump.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.global rt_jump_to_address
-.text
-
-.code64
-.intel_syntax noprefix
-
-rt_jump_to_address:
- jmp rcx
- ret
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootMain.cxx b/Private/NewBoot/Source/HEL/AMD64/BootMain.cxx
deleted file mode 100644
index ebde06e8..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootMain.cxx
+++ /dev/null
@@ -1,244 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <BootKit/BootKit.hxx>
-#include <BootKit/Rsrc/NewBoot.rsrc>
-#include <Builtins/Toolbox/Toolbox.hxx>
-#include <FirmwareKit/EFI.hxx>
-#include <FirmwareKit/EFI/API.hxx>
-#include <FirmwareKit/Handover.hxx>
-#include <KernelKit/MSDOS.hpp>
-#include <KernelKit/PE.hxx>
-#include <KernelKit/PEF.hpp>
-#include <NewKit/Macros.hpp>
-#include <NewKit/Ref.hpp>
-#include <cstring>
-
-/// make the compiler shut up.
-#ifndef kMachineModel
-#define kMachineModel "NeWS HD"
-#endif // !kMachineModel
-
-/** Graphics related. */
-
-STATIC EfiGraphicsOutputProtocol* kGop = nullptr;
-STATIC UInt16 kStride = 0U;
-STATIC EfiGUID kGopGuid;
-
-EXTERN_C Void hal_init_platform(HEL::HandoverInformationHeader* HIH);
-
-/**
- @brief Finds and stores the GOP.
-*/
-
-STATIC Void CheckAndFindFramebuffer() noexcept
-{
- kGopGuid = EfiGUID(EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID);
- kGop = nullptr;
-
- extern EfiBootServices* BS;
-
- BS->LocateProtocol(&kGopGuid, nullptr, (VoidPtr*)&kGop);
-
- kStride = 4;
-}
-
-/// @brief check the BootDevice if suitable.
-STATIC Bool CheckBootDevice(BootDeviceATA& ataDev)
-{
- if (ataDev.Leak().mErr)
- return false;
- return true;
-}
-
-/// @brief Main EFI entrypoint.
-/// @param ImageHandle Handle of this image.
-/// @param SystemTable The system table of it.
-/// @return
-EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle,
- EfiSystemTable* SystemTable)
-{
- InitEFI(SystemTable); ///! Init the EFI library.
- CheckAndFindFramebuffer(); ///! Init the GOP.
-
- BTextWriter writer;
-
- /// Splash screen stuff
-
- writer.Write(L"Mahrouss-Logic (R) New Boot: ")
- .Write(BVersionString::Shared());
-
- writer.Write(L"\rNew Boot: Firmware Vendor: ")
- .Write(SystemTable->FirmwareVendor)
- .Write(L"\r");
-
- UInt32* MapKey = new UInt32();
- UInt32* SizePtr = new UInt32();
- EfiMemoryDescriptor* Descriptor = nullptr;
- UInt32* SzDesc = new UInt32();
- UInt32* RevDesc = new UInt32();
-
- *MapKey = 0;
- *SizePtr = 0;
-
- HEL::HandoverInformationHeader* handoverHdrPtr =
- new HEL::HandoverInformationHeader();
-
- for (SizeT indexVT = 0; indexVT < SystemTable->NumberOfTableEntries;
- ++indexVT)
- {
- volatile Char* vendorTable = reinterpret_cast<volatile Char*>(
- SystemTable->ConfigurationTable[indexVT].VendorTable);
-
- /// ACPI's 'RSD PTR', which contains hardware tables (MADT, FACP...)
- if (vendorTable[0] == 'R' && vendorTable[1] == 'S' &&
- vendorTable[2] == 'D' && vendorTable[3] == ' ' &&
- vendorTable[4] == 'P' && vendorTable[5] == 'T' &&
- vendorTable[6] == 'R' && vendorTable[7] == ' ')
- {
- handoverHdrPtr->f_HardwareTables.f_RsdPtr = (VoidPtr)vendorTable;
-
- break;
- }
- }
-
- handoverHdrPtr->f_Magic = kHandoverMagic;
- handoverHdrPtr->f_Version = kHandoverVersion;
-
- BCopyMem(handoverHdrPtr->f_FirmwareVendorName, SystemTable->FirmwareVendor,
- handoverHdrPtr->f_FirmwareVendorLen);
-
- handoverHdrPtr->f_GOP.f_The = kGop->Mode->FrameBufferBase;
- handoverHdrPtr->f_GOP.f_Width = kGop->Mode->Info->VerticalResolution;
- handoverHdrPtr->f_GOP.f_Height = kGop->Mode->Info->HorizontalResolution;
- handoverHdrPtr->f_GOP.f_PixelPerLine = kGop->Mode->Info->PixelsPerScanLine;
- handoverHdrPtr->f_GOP.f_PixelFormat = kGop->Mode->Info->PixelFormat;
- handoverHdrPtr->f_GOP.f_Size = kGop->Mode->FrameBufferSize;
-
- ///! Finally draw bootloader screen.
-
- kHandoverHeader = handoverHdrPtr;
-
- ToolboxInitRsrc();
-
- ToolboxDrawZone(RGB(9d, 9d, 9d), handoverHdrPtr->f_GOP.f_Height,
- handoverHdrPtr->f_GOP.f_Width, 0, 0);
-
- ToolboxClearRsrc();
-
- ToolboxDrawRsrc(NewBoot, NEWBOOT_HEIGHT, NEWBOOT_WIDTH,
- (handoverHdrPtr->f_GOP.f_Width - NEWBOOT_WIDTH) / 2,
- (handoverHdrPtr->f_GOP.f_Height - NEWBOOT_HEIGHT) / 2);
-
- ToolboxClearRsrc();
-
- BS->GetMemoryMap(SizePtr, Descriptor, MapKey, SzDesc, RevDesc);
-
- Descriptor = new EfiMemoryDescriptor[*SzDesc];
- BS->GetMemoryMap(SizePtr, Descriptor, MapKey, SzDesc, RevDesc);
-
- writer.Write(L"Kernel-Desc-Count: ");
- writer.Write(*SzDesc);
- writer.Write(L"\r");
-
- auto cDefaultMemoryMap = 0; /// The sixth entry.
-
- /// A simple loop which finds a usable memory region for us.
- SizeT i = 0UL;
- for (; Descriptor[i].Kind != EfiMemoryType::EfiConventionalMemory; ++i)
- {
- ;
- }
-
- cDefaultMemoryMap = i;
-
- writer.Write(L"Number-Of-Pages: ")
- .Write(Descriptor[cDefaultMemoryMap].NumberOfPages)
- .Write(L"\r");
- writer.Write(L"Virtual-Address: ")
- .Write(Descriptor[cDefaultMemoryMap].VirtualStart)
- .Write(L"\r");
- writer.Write(L"Phyiscal-Address: ")
- .Write(Descriptor[cDefaultMemoryMap].PhysicalStart)
- .Write(L"\r");
- writer.Write(L"Page-Kind: ")
- .Write(Descriptor[cDefaultMemoryMap].Kind)
- .Write(L"\r");
- writer.Write(L"Page-Attribute: ")
- .Write(Descriptor[cDefaultMemoryMap].Attribute)
- .Write(L"\r");
-
- handoverHdrPtr->f_PhysicalStart =
- (VoidPtr)Descriptor[cDefaultMemoryMap].PhysicalStart;
-
- handoverHdrPtr->f_FirmwareSpecific[HEL::kHandoverSpecificAttrib] =
- Descriptor[cDefaultMemoryMap].Attribute;
- handoverHdrPtr->f_FirmwareSpecific[HEL::kHandoverSpecificKind] =
- Descriptor[cDefaultMemoryMap].Kind;
- handoverHdrPtr->f_FirmwareSpecific[HEL::kHandoverSpecificMemoryEfi] =
- (UIntPtr)Descriptor;
-
- handoverHdrPtr->f_VirtualStart =
- (VoidPtr)Descriptor[cDefaultMemoryMap].VirtualStart;
- handoverHdrPtr->f_VirtualSize =
- Descriptor[cDefaultMemoryMap].NumberOfPages; /* # of pages */
-
- handoverHdrPtr->f_FirmwareVendorLen = BStrLen(SystemTable->FirmwareVendor);
-
- BFileReader reader(L"SplashScreen.fmt", ImageHandle);
- reader.ReadAll(512, 16);
-
- if (reader.Blob())
- {
- Char* buf = (Char*)reader.Blob();
-
- for (SizeT i = 0; i < reader.Size(); ++i)
- {
- if (buf[i] != '\n' && buf[i] != '\r')
- {
- if (buf[i] == '*')
- {
- writer.WriteCharacter('\t');
- }
- else
- {
- writer.WriteCharacter(buf[i]);
- }
- }
- else
- writer.Write(L"\r");
- }
- }
-
- ///
- /// The following checks for an exisiting partition
- /// inside the disk, if it doesn't have one,
- /// format the disk.
- //
-
- BDiskFormatFactory<BootDeviceATA> diskFormatter;
-
- /// if not formated yet, then format it with the following folders:
- /// /, /Boot, /Applications.
- if (!diskFormatter.IsPartitionValid())
- {
- BDiskFormatFactory<BootDeviceATA>::BFileDescriptor rootDesc{0};
-
- CopyMem(rootDesc.fFileName, kNewFSRoot, StrLen(kNewFSRoot));
- rootDesc.fKind = kNewFSCatalogKindDir;
-
- diskFormatter.Format(kMachineModel, &rootDesc, 1);
- }
-
- EFI::ExitBootServices(*MapKey, ImageHandle);
-
- /// Fallback to builtin kernel.
- hal_init_platform(handoverHdrPtr);
-
- EFI::Stop();
-
- CANT_REACH();
-}
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootPlatform.cxx b/Private/NewBoot/Source/HEL/AMD64/BootPlatform.cxx
deleted file mode 100644
index 1b8576a9..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootPlatform.cxx
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/BootKit.hxx>
-#include "HALKit/AMD64/Processor.hpp"
-
-#ifdef __STANDALONE__
-
-EXTERN_C void rt_hlt()
-{
- asm volatile("hlt");
-}
-
-EXTERN_C void rt_cli()
-{
- asm volatile("cli");
-}
-
-EXTERN_C void rt_sti()
-{
- asm volatile("sti");
-}
-
-EXTERN_C void rt_cld()
-{
- asm volatile("cld");
-}
-
-EXTERN_C void rt_std()
-{
- asm volatile("std");
-}
-
-EXTERN_C void Out8(UInt16 port, UInt8 value)
-{
- asm volatile("outb %%al, %1"
- :
- : "a"(value), "Nd"(port)
- : "memory");
-}
-
-EXTERN_C void Out16(UInt16 port, UInt16 value)
-{
- asm volatile("outw %%ax, %1"
- :
- : "a"(value), "Nd"(port)
- : "memory");
-}
-
-EXTERN_C void Out32(UInt16 port, UInt32 value)
-{
- asm volatile("outl %%eax, %1"
- :
- : "a"(value), "Nd"(port)
- : "memory");
-}
-
-EXTERN_C UInt8 In8(UInt16 port)
-{
- UInt8 value;
- asm volatile("inb %1, %%al"
- : "=a"(value)
- : "Nd"(port)
- : "memory");
-
- return value;
-}
-
-EXTERN_C UInt16 In16(UInt16 port)
-{
- UInt16 value;
- asm volatile("inw %%dx, %%ax"
- : "=a"(value)
- : "d"(port));
-
- return value;
-}
-
-EXTERN_C UInt32 In32(UInt16 port)
-{
- UInt32 value;
- asm volatile("inl %1, %%eax"
- : "=a"(value)
- : "Nd"(port)
- : "memory");
-
- return value;
-}
-
-#else
-
-void rt_hlt()
-{
- NewOS::HAL::rt_halt();
-}
-
-#endif // 0
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootString.cxx b/Private/NewBoot/Source/HEL/AMD64/BootString.cxx
deleted file mode 100644
index 34e16737..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootString.cxx
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: String.cxx
- Purpose: NewBoot string library
-
- Revision History:
-
-
-
-------------------------------------------- */
-
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/BootKit.hxx>
-
-/// bugs 0
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-NewOS::SizeT BCopyMem(CharacterTypeUTF16* dest, CharacterTypeUTF16* src, const NewOS::SizeT len)
-{
- if (!dest || !src)
- return 0;
-
- SizeT index = 0UL;
- for (; index < len; ++index)
- {
- dest[index] = src[index];
- }
-
- return index;
-}
-
-NewOS::SizeT BStrLen(const CharacterTypeUTF16* ptr)
-{
- if (!ptr)
- return 0;
-
- NewOS::SizeT cnt = 0;
-
- while (*ptr != (CharacterTypeUTF16)0)
- {
- ++ptr;
- ++cnt;
- }
-
- return cnt;
-}
-
-NewOS::SizeT BSetMem(CharacterTypeUTF16* src, const CharacterTypeUTF16 byte, const NewOS::SizeT len)
-{
- if (!src)
- return 0;
-
- NewOS::SizeT cnt = 0UL;
-
- while (*src != 0)
- {
- if (cnt > len)
- break;
-
- *src = byte;
- ++src;
-
- ++cnt;
- }
-
- return cnt;
-}
-
-NewOS::SizeT BSetMem(CharacterTypeUTF8* src, const CharacterTypeUTF8 byte, const NewOS::SizeT len)
-{
- if (!src)
- return 0;
-
- NewOS::SizeT cnt = 0UL;
-
- while (*src != 0)
- {
- if (cnt > len)
- break;
-
- *src = byte;
- ++src;
-
- ++cnt;
- }
-
- return cnt;
-}
diff --git a/Private/NewBoot/Source/HEL/AMD64/BootTextWriter.cxx b/Private/NewBoot/Source/HEL/AMD64/BootTextWriter.cxx
deleted file mode 100644
index fcb2154f..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/BootTextWriter.cxx
+++ /dev/null
@@ -1,140 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: String.cxx
- Purpose: NewBoot string library
-
- Revision History:
-
-
-
-------------------------------------------- */
-
-#include <FirmwareKit/EFI/API.hxx>
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/BootKit.hxx>
-
-/// BUGS: 0
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-/**
-@brief puts wrapper over EFI ConOut.
-*/
-BTextWriter& BTextWriter::Write(const CharacterTypeUTF16* str)
-{
-#ifdef __DEBUG__
- if (!str || *str == 0)
- return *this;
-
- CharacterTypeUTF16 strTmp[2];
- strTmp[1] = 0;
-
- for (size_t i = 0; str[i] != 0; i++)
- {
- if (str[i] == '\r')
- {
- strTmp[0] = str[i];
- ST->ConOut->OutputString(ST->ConOut, strTmp);
-
- strTmp[0] = '\n';
- ST->ConOut->OutputString(ST->ConOut, strTmp);
- }
- else
- {
- strTmp[0] = str[i];
- ST->ConOut->OutputString(ST->ConOut, strTmp);
- }
- }
-#endif // ifdef __DEBUG__
-
- return *this;
-}
-
-/// @brief UTF-8 equivalent of Write (UTF-16).
-/// @param str the input string.
-BTextWriter& BTextWriter::Write(const Char* str)
-{
-#ifdef __DEBUG__
- if (!str || *str == 0)
- return *this;
-
- CharacterTypeUTF16 strTmp[2];
- strTmp[1] = 0;
-
- for (size_t i = 0; str[i] != 0; i++)
- {
- if (str[i] == '\r')
- {
- strTmp[0] = str[i];
- ST->ConOut->OutputString(ST->ConOut, strTmp);
-
- strTmp[0] = '\n';
- ST->ConOut->OutputString(ST->ConOut, strTmp);
- }
- else
- {
- strTmp[0] = str[i];
- ST->ConOut->OutputString(ST->ConOut, strTmp);
- }
- }
-#endif // ifdef __DEBUG__
-
- return *this;
-}
-
-/**
-@brief putc wrapper over EFI ConOut.
-*/
-BTextWriter& BTextWriter::WriteCharacter(CharacterTypeUTF16 c)
-{
-#ifdef __DEBUG__
- EfiCharType str[2];
-
- str[0] = c;
- str[1] = 0;
- ST->ConOut->OutputString(ST->ConOut, str);
-#endif // ifdef __DEBUG__
-
- return *this;
-}
-
-BTextWriter& BTextWriter::Write(const Long& x)
-{
-#ifdef __DEBUG__
- this->Write(L"0x");
- this->_Write(x);
-
-#endif // ifdef __DEBUG__
-
- return *this;
-}
-
-BTextWriter& BTextWriter::_Write(const Long& x)
-{
-#ifdef __DEBUG__
- UInt64 y = (x > 0 ? x : -x) / 16;
- UInt64 h = (x > 0 ? x : -x) % 16;
-
- if (y)
- this->_Write(y);
-
- /* fail if the hex number is not base-16 */
- if (h > 15)
- {
- this->WriteCharacter('?');
- return *this;
- }
-
- if (y < 0)
- y = -y;
-
- const char NUMBERS[17] = "0123456789ABCDEF";
-
- this->WriteCharacter(NUMBERS[h]);
-#endif // ifdef __DEBUG__
-
- return *this;
-}
diff --git a/Private/NewBoot/Source/HEL/AMD64/New+Delete.cxx b/Private/NewBoot/Source/HEL/AMD64/New+Delete.cxx
deleted file mode 100644
index 25aaec1c..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/New+Delete.cxx
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <BootKit/Platform.hxx>
-#include <BootKit/Protocol.hxx>
-#include <BootKit/BootKit.hxx>
-#include <cstddef> /* Since we're using GCC for this EFI program. */
-
-#ifdef __STANDALONE__
-
-/// @brief Allocates a new object.
-/// @param sz the size.
-/// @return
-void* operator new(size_t sz)
-{
- void* buf = nullptr;
- BS->AllocatePool(EfiMemoryType::EfiLoaderData, sz, &buf);
-
- return buf;
-}
-
-/// @brief Allocates a new object.
-/// @param sz the size.
-/// @return
-void* operator new[](size_t sz)
-{
- void* buf = nullptr;
- BS->AllocatePool(EfiMemoryType::EfiLoaderData, sz, &buf);
-
- return buf;
-}
-
-/// @brief Deletes the object.
-/// @param buf the object.
-void operator delete(void* buf)
-{
- BS->FreePool(buf);
-}
-
-/// @brief Deletes the object (array specific).
-/// @param buf the object.
-/// @param size it's size.
-void operator delete(void* buf, size_t size)
-{
- BS->FreePool(buf);
-}
-
-#endif // Inactive
diff --git a/Private/NewBoot/Source/HEL/AMD64/Support.cxx b/Private/NewBoot/Source/HEL/AMD64/Support.cxx
deleted file mode 100644
index 65fb6b48..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/Support.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <FirmwareKit/EFI/EFI.hxx>
-#include <FirmwareKit/Handover.hxx>
-#include <BootKit/Vendor/Support.hxx>
-
-#ifdef __STANDALONE__
-
-/// @brief memset definition in C++.
-/// @param dst destination pointer.
-/// @param byte value to fill in.
-/// @param len length of of src.
-EXTERN_C VoidPtr memset(void* dst, int byte, long long unsigned int len)
-{
- for (size_t i = 0UL; i < len; ++i)
- {
- ((int*)dst)[i] = byte;
- }
-
- return dst;
-}
-
-/// @brief memcpy definition in C++.
-/// @param dst destination pointer.
-/// @param src source pointer.
-/// @param len length of of src.
-EXTERN_C VoidPtr memcpy(void* dst, const void* src, long long unsigned int len)
-{
- for (size_t i = 0UL; i < len; ++i)
- {
- ((int*)dst)[i] = ((int*)src)[i];
- }
-
- return dst;
-}
-
-/// @brief strlen definition in C++.
-EXTERN_C size_t strlen(const char* whatToCheck)
-{
- if (!whatToCheck || *whatToCheck == 0)
- return 0;
-
- SizeT len = 0;
-
- while (whatToCheck[len] != 0)
- {
- ++len;
- }
-
- return len;
-}
-
-/// @brief somthing specific to the microsoft ABI, regarding checking the stack.
-EXTERN_C void ___chkstk_ms(void)
-{
-}
-
-#endif
diff --git a/Private/NewBoot/Source/HEL/AMD64/compile_flags.txt b/Private/NewBoot/Source/HEL/AMD64/compile_flags.txt
deleted file mode 100644
index e4515efe..00000000
--- a/Private/NewBoot/Source/HEL/AMD64/compile_flags.txt
+++ /dev/null
@@ -1,3 +0,0 @@
--std=c++20
--I../../../
--I../../../../
diff --git a/Private/NewBoot/Source/HEL/ARM64/.gitkeep b/Private/NewBoot/Source/HEL/ARM64/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Private/NewBoot/Source/HEL/ARM64/.gitkeep
+++ /dev/null
diff --git a/Private/NewBoot/Source/HEL/POWER/.gitkeep b/Private/NewBoot/Source/HEL/POWER/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Private/NewBoot/Source/HEL/POWER/.gitkeep
+++ /dev/null
diff --git a/Private/NewBoot/Source/HEL/POWER/CoreBootStartup.S b/Private/NewBoot/Source/HEL/POWER/CoreBootStartup.S
deleted file mode 100644
index 41fc6ae2..00000000
--- a/Private/NewBoot/Source/HEL/POWER/CoreBootStartup.S
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-.section .boot_hdr
-.align 4
-
-/* NewBoot boot header begin */
-
-boot_hdr_mag:
- .ascii "CB"
-boot_hdr_name:
- // it has to match ten bytes.
- .asciz "NewBoot\0\0\0"
-boot_hdr_ver:
- .word 0x104
-boot_hdr_proc:
- .long bootloader_start
-
-/* NewOS boot header end */
-
-.extern bootloader_main
-.extern bootloader_stack
-
-.globl bootloader_start
-bootloader_start:
- mflr 4 /* real address of .Laddr */
- lwz 0,(bootloader_stack-bootloader_start)(4) /* stack address location */
- mr 1,0 /* use user defined stack */
-
- bl bootloader_main
- blr
diff --git a/Private/NewBoot/Source/HEL/RISCV/.gitkeep b/Private/NewBoot/Source/HEL/RISCV/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Private/NewBoot/Source/HEL/RISCV/.gitkeep
+++ /dev/null
diff --git a/Private/NewBoot/Source/HEL/RISCV/BootRISCV.S b/Private/NewBoot/Source/HEL/RISCV/BootRISCV.S
deleted file mode 100644
index 87b87bab..00000000
--- a/Private/NewBoot/Source/HEL/RISCV/BootRISCV.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-.section .init
-.align 4
-
-/* NewOS kernel header begin */
-
-k_hdr_mag:
- .ascii "LX"
-k_hdr_name:
- // it has to match ten bytes.
- .asciz "New OS\0\0\0\0"
-k_hdr_ver:
- .word 0x104
-k_hdr_proc:
- .long __bootloader_start
-
-/* end */ \ No newline at end of file
diff --git a/Private/NewBoot/Source/Root/EFI/STARTUP.NSH b/Private/NewBoot/Source/Root/EFI/STARTUP.NSH
deleted file mode 100644
index d29ba8fd..00000000
--- a/Private/NewBoot/Source/Root/EFI/STARTUP.NSH
+++ /dev/null
@@ -1,2 +0,0 @@
-fs0:
-BOOT\BOOTX64.EFI
diff --git a/Private/NewBoot/Source/Root/SplashScreen.fmt b/Private/NewBoot/Source/Root/SplashScreen.fmt
deleted file mode 100644
index 6ac6486e..00000000
--- a/Private/NewBoot/Source/Root/SplashScreen.fmt
+++ /dev/null
@@ -1,7 +0,0 @@
-==================================================================
-Welcome to NeWS.
-Brought to you by: Amlal EL Mahrouss.
-* NewBoot, NewKernel: Amlal EL Mahrouss.
-This copy can boot directly to NewKernel (Unified System).
-Copyright Mahrouss-Logic, all rights reserved.
-==================================================================
diff --git a/Private/NewBoot/Source/compile_flags.txt b/Private/NewBoot/Source/compile_flags.txt
deleted file mode 100644
index c74d22b2..00000000
--- a/Private/NewBoot/Source/compile_flags.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--std=c++20
--I../
--I../../
--D__NEWOS_AMD64__
diff --git a/Private/NewBoot/Source/makefile b/Private/NewBoot/Source/makefile
deleted file mode 100644
index 13c4885d..00000000
--- a/Private/NewBoot/Source/makefile
+++ /dev/null
@@ -1,106 +0,0 @@
-##################################################
-# (C) Mahrouss Logic, all rights reserved.
-# This is the bootloader makefile.
-##################################################
-
-CC_GNU=x86_64-w64-mingw32-g++
-LD_GNU=x86_64-w64-mingw32-ld
-
-WINDRES=x86_64-w64-mingw32-windres
-
-ADD_FILE=touch
-COPY=cp
-HTTP_GET=wget
-
-ifeq ($(shell uname), Windows_NT)
-EMU=qemu-system-x86_64w
-else
-EMU=qemu-system-x86_64
-endif
-
-ifeq ($(NEWS_MODEL), )
-NEWOS_MODEL=-DkMachineModel="\"Generic NeWS HD\""
-endif
-
-IMG=epm.img
-IMG_2=epm-slave.img
-
-EMU_FLAGS=-net none -smp 4 -m 8G -M q35 \
- -bios OVMF.fd -device piix3-ide,id=ide \
- -drive id=disk,file=$(IMG),format=raw,if=none \
- -device ide-hd,drive=disk,bus=ide.0 -drive \
- file=fat:rw:Root,index=2,format=raw -d int -hdd epm-slave.img
-
-LD_FLAGS=-e Main --subsystem=10
-
-ifeq ($(NEWS_STANDLONE), )
-OBJ=*.o ../../Objects/*.obj
-else
-RESCMD=$(WINDRES) BootloaderRsrc.rsrc -O coff -o BootloaderRsrc.o
-STANDALONE_MACRO=-D__STANDALONE__
-OBJ=*.o
-endif
-
-REM=rm
-REM_FLAG=-f
-
-FLAG_ASM=-f win64
-FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__KERNEL__ -D__NEWBOOT__ \
- -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -nostdlib -fno-rtti -fno-exceptions \
- -std=c++20 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./
-
-BOOT_LOADER=NewBoot.exe
-KERNEL=NewKernel.exe
-
-.PHONY: invalid-recipe
-invalid-recipe:
- @echo "invalid-recipe: Use make compile-<arch> instead."
-
-.PHONY: all
-all: compile-amd64
- mkdir -p Root/EFI/BOOT
- $(LD_GNU) $(OBJ) $(LD_FLAGS) -o $(BOOT_LOADER)
- $(COPY) $(BOOT_LOADER) Root/EFI/BOOT/BOOTX64.EFI
- $(COPY) $(BOOT_LOADER) Root/EFI/BOOT/NEWBOOT.EFI
- $(COPY) ../../$(KERNEL) Root/$(KERNEL)
-
-ifneq ($(DEBUG_SUPPORT), )
-DEBUG = -D__DEBUG__
-endif
-
-.PHONY: compile-amd64
-compile-amd64:
- $(RESCMD)
- $(CC_GNU) $(NEWOS_MODEL) $(STANDALONE_MACRO) $(FLAG_GNU) $(DEBUG) $(wildcard HEL/AMD64/*.cxx) $(wildcard HEL/AMD64/*.S) $(wildcard *.cxx)
-
-.PHONY: run-efi-amd64
-run-efi-amd64:
- $(EMU) $(EMU_FLAGS)
-
-# img_2 is the rescue disk. img is the bootable disk, as provided by the NeWS.
-.PHONY: epm-img
-epm-img:
- qemu-img create -f raw $(IMG) 10G
- qemu-img create -f raw $(IMG_2) 512M
-
-.PHONY: download-edk
-download-edk:
- $(HTTP_GET) https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd -O OVMF.fd
-
-BINS=*.bin
-EXECUTABLES=NewBoot.exe NewKernel.exe OVMF.fd
-
-TARGETS=$(REM_FLAG) $(OBJ) $(BIN) $(IMG) $(IMG_2) $(EXECUTABLES)
-
-.PHONY: clean
-clean:
- $(REM) $(TARGETS)
-
-.PHONY: help
-help:
- @echo "=== HELP ==="
- @echo "epm-img: Format a disk using the Explicit Partition Map."
- @echo "gpt-img: Format a disk using the Explicit Partition Map."
- @echo "clean: clean bootloader."
- @echo "bootloader-amd64: Build bootloader. (PC AMD64)"
- @echo "run-efi-amd64: Run bootloader. (PC AMD64)"
diff --git a/Private/NewBoot/Source/ovmf.ps1 b/Private/NewBoot/Source/ovmf.ps1
deleted file mode 100644
index 5a2c5f0e..00000000
--- a/Private/NewBoot/Source/ovmf.ps1
+++ /dev/null
@@ -1,4 +0,0 @@
-$client = new-object System.Net.WebClient
-$output = "$PSScriptRoot\OVMF.fd"
-
-$client.DownloadFile("https://retrage.github.io/edk2-nightly/bin/DEBUGX64_OVMF.fd", $output)