diff options
23 files changed, 122 insertions, 83 deletions
@@ -2,11 +2,16 @@ syntax: glob xcuserdata/ +public/tools/make_fs/dist/make_fs + *.hmap *.ipa *.dSYM.zip *.dSYM +# EPM Image +*.eimg + */xcuserdata/* *.xcworkspacedata diff --git a/dev/Kernel/ArchKit/ArchKit.h b/dev/Kernel/ArchKit/ArchKit.h index d663cdc7..dd284f5d 100644 --- a/dev/Kernel/ArchKit/ArchKit.h +++ b/dev/Kernel/ArchKit/ArchKit.h @@ -20,6 +20,8 @@ #include <HALKit/POWER/Processor.h> #elif defined(__NE_ARM64__) #include <HALKit/ARM64/Processor.h> +#elif defined(__NE_SDK__) +#include <HALKit/ARM64/Processor.h> #else #error !!! unknown architecture !!! #endif diff --git a/dev/Kernel/FSKit/NeFS.h b/dev/Kernel/FSKit/NeFS.h index 0c4483e0..bd11c86d 100644 --- a/dev/Kernel/FSKit/NeFS.h +++ b/dev/Kernel/FSKit/NeFS.h @@ -355,7 +355,7 @@ namespace NeOS return; } - kout << "Info: Journal stamp: " << stamp << endl; + kout << "Info: Journal stamp: " << stamp << kendl; rt_copy_memory((VoidPtr)stamp, this->mStamp, rt_string_len(stamp)); } @@ -427,7 +427,7 @@ namespace NeOS if (!parser->CreateFork(new_fork)) return NO; - kout << "XML Commited: " << xml_data << "\r\nTo Journal Fork: " << journal_name << endl; + kout << "XML Commited: " << xml_data << "\r\nTo Journal Fork: " << journal_name << kendl; auto ret = parser->WriteCatalog(new_fork.CatalogName, YES, xml_data, rt_string_len(xml_data), new_fork.ForkName); diff --git a/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc index c847f2b9..9987a0c5 100644 --- a/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc +++ b/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc @@ -235,7 +235,7 @@ namespace NeOS::HAL break; kAPICLocales[kSMPCount] = kMADTBlock->List[kSMPCount].LAPIC.ProcessorID; - kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << endl; + kout << "SMP: APIC ID: " << number(kAPICLocales[kSMPCount]) << kendl; // I'll just make the AP start from scratch here. @@ -258,7 +258,7 @@ namespace NeOS::HAL ++index; } - kout << "SMP: number of APs: " << number(kSMPCount) << endl; + kout << "SMP: number of APs: " << number(kSMPCount) << kendl; // Kernel is now SMP aware. // That means that the scheduler is now available (on MP Kernels) diff --git a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc index 3d9c8938..35568399 100644 --- a/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc +++ b/dev/Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc @@ -147,7 +147,7 @@ EXTERN_C NeOS::Void idt_handle_breakpoint(NeOS::UIntPtr rip) kIsScheduling = NO; - kout << "Kernel: Process RIP: " << NeOS::hex_number(rip) << endl; + kout << "Kernel: Process RIP: " << NeOS::hex_number(rip) << kendl; kout << "Kernel: SIGTRAP\r"; process.Leak().ProcessSignal.SignalArg = rip; diff --git a/dev/Kernel/HALKit/AMD64/HalKernelPanic.cc b/dev/Kernel/HALKit/AMD64/HalKernelPanic.cc index df060648..663a8f8e 100644 --- a/dev/Kernel/HALKit/AMD64/HalKernelPanic.cc +++ b/dev/Kernel/HALKit/AMD64/HalKernelPanic.cc @@ -40,9 +40,9 @@ namespace NeOS auto y = 10; auto x = 10; - kout << "Kernel_Panic_MSG: " << message << endl; - kout << "Kernel_Panic_ID: " << hex_number(id) << endl; - kout << "Kernel_Panic_CR2: " << hex_number((UIntPtr)hal_read_cr2()) << endl; + kout << "Kernel_Panic_MSG: " << message << kendl; + kout << "Kernel_Panic_ID: " << hex_number(id) << kendl; + kout << "Kernel_Panic_CR2: " << hex_number((UIntPtr)hal_read_cr2()) << kendl; RecoveryFactory::Recover(); } @@ -59,8 +59,8 @@ namespace NeOS { if (!expr) { - kout << "Kernel_Panic_File: " << file << endl; - kout << "Kernel_Panic_Line: " << line << endl; + kout << "Kernel_Panic_File: " << file << kendl; + kout << "Kernel_Panic_Line: " << line << kendl; ke_panic(RUNTIME_CHECK_FAILED, file); // Runtime Check failed } diff --git a/dev/Kernel/HALKit/AMD64/HalPagingMgrAMD64.cc b/dev/Kernel/HALKit/AMD64/HalPagingMgrAMD64.cc index b5fa2b1d..854b9057 100644 --- a/dev/Kernel/HALKit/AMD64/HalPagingMgrAMD64.cc +++ b/dev/Kernel/HALKit/AMD64/HalPagingMgrAMD64.cc @@ -100,10 +100,10 @@ namespace NeOS::HAL /***********************************************************************************/ STATIC Void mmi_page_status(PTE* pte) { - kout << (pte->Present ? "Present" : "Not Present") << endl; - kout << (pte->Wr ? "W/R" : "Not W/R") << endl; - kout << (pte->ExecDisable ? "NX" : "Not NX") << endl; - kout << (pte->User ? "User" : "Not User") << endl; + kout << (pte->Present ? "Present" : "Not Present") << kendl; + kout << (pte->Wr ? "W/R" : "Not W/R") << kendl; + kout << (pte->ExecDisable ? "NX" : "Not NX") << kendl; + kout << (pte->User ? "User" : "Not User") << kendl; } STATIC Int32 mmi_map_page_table_entry(UInt32 physical_address, UInt32 flags, NE_PTE* pt_entry, NE_PDE* pd_entry); diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc index a8e60e58..22d52486 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc @@ -80,8 +80,8 @@ STATIC Void drv_compute_disk_ahci() noexcept kHighestLBA = (identify_data[61] << 16) | identify_data[60]; - kout << "Disk Size: " << number(drv_get_size()) << endl; - kout << "Highest LBA: " << number(kHighestLBA) << endl; + kout << "Disk Size: " << number(drv_get_size()) << kendl; + kout << "Highest LBA: " << number(kHighestLBA) << kendl; } STATIC Int32 drv_find_cmd_slot(HbaPort* port) noexcept @@ -220,7 +220,7 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi) if (mem_ahci->Ports[ahci_index].Sig == kSATASignature && det == kSATAPresent && ipm == kSATAIPMActive) { - kout << (atapi ? "Detect: /dev/atp" : "Detect: /dev/sat") << number(ahci_index) << endl; + kout << (atapi ? "Detect: /dev/atp" : "Detect: /dev/sat") << number(ahci_index) << kendl; kSATAIndex = ahci_index; kSATA[ahci_index] = mem_ahci; diff --git a/dev/Kernel/HALKit/AMD64/Storage/DMA.cc b/dev/Kernel/HALKit/AMD64/Storage/DMA.cc index cece11b1..661a932b 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/DMA.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/DMA.cc @@ -117,7 +117,7 @@ Boolean drv_std_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster) kCurrentDiskModel[40] = '\0'; - kout << "Drive Model: " << kCurrentDiskModel << endl; + kout << "Drive Model: " << kCurrentDiskModel << kendl; OutBus = (Bus == ATA_PRIMARY_IO) ? ATA_PRIMARY_IO : ATA_SECONDARY_IO; OutMaster = (Bus == ATA_PRIMARY_IO) ? ATA_MASTER : ATA_SLAVE; diff --git a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc index 8a8042cf..0951dc99 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc @@ -107,7 +107,7 @@ ATAInit_Retry: kCurrentDiskModel[40] = '\0'; - kout << "Drive Model: " << kCurrentDiskModel << endl; + kout << "Drive Model: " << kCurrentDiskModel << kendl; return true; } diff --git a/dev/Kernel/HALKit/ARM64/HalApplicationProcessor.cc b/dev/Kernel/HALKit/ARM64/HalApplicationProcessor.cc index 12fb27ae..5ef13a3b 100644 --- a/dev/Kernel/HALKit/ARM64/HalApplicationProcessor.cc +++ b/dev/Kernel/HALKit/ARM64/HalApplicationProcessor.cc @@ -78,7 +78,7 @@ namespace NeOS // Enable interrupt 32 for AP.
HAL::hal_mmio_write(GICD_BASE + GICD_ISENABLER + (32 / 32) * 4, 0x01 << (32 % 32));
- kout << "AP's GIC configured in ISR 32." << endl;
+ kout << "AP's GIC configured in ISR 32." << kendl;
}
BOOL mp_handle_gic_interrupt_el0(Void)
@@ -89,7 +89,7 @@ namespace NeOS // Check if it's a valid interrupt (not spurious)
if ((interrupt_id & 0x3FF) < 1020)
{
- kout << "Handling interrupt for AP: " << (interrupt_id & 0x3FF) << endl;
+ kout << "Handling interrupt for AP: " << (interrupt_id & 0x3FF) << kendl;
// TODO: Handle code here.
diff --git a/dev/Kernel/HALKit/ARM64/HalKernelPanic.cc b/dev/Kernel/HALKit/ARM64/HalKernelPanic.cc index cdf6e1b1..533ae982 100644 --- a/dev/Kernel/HALKit/ARM64/HalKernelPanic.cc +++ b/dev/Kernel/HALKit/ARM64/HalKernelPanic.cc @@ -71,8 +71,8 @@ namespace NeOS { if (!expr) { - kout << "FAILED: FILE: " << file << endl; - kout << "FAILED: LINE: " << line << endl; + kout << "FAILED: FILE: " << file << kendl; + kout << "FAILED: LINE: " << line << kendl; ke_panic(RUNTIME_CHECK_FAILED, file); // Runtime Check failed } diff --git a/dev/Kernel/HALKit/ARM64/Storage/MFlash+IO.cc b/dev/Kernel/HALKit/ARM64/Storage/MFlash+IO.cc index e65b016c..1335a9e4 100644 --- a/dev/Kernel/HALKit/ARM64/Storage/MFlash+IO.cc +++ b/dev/Kernel/HALKit/ARM64/Storage/MFlash+IO.cc @@ -64,7 +64,7 @@ namespace NeOS kFlashMetaPackets[slot]->InterruptEnable = YES; - kout << "Enabled hardware slot at: " << number(slot) << endl; + kout << "Enabled hardware slot at: " << number(slot) << kendl; return YES; } @@ -77,7 +77,7 @@ namespace NeOS kFlashMetaPackets[slot]->InterruptEnable = NO; - kout << "Disabled hardware slot at: " << number(slot) << endl; + kout << "Disabled hardware slot at: " << number(slot) << kendl; return YES; } diff --git a/dev/Kernel/KernelKit/DebugOutput.h b/dev/Kernel/KernelKit/DebugOutput.h index 1ac05665..1d8b84cd 100644 --- a/dev/Kernel/KernelKit/DebugOutput.h +++ b/dev/Kernel/KernelKit/DebugOutput.h @@ -210,4 +210,4 @@ namespace NeOS #define kout NeOS::TerminalDevice::The() << "[NeKernel] *" << __FILE__ << "*: " -#define endl NeOS::TerminalDevice::The() << NeOS::end_line() +#define kendl NeOS::TerminalDevice::The() << NeOS::end_line() diff --git a/dev/Kernel/src/ACPIFactoryInterface.cc b/dev/Kernel/src/ACPIFactoryInterface.cc index 0faaa46e..56f450ef 100644 --- a/dev/Kernel/src/ACPIFactoryInterface.cc +++ b/dev/Kernel/src/ACPIFactoryInterface.cc @@ -43,10 +43,10 @@ namespace NeOS this->fEntries = num; - kout << "ACPI: Number of entries: " << number(this->fEntries) << endl; - kout << "ACPI: Revision: " << number(xsdt->Revision) << endl; - kout << "ACPI: Signature: " << xsdt->Signature << endl; - kout << "ACPI: Address of XSDT: " << hex_number((UIntPtr)xsdt) << endl; + kout << "ACPI: Number of entries: " << number(this->fEntries) << kendl; + kout << "ACPI: Revision: " << number(xsdt->Revision) << kendl; + kout << "ACPI: Signature: " << xsdt->Signature << kendl; + kout << "ACPI: Address of XSDT: " << hex_number((UIntPtr)xsdt) << kendl; const short cAcpiSignatureLength = 4; @@ -54,8 +54,8 @@ namespace NeOS { SDT* sdt = reinterpret_cast<SDT*>(xsdt->AddressArr[index]); - kout << "ACPI: Checksum: " << number(sdt->Checksum) << endl; - kout << "ACPI: Revision: " << number(sdt->Revision) << endl; + kout << "ACPI: Checksum: " << number(sdt->Checksum) << kendl; + kout << "ACPI: Revision: " << number(sdt->Revision) << kendl; for (short signature_index = 0; signature_index < cAcpiSignatureLength; ++signature_index) { @@ -64,8 +64,8 @@ namespace NeOS if (signature_index == (cAcpiSignatureLength - 1)) { - kout << "ACPI: SDT Signature: " << sdt->Signature << endl; - kout << "ACPI: SDT OEM ID: " << sdt->OemId << endl; + kout << "ACPI: SDT Signature: " << sdt->Signature << kendl; + kout << "ACPI: SDT OEM ID: " << sdt->OemId << kendl; return ErrorOr<voidPtr>(reinterpret_cast<voidPtr>(xsdt->AddressArr[index])); } } diff --git a/dev/Kernel/src/BitMapMgr.cc b/dev/Kernel/src/BitMapMgr.cc index 5a7f4561..18b1a156 100644 --- a/dev/Kernel/src/BitMapMgr.cc +++ b/dev/Kernel/src/BitMapMgr.cc @@ -141,18 +141,18 @@ namespace NeOS { if (!this->IsBitMap(ptr_bit_set)) { - kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << endl; + kout << "Not a BitMap: " << hex_number((UIntPtr)ptr_bit_set) << kendl; return; } - kout << "Magic Number: " << hex_number(ptr_bit_set[kBitMapMagIdx]) << endl; - kout << "Is Allocated: " << (ptr_bit_set[kBitMapUsedIdx] ? "Yes" : "No") << endl; - kout << "Size of BitMap (B): " << number(ptr_bit_set[kBitMapSizeIdx]) << endl; - kout << "Size of BitMap (KIB): " << number(KIB(ptr_bit_set[kBitMapSizeIdx])) << endl; - kout << "Size of BitMap (MIB): " << number(MIB(ptr_bit_set[kBitMapSizeIdx])) << endl; - kout << "Size of BitMap (GIB): " << number(GIB(ptr_bit_set[kBitMapSizeIdx])) << endl; - kout << "Size of BitMap (TIB): " << number(TIB(ptr_bit_set[kBitMapSizeIdx])) << endl; - kout << "Address Of BitMap Header: " << hex_number((UIntPtr)ptr_bit_set) << endl; + kout << "Magic Number: " << hex_number(ptr_bit_set[kBitMapMagIdx]) << kendl; + kout << "Is Allocated: " << (ptr_bit_set[kBitMapUsedIdx] ? "Yes" : "No") << kendl; + kout << "Size of BitMap (B): " << number(ptr_bit_set[kBitMapSizeIdx]) << kendl; + kout << "Size of BitMap (KIB): " << number(KIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; + kout << "Size of BitMap (MIB): " << number(MIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; + kout << "Size of BitMap (GIB): " << number(GIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; + kout << "Size of BitMap (TIB): " << number(TIB(ptr_bit_set[kBitMapSizeIdx])) << kendl; + kout << "Address Of BitMap Header: " << hex_number((UIntPtr)ptr_bit_set) << kendl; } }; } // namespace Detail diff --git a/dev/Kernel/src/DriveMgr.cc b/dev/Kernel/src/DriveMgr.cc index 5c5f853a..77dee353 100644 --- a/dev/Kernel/src/DriveMgr.cc +++ b/dev/Kernel/src/DriveMgr.cc @@ -202,7 +202,7 @@ namespace NeOS } else { - kout << "Scheme Found: " << block_struct.Name << endl; + kout << "Scheme Found: " << block_struct.Name << kendl; } } diff --git a/dev/Kernel/src/FS/NeFS.cc b/dev/Kernel/src/FS/NeFS.cc index 6a1191cc..f5fdf63f 100644 --- a/dev/Kernel/src/FS/NeFS.cc +++ b/dev/Kernel/src/FS/NeFS.cc @@ -74,7 +74,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) Lba lba = catalog->DataFork; - kout << "Fork LBA: " << hex_number(lba) << endl; + kout << "Fork LBA: " << hex_number(lba) << kendl; if (lba < kNeFSCatalogStartAddress) return NO; @@ -95,7 +95,7 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) drv.fInput(drv.fPacket); - kout << "Next fork: " << hex_number(cur_fork.NextSibling) << endl; + kout << "Next fork: " << hex_number(cur_fork.NextSibling) << kendl; if (cur_fork.Flags & kNeFSFlagCreated) { @@ -148,9 +148,9 @@ _Output BOOL NeFileSystemParser::CreateFork(_Input NEFS_FORK_STRUCT& the_fork) /// log what we have now. kout << "Fork offset is at: " << hex_number(the_fork.DataOffset) - << endl; + << kendl; - kout << "Wrote fork metadata at: " << hex_number(lba) << endl; + kout << "Wrote fork metadata at: " << hex_number(lba) << kendl; return YES; } @@ -428,9 +428,9 @@ _Output NEFS_CATALOG_STRUCT* NeFileSystemParser::CreateCatalog(_Input const Char drive.fOutput(drive.fPacket); kout << "Create new catalog with flags: " - << hex_number(child_catalog->Flags) << endl; + << hex_number(child_catalog->Flags) << kendl; kout << "Create new catalog with name: " << child_catalog->Name - << endl; + << kendl; delete catalog; catalog = nullptr; @@ -597,14 +597,14 @@ bool NeFileSystemParser::Format(_Input _Output DriveTrait* drive, _Input const L drive->fOutput(drive->fPacket); - kout << "drive kind: " << drive->fDriveKind() << endl; + kout << "drive kind: " << drive->fDriveKind() << kendl; - kout << "partition name: " << part_block->PartitionName << endl; - kout << "start: " << hex_number(part_block->StartCatalog) << endl; - kout << "number of catalogs: " << hex_number(part_block->CatalogCount) << endl; - kout << "free catalog: " << hex_number(part_block->FreeCatalog) << endl; - kout << "free sectors: " << hex_number(part_block->FreeSectors) << endl; - kout << "sector size: " << hex_number(part_block->SectorSize) << endl; + kout << "partition name: " << part_block->PartitionName << kendl; + kout << "start: " << hex_number(part_block->StartCatalog) << kendl; + kout << "number of catalogs: " << hex_number(part_block->CatalogCount) << kendl; + kout << "free catalog: " << hex_number(part_block->FreeCatalog) << kendl; + kout << "free sectors: " << hex_number(part_block->FreeSectors) << kendl; + kout << "sector size: " << hex_number(part_block->SectorSize) << kendl; // write the root catalog. this->CreateCatalog(kNeFSRoot, 0, kNeFSCatalogKindDir); @@ -663,7 +663,7 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r NEFS_FORK_STRUCT* fork_data_input = new NEFS_FORK_STRUCT(); NEFS_FORK_STRUCT prev_fork{}; - kout << hex_number(startFork) << endl; + kout << hex_number(startFork) << kendl; // sanity check of the fork position as the condition to run the loop. while (startFork >= kNeFSCatalogStartAddress) @@ -674,13 +674,13 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r drive.fInput(drive.fPacket); - kout << hex_number(fork_data_input->DataSize) << endl; - kout << hex_number(size_of_data) << endl; - kout << hex_number(fork_data_input->Flags) << endl; - kout << fork_name << endl; - kout << fork_data_input->ForkName << endl; - kout << fork_data_input->CatalogName << endl; - kout << catalog_name << endl; + kout << hex_number(fork_data_input->DataSize) << kendl; + kout << hex_number(size_of_data) << kendl; + kout << hex_number(fork_data_input->Flags) << kendl; + kout << fork_name << kendl; + kout << fork_data_input->ForkName << kendl; + kout << fork_data_input->CatalogName << kendl; + kout << catalog_name << kendl; if ((fork_data_input->Flags & kNeFSFlagCreated) && StringBuilder::Equals(fork_data_input->ForkName, fork_name) && @@ -695,11 +695,11 @@ bool NeFileSystemParser::WriteCatalog(_Input const Char* catalog_name, Bool is_r drive.fPacket.fPacketSize = size_of_data; drive.fPacket.fPacketLba = fork_data_input->DataOffset; - kout << "data offset: " << hex_number(fork_data_input->DataOffset) << endl; + kout << "data offset: " << hex_number(fork_data_input->DataOffset) << kendl; drive.fOutput(drive.fPacket); - kout << "wrote data at offset: " << hex_number(fork_data_input->DataOffset) << endl; + kout << "wrote data at offset: " << hex_number(fork_data_input->DataOffset) << kendl; delete fork_data_input; delete[] buf; @@ -839,8 +839,8 @@ kNeFSSearchThroughCatalogList: goto NeFSContinueSearch; } - kout << "Found available catalog at: " << hex_number(start_catalog_lba) << endl; - kout << "Found available catalog at: " << temporary_catalog.Name << endl; + kout << "Found available catalog at: " << hex_number(start_catalog_lba) << kendl; + kout << "Found available catalog at: " << temporary_catalog.Name << kendl; NEFS_CATALOG_STRUCT* catalog_ptr = new NEFS_CATALOG_STRUCT(); rt_copy_memory(&temporary_catalog, catalog_ptr, sizeof(NEFS_CATALOG_STRUCT)); @@ -978,7 +978,7 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata Size dataForkSize = (!is_rsrc_fork) ? catalog->DataForkSize : catalog->ResourceForkSize; kout << "catalog " << catalog->Name - << ", fork: " << hex_number(dataForkLba) << endl; + << ", fork: " << hex_number(dataForkLba) << kendl; NEFS_FORK_STRUCT* fs_buf = new NEFS_FORK_STRUCT(); auto& drive = kMountpoint.A(); @@ -998,8 +998,8 @@ VoidPtr NeFileSystemParser::ReadCatalog(_Input _Output NEFS_CATALOG_STRUCT* cata fs_fork_data = fs_buf; - kout << "ForkName: " << fs_fork_data->ForkName << endl; - kout << "CatalogName: " << fs_fork_data->CatalogName << endl; + kout << "ForkName: " << fs_fork_data->ForkName << kendl; + kout << "CatalogName: " << fs_fork_data->CatalogName << kendl; if (StringBuilder::Equals(forkName, fs_fork_data->ForkName) && StringBuilder::Equals(catalog->Name, fs_fork_data->CatalogName)) diff --git a/dev/Kernel/src/IndexableProperty.cc b/dev/Kernel/src/IndexableProperty.cc index 166570e5..404cddc3 100644 --- a/dev/Kernel/src/IndexableProperty.cc +++ b/dev/Kernel/src/IndexableProperty.cc @@ -50,7 +50,7 @@ namespace NeOS indexer.AddFlag(kIndexerClaimed); rt_copy_memory((VoidPtr)indexer.Leak().Path, (VoidPtr)filename, filenameLen); - kout << "FSKit: Indexed new file: " << filename << endl; + kout << "FSKit: Indexed new file: " << filename << kendl; } } } // namespace Indexer diff --git a/dev/Kernel/src/MemoryMgr.cc b/dev/Kernel/src/MemoryMgr.cc index 26fadb83..0035d65f 100644 --- a/dev/Kernel/src/MemoryMgr.cc +++ b/dev/Kernel/src/MemoryMgr.cc @@ -144,7 +144,7 @@ namespace NeOS auto result = reinterpret_cast<VoidPtr>(heap_info_ptr->fOffset); - kout << "Registered heap address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << endl; + kout << "Registered heap address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl; return result; } @@ -166,7 +166,7 @@ namespace NeOS heap_info_ptr->fPage = true; - kout << "Registered page address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << endl; + kout << "Registered page address: " << hex_number(reinterpret_cast<UIntPtr>(heap_info_ptr)) << kendl; return kErrorSuccess; } @@ -238,7 +238,7 @@ namespace NeOS PageMgr heap_mgr; heap_mgr.Free(pte_address); - kout << "Address has been successfully freed." << endl; + kout << "Address has been successfully freed." << kendl; return kErrorSuccess; } diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index b76e8799..a8315496 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -57,7 +57,7 @@ namespace NeOS if (this->Status != ProcessStatusKind::kRunning) return; - kout << this->Name << ": crashed, error id: " << number(kErrorProcessFault) << endl; + kout << this->Name << ": crashed, error id: " << number(kErrorProcessFault) << kendl; this->Exit(kErrorProcessFault); } @@ -338,7 +338,7 @@ namespace NeOS MUST_PASS(process.DylibDelegate); } default: { - kout << "Unknown process kind: " << hex_number(process.Kind) << endl; + kout << "Unknown process kind: " << hex_number(process.Kind) << kendl; break; } } @@ -365,8 +365,8 @@ namespace NeOS process.Status = ProcessStatusKind::kStarting; process.PTime = (UIntPtr)AffinityKind::kStandard; - kout << "PID: " << number(process.ProcessId) << endl; - kout << "Name: " << process.Name << endl; + kout << "PID: " << number(process.ProcessId) << kendl; + kout << "Name: " << process.Name << kendl; return pid; } @@ -437,7 +437,7 @@ namespace NeOS return 0UL; } - kout << "UserProcessScheduler::Run(): This team has a process capacity of: " << hex_number(mTeam.mProcessList.Capacity()) << endl; + kout << "UserProcessScheduler::Run(): This team has a process capacity of: " << hex_number(mTeam.mProcessList.Capacity()) << kendl; for (; process_index < mTeam.AsArray().Capacity(); ++process_index) { diff --git a/public/tools/make_fs/make_fs.cc b/public/tools/make_fs/make_fs.cc index e114113b..f75527b1 100644 --- a/public/tools/make_fs/make_fs.cc +++ b/public/tools/make_fs/make_fs.cc @@ -7,10 +7,41 @@ ------------------------------------------- */ +#include <iostream> +#include <fstream> +#include <FirmwareKit/EPM.h> #include <FSKit/NeFS.h> +#include <uuid/uuid.h> +static const char* kDiskName = "Disk"; +static const int kDiskSectorSz = 512; +static const int kDiskBlockCnt = 1; + +/// @brief Filesystem tool entrypoint. int main(int argc, char** argv) { + std::cout << "make_fs: EPM image creator.\n"; + struct EPM_PART_BLOCK block{0}; + + block.NumBlocks = kDiskBlockCnt; + block.SectorSz = kDiskSectorSz; + block.Version = kEPMRevisionBcd; + block.LbaStart = sizeof(struct EPM_PART_BLOCK); + block.LbaEnd = 0; + block.FsVersion = kNeFSVersionInteger; + + ::memcpy(block.Name, kDiskName, strlen(kDiskName)); + ::memcpy(block.Magic, kEPMMagic86, strlen(kEPMMagic86)); + + uuid_generate_random((NeOS::UInt8*)&block.Guid); + + std::ofstream output_epm("disk.eimg"); + output_epm.write((NeOS::Char*)&block, sizeof(struct EPM_PART_BLOCK)); + + output_epm.close(); + + std::cout << "make_fs: EPM image has been written to disk.eimg.\n"; + return 0; }
\ No newline at end of file diff --git a/public/tools/make_fs/make_fs.json b/public/tools/make_fs/make_fs.json index 8134bab3..13c66dbb 100644 --- a/public/tools/make_fs/make_fs.json +++ b/public/tools/make_fs/make_fs.json @@ -1,12 +1,13 @@ { "compiler_path": "g++", "compiler_std": "c++20", - "headers_path": ["./"], + "headers_path": ["./", "../../../dev/Kernel", "../../../dev/"], "sources_path": ["make_fs.cc"], "output_name": "./dist/make_fs", "cpp_macros": [ "kMKFSVersion=0x0100", "kMKFSVersionHighest=0x0100", - "kMKFSVersionLowest=0x0100" + "kMKFSVersionLowest=0x0100", + "__NE_SDK__" ] } |
