summaryrefslogtreecommitdiffhomepage
path: root/dev/Boot
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Boot')
-rw-r--r--dev/Boot/BootKit/BootKit.h23
-rw-r--r--dev/Boot/Mod/SysChk/Module.cc4
-rw-r--r--dev/Boot/amd64-desktop.make2
-rw-r--r--dev/Boot/src/BootThread.cc4
-rw-r--r--dev/Boot/src/HEL/AMD64/BootMain.cc2
5 files changed, 9 insertions, 26 deletions
diff --git a/dev/Boot/BootKit/BootKit.h b/dev/Boot/BootKit/BootKit.h
index 095fb0ac..09313830 100644
--- a/dev/Boot/BootKit/BootKit.h
+++ b/dev/Boot/BootKit/BootKit.h
@@ -279,8 +279,8 @@ namespace Boot
/// Fill catalog kind.
catalogKind.Kind = blob->fKind;
- catalogKind.Flags = kNeFSFlagCreated;
- catalogKind.Status = kNeFSStatusUnlocked;
+ catalogKind.Flags |= kNeFSFlagCreated;
+ catalogKind.CatalogFlags = kNeFSStatusUnlocked;
--partBlock.FreeCatalog;
--partBlock.FreeSectors;
@@ -372,22 +372,9 @@ namespace Boot
fDiskDev.Write((Char*)&epm_boot, sizeof(BOOT_BLOCK_STRUCT));
- /// if we can write a root catalog, then write the partition block.
- if (this->WriteRootCatalog(blob_list, blob_cnt, partBlock))
- {
- BTextWriter writer;
- writer.Write(L"BootZ: Drive has been formatted Successfully.\r");
-
- return true;
- }
- else
- {
- fb_init();
- FBDrawBitMapInRegion(zka_no_disk, ZKA_NO_DISK_WIDTH, ZKA_NO_DISK_HEIGHT, (kHandoverHeader->f_GOP.f_Width - ZKA_NO_DISK_WIDTH) / 2, (kHandoverHeader->f_GOP.f_Height - ZKA_NO_DISK_HEIGHT) / 2);
-
- EFI::ThrowError(L"Filesystem-Failure-Part", L"Filesystem couldn't be partitioned, this drive cannot be formatted as an explicit partition map.");
- }
+ BTextWriter writer;
+ writer.Write(L"BootZ: Drive has been formatted Successfully.\r");
- return false;
+ return YES;
}
} // namespace Boot
diff --git a/dev/Boot/Mod/SysChk/Module.cc b/dev/Boot/Mod/SysChk/Module.cc
index 2305a3e4..4073ec11 100644
--- a/dev/Boot/Mod/SysChk/Module.cc
+++ b/dev/Boot/Mod/SysChk/Module.cc
@@ -23,10 +23,6 @@
EXTERN_C Int32 ModuleMain(Kernel::HEL::BootInfoHeader* handover)
{
- if (!handover)
- return kEfiFail;
-
Boot::BDiskFormatFactory<BootDeviceATA> partition_factory;
-
return (!partition_factory.IsPartitionValid()) ? kEfiFail : kEfiOk;
}
diff --git a/dev/Boot/amd64-desktop.make b/dev/Boot/amd64-desktop.make
index 09ebf890..d56d5d78 100644
--- a/dev/Boot/amd64-desktop.make
+++ b/dev/Boot/amd64-desktop.make
@@ -32,7 +32,7 @@ IMG_3=epm-master-2.img
EMU_FLAGS=-net none -smp 1 -m 8G -M q35 \
-bios $(BIOS) -drive \
file=fat:rw:src/Root/,index=2,format=raw \
- -monitor stdio
+ -serial stdio
LD_FLAGS=-e Main --subsystem=10
diff --git a/dev/Boot/src/BootThread.cc b/dev/Boot/src/BootThread.cc
index 782483f9..e0cf11d7 100644
--- a/dev/Boot/src/BootThread.cc
+++ b/dev/Boot/src/BootThread.cc
@@ -22,7 +22,7 @@ EXTERN EfiBootServices* BS;
namespace Boot
{
- EXTERN_C Void rt_jump_to_address(VoidPtr code, HEL::BootInfoHeader* handover, UInt8* stack);
+ EXTERN_C Int32 rt_jump_to_address(VoidPtr code, HEL::BootInfoHeader* handover, UInt8* stack);
BootThread::BootThread(VoidPtr blob)
: fBlob(blob), fStartAddress(nullptr)
@@ -185,7 +185,7 @@ namespace Boot
if (own_stack)
{
- rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(8) - 1]);
+ return rt_jump_to_address(fStartAddress, fHandover, &fStack[mib_cast(8) - 1]);
}
else
{
diff --git a/dev/Boot/src/HEL/AMD64/BootMain.cc b/dev/Boot/src/HEL/AMD64/BootMain.cc
index 6aa5a0d9..6744438f 100644
--- a/dev/Boot/src/HEL/AMD64/BootMain.cc
+++ b/dev/Boot/src/HEL/AMD64/BootMain.cc
@@ -274,7 +274,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
if (reader_kernel.Blob())
{
kernel_thread = new Boot::BootThread(reader_kernel.Blob());
- kernel_thread->SetName("BootZ: ZkaOS Kernel.");
+ kernel_thread->SetName("BootZ: MicroKernel.");
handover_hdr->f_KernelImage = reader_kernel.Blob();
}