summaryrefslogtreecommitdiffhomepage
path: root/Private
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-27 08:43:21 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-27 08:43:21 +0200
commitd7519f338b544624145997576d2800f9670aa699 (patch)
treec0e4045729a2017aea1eeb04a27eb8e115a12223 /Private
parentd10241467cc3f77988927a48a4384f63297465dd (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.cxx2
-rw-r--r--Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp2
-rw-r--r--Private/KernelKit/DebugOutput.hpp11
-rw-r--r--Private/NewBoot/BootKit/BootKit.hxx11
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;