diff options
Diffstat (limited to 'Private/NewBoot/Source')
| -rw-r--r-- | Private/NewBoot/Source/BootMain.cxx | 26 | ||||
| -rw-r--r-- | Private/NewBoot/Source/FileReader.cxx | 15 | ||||
| -rw-r--r-- | Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx | 16 | ||||
| -rw-r--r-- | Private/NewBoot/Source/TextWriter.cxx | 6 | ||||
| -rw-r--r-- | Private/NewBoot/Source/makefile | 2 |
5 files changed, 27 insertions, 38 deletions
diff --git a/Private/NewBoot/Source/BootMain.cxx b/Private/NewBoot/Source/BootMain.cxx index 62639b18..170a7215 100644 --- a/Private/NewBoot/Source/BootMain.cxx +++ b/Private/NewBoot/Source/BootMain.cxx @@ -33,27 +33,19 @@ EFI_EXTERN_C EFI_API Int EfiMain(EfiHandlePtr ImageHandle, BTextWriter writer; - writer.WriteString(L"HCoreLdr: "); + writer.Write(L"HCoreLdr: "); -#ifndef __DEBUG__ - - writer.WriteString(L"Version 1.12 (Release Channel)\r\n"); - -#else - - writer.WriteString(L"Version 1.12 (Insiders Channel)\r\n"); - -#endif + writer.Write(BVersionString::Shared()).Write(L"\r\n"); const char strDate[] = __DATE__; - writer.WriteString(L"HCoreLdr: Build: "); + writer.Write(L"HCoreLdr: Build: "); for (auto& ch : strDate) writer.WriteCharacter(ch); - writer.WriteString(L"\r\nHCoreLdr: Firmware Vendor: ") - .WriteString(SystemTable->FirmwareVendor) - .WriteString(L"\r\n"); + writer.Write(L"\r\nHCoreLdr: Firmware Vendor: ") + .Write(SystemTable->FirmwareVendor) + .Write(L"\r\n"); BFileReader img(L"HCOREKRNL.DLL", ImageHandle); @@ -160,13 +152,13 @@ EFI_EXTERN_C EFI_API Int EfiMain(EfiHandlePtr ImageHandle, return kEfiOk; } else { - writer.WriteString(L"HCoreLdr: Error-Code: HLDR-0001\r\n"); + writer.Write(L"HCoreLdr: Error-Code: HLDR-0001\r\n"); } } else { - writer.WriteString(L"HCoreLdr: Error-Code: HLDR-0002\r\n"); + writer.Write(L"HCoreLdr: Error-Code: HLDR-0002\r\n"); } } else { - writer.WriteString(L"HCoreLdr: Error-Code: HLDR-0003\r\n"); + writer.Write(L"HCoreLdr: Error-Code: HLDR-0003\r\n"); } EFI::Stop(); diff --git a/Private/NewBoot/Source/FileReader.cxx b/Private/NewBoot/Source/FileReader.cxx index 16197164..92b35eff 100644 --- a/Private/NewBoot/Source/FileReader.cxx +++ b/Private/NewBoot/Source/FileReader.cxx @@ -50,14 +50,12 @@ BFileReader::BFileReader(const CharacterType* path, EfiHandlePtr ImageHandle) { EfiGUID guidImg = EfiGUID(EFI_LOADED_IMAGE_PROTOCOL_GUID); if (BS->HandleProtocol(ImageHandle, &guidImg, (void**)&img) != kEfiOk) { - mWriter.WriteString(L"HCoreLdr: Fetch-Protocol: No-Such-Protocol") - .WriteString(L"\r\n"); + mWriter.Write(L"HCoreLdr: Fetch-Protocol: No-Such-Protocol").Write(L"\r\n"); this->mErrorCode = kNotSupported; } if (BS->HandleProtocol(img->DeviceHandle, &guidEfp, (void**)&efp) != kEfiOk) { - mWriter.WriteString(L"HCoreLdr: Fetch-Protocol: No-Such-Protocol") - .WriteString(L"\r\n"); + mWriter.Write(L"HCoreLdr: Fetch-Protocol: No-Such-Protocol").Write(L"\r\n"); this->mErrorCode = kNotSupported; return; } @@ -65,8 +63,7 @@ BFileReader::BFileReader(const CharacterType* path, EfiHandlePtr ImageHandle) { /// Start doing disk I/O if (efp->OpenVolume(efp, &rootFs) != kEfiOk) { - mWriter.WriteString(L"HCoreLdr: Fetch-Protocol: No-Such-Volume") - .WriteString(L"\r\n"); + mWriter.Write(L"HCoreLdr: Fetch-Protocol: No-Such-Volume").Write(L"\r\n"); this->mErrorCode = kNotSupported; return; } @@ -75,9 +72,9 @@ BFileReader::BFileReader(const CharacterType* path, EfiHandlePtr ImageHandle) { if (rootFs->Open(rootFs, &kernelFile, mPath, kEFIFileRead, kEFIReadOnly) != kEfiOk) { - mWriter.WriteString(L"HCoreLdr: Fetch-Protocol: No-Such-Path: ") - .WriteString(mPath) - .WriteString(L"\r\n"); + mWriter.Write(L"HCoreLdr: Fetch-Protocol: No-Such-Path: ") + .Write(mPath) + .Write(L"\r\n"); this->mErrorCode = kNotSupported; return; } diff --git a/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx b/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx index 0adf7707..13ee3dbf 100644 --- a/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx +++ b/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx @@ -72,7 +72,7 @@ ATAInit_Retry: auto statRdy = In8(IO + ATA_REG_STATUS); if (statRdy & ATA_SR_ERR) { - writer.WriteString( + writer.Write( L"HCoreLdr: ATA: Select error, not an IDE based hard-drive.\r\n"); return false; @@ -91,14 +91,14 @@ ATAInit_Retry: kATAData[indexData] = In16(IO + ATA_REG_DATA); } - writer.WriteString(L"HCoreLdr: Model: "); + writer.Write(L"HCoreLdr: Model: "); for (SizeT indexData = 0; indexData < kATADataLen; indexData += 1) { writer.WriteCharacter(kATAData[indexData + ATA_IDENT_MODEL + 1]) .WriteCharacter(kATAData[indexData + ATA_IDENT_MODEL]); } - writer.WriteString(L"\r\n"); + writer.Write(L"\r\n"); OutBus = (Bus == ATA_PRIMARY) ? BDeviceATA::kPrimary : BDeviceATA::kSecondary; OutMaster = (Bus == ATA_PRIMARY) ? ATA_MASTER : ATA_SLAVE; @@ -115,21 +115,21 @@ ATAInit_Retry: /* differentiate ATA, ATAPI, SATA and SATAPI */ if (cl == 0x14 && ch == 0xEB) { - writer.WriteString(L"HCoreLdr: PATAPI drive detected.\r\n"); + writer.Write(L"HCoreLdr: PATAPI drive detected.\r\n"); kATADeviceType = kATADevicePATA_PI; } if (cl == 0x69 && ch == 0x96) { - writer.WriteString(L"HCoreLdr: SATAPI drive detected.\r\n"); + writer.Write(L"HCoreLdr: SATAPI drive detected.\r\n"); kATADeviceType = kATADeviceSATA_PI; } if (cl == 0 && ch == 0) { - writer.WriteString(L"HCoreLdr: PATA drive detected.\r\n"); + writer.Write(L"HCoreLdr: PATA drive detected.\r\n"); kATADeviceType = kATADevicePATA; } if (cl == 0x3c && ch == 0xc3) { - writer.WriteString(L"HCoreLdr: SATA drive detected.\r\n"); + writer.Write(L"HCoreLdr: SATA drive detected.\r\n"); kATADeviceType = kATADeviceSATA; } @@ -207,7 +207,7 @@ BDeviceATA::BDeviceATA() noexcept { kATADetected = true; BTextWriter writer; - writer.WriteString(L"HCoreLdr: Driver: OnLine.\r\n"); + writer.Write(L"HCoreLdr: Driver: OnLine.\r\n"); } } diff --git a/Private/NewBoot/Source/TextWriter.cxx b/Private/NewBoot/Source/TextWriter.cxx index 1191c288..127b2293 100644 --- a/Private/NewBoot/Source/TextWriter.cxx +++ b/Private/NewBoot/Source/TextWriter.cxx @@ -20,7 +20,7 @@ /** @brief puts wrapper over EFI ConOut. */ -BTextWriter &BTextWriter::WriteString(const CharacterType *str) { +BTextWriter &BTextWriter::Write(const CharacterType *str) { if (*str == 0 || !str) return *this; ST->ConOut->OutputString(ST->ConOut, str); @@ -40,11 +40,11 @@ BTextWriter &BTextWriter::WriteCharacter(CharacterType c) { return *this; } -BTextWriter &BTextWriter::WriteString(const Long &x) { +BTextWriter &BTextWriter::Write(const Long &x) { int y = x / 16; int h = x % 16; - if (y) this->WriteString(y); + if (y) this->Write(y); /* fail if the hex number is not base-16 */ if (h > 15) { diff --git a/Private/NewBoot/Source/makefile b/Private/NewBoot/Source/makefile index 30213e07..28efe7e5 100644 --- a/Private/NewBoot/Source/makefile +++ b/Private/NewBoot/Source/makefile @@ -27,7 +27,7 @@ bootloader-amd64: .PHONY: run-efi-amd64 run-efi-amd64: - qemu-system-x86_64 -net none -smp 2 -m 4G -M q35 -bios OVMF.fd -drive file=fat:rw:CDROM,index=1,format=raw -serial stdio + qemu-system-x86_64 -net none -smp 2 -m 4G -M q35 -bios OVMF.fd -drive file=fat:rw:CDROM,index=1,format=raw -d int .PHONY: download-edk download-edk: |
