diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-27 08:43:21 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-27 08:43:21 +0200 |
| commit | d7519f338b544624145997576d2800f9670aa699 (patch) | |
| tree | c0e4045729a2017aea1eeb04a27eb8e115a12223 /Private | |
| parent | d10241467cc3f77988927a48a4384f63297465dd (diff) | |
MHR-18: Kernel patches, improved documentation and new FloatType in
user-space SystemLib.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private')
| -rw-r--r-- | Private/HALKit/AMD64/HalACPIFactoryInterface.cxx | 2 | ||||
| -rw-r--r-- | Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp | 2 | ||||
| -rw-r--r-- | Private/KernelKit/DebugOutput.hpp | 11 | ||||
| -rw-r--r-- | Private/NewBoot/BootKit/BootKit.hxx | 11 |
4 files changed, 14 insertions, 12 deletions
diff --git a/Private/HALKit/AMD64/HalACPIFactoryInterface.cxx b/Private/HALKit/AMD64/HalACPIFactoryInterface.cxx index d18d49cf..d20bf222 100644 --- a/Private/HALKit/AMD64/HalACPIFactoryInterface.cxx +++ b/Private/HALKit/AMD64/HalACPIFactoryInterface.cxx @@ -64,7 +64,7 @@ ErrorOr<voidPtr> ACPIFactoryInterface::Find(const char *signature) { SizeT num = xsdt->Length + sizeof(SDT) / 8; kcout << "ACPI: Number of entries: " << number(num) << endl; - kcout << "ACPI: Address of XSDT: " << number((UIntPtr)xsdt) << endl; + kcout << "ACPI: Address of XSDT: " << hex_number((UIntPtr)xsdt) << endl; constexpr short ACPI_SIGNATURE_LENGTH = 4; diff --git a/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp b/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp index 37e8f0cc..5c845812 100644 --- a/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp +++ b/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp @@ -6,7 +6,7 @@ #include <Builtins/ACPI/ACPIFactoryInterface.hxx> #include <HALKit/AMD64/Processor.hpp> -#include "NewKit/KernelCheck.hpp" +#include <NewKit/KernelCheck.hpp> /////////////////////////////////////////////////////////////////////////////////////// diff --git a/Private/KernelKit/DebugOutput.hpp b/Private/KernelKit/DebugOutput.hpp index f24933cc..6c4da58e 100644 --- a/Private/KernelKit/DebugOutput.hpp +++ b/Private/KernelKit/DebugOutput.hpp @@ -57,8 +57,8 @@ inline TerminalDevice carriage_return() { namespace Detail { inline TerminalDevice _write_number(const Long &x, TerminalDevice& term) { - int y = x / 10; - int h = x % 10; + UInt64 y = (x > 0 ? x : -x) / 10; + UInt64 h = (x > 0 ? x : -x) % 10; if (y) _write_number(y, term); @@ -81,8 +81,8 @@ inline TerminalDevice _write_number(const Long &x, TerminalDevice& term) { } inline TerminalDevice _write_number_hex(const Long &x, TerminalDevice& term) { - int y = x / 16; - int h = x % 16; + UInt64 y = (x > 0 ? x : -x) / 16; + UInt64 h = (x > 0 ? x : -x) % 16; if (y) _write_number_hex(y, term); @@ -94,7 +94,7 @@ inline TerminalDevice _write_number_hex(const Long &x, TerminalDevice& term) { if (y < 0) y = -y; - const char NUMBERS[17] = "0123456789"; + const char NUMBERS[17] = "0123456789ABCDEF"; Char buf[2]; buf[0] = NUMBERS[h]; @@ -143,4 +143,3 @@ class DebuggerPortHeader final { #define kcout TerminalDevice::Shared() #define endl end_line() - diff --git a/Private/NewBoot/BootKit/BootKit.hxx b/Private/NewBoot/BootKit/BootKit.hxx index 26c6c755..a1eb9d76 100644 --- a/Private/NewBoot/BootKit/BootKit.hxx +++ b/Private/NewBoot/BootKit/BootKit.hxx @@ -247,9 +247,12 @@ public: private: /// @brief Write all of the requested catalogs into the filesystem. - Boolean WriteContent(BFileDescriptor* fileBlobs, SizeT blobCount, - SizeT sectorSz, NewPartitionBlock& partBlock) { - if (sectorSz != BootDev::kSectorSize) return false; + /// @param fileBlobs the blobs. + /// @param blobCount the number of blobs to write. + /// @param partBlock the NewFS partition block. + Boolean FormatCatalog(BFileDescriptor* fileBlobs, SizeT blobCount, + NewPartitionBlock& partBlock) { + if (partBlock.SectorSize != BootDev::kSectorSize) return false; BFileDescriptor* blob = fileBlobs; Lba startLba = partBlock.StartCatalog; @@ -390,7 +393,7 @@ inline Boolean BDiskFormatFactory<BootDev>::Format(const char* partName, partBlock->StartCatalog = kNewFSCatalogStartAddress; partBlock->DiskSize = fDiskDev.GetDiskSize(); - if (this->WriteContent(fileBlobs, blobCount, sectorSz, *partBlock)) { + if (this->FormatCatalog(fileBlobs, blobCount, *partBlock)) { fDiskDev.Leak().mBase = (kNewFSAddressAsLba); fDiskDev.Leak().mSize = sectorSz; |
