summaryrefslogtreecommitdiffhomepage
path: root/dev/boot/modules/SysChk
diff options
context:
space:
mode:
Diffstat (limited to 'dev/boot/modules/SysChk')
-rw-r--r--dev/boot/modules/SysChk/SysChk.cc40
-rw-r--r--dev/boot/modules/SysChk/amd64-ahci-epm.json21
-rw-r--r--dev/boot/modules/SysChk/amd64-ahci-gpt.json21
-rw-r--r--dev/boot/modules/SysChk/amd64-pio-epm.json21
-rw-r--r--dev/boot/modules/SysChk/amd64-pio-gpt.json22
5 files changed, 86 insertions, 39 deletions
diff --git a/dev/boot/modules/SysChk/SysChk.cc b/dev/boot/modules/SysChk/SysChk.cc
index 3979714d..c93ef83b 100644
--- a/dev/boot/modules/SysChk/SysChk.cc
+++ b/dev/boot/modules/SysChk/SysChk.cc
@@ -8,8 +8,8 @@
*/
#include <BootKit/BootKit.h>
-#include <modules/CoreGfx/CoreGfx.h>
-#include <modules/CoreGfx/TextGfx.h>
+#include <BootKit/BootThread.h>
+#include <BootKit/HW/SATA.h>
#include <FirmwareKit/EFI.h>
#include <FirmwareKit/EFI/API.h>
#include <FirmwareKit/Handover.h>
@@ -18,37 +18,23 @@
#include <KernelKit/PEF.h>
#include <NewKit/Macros.h>
#include <NewKit/Ref.h>
-#include <BootKit/BootThread.h>
#include <modules/CoreGfx/CoreGfx.h>
+#include <modules/CoreGfx/TextGfx.h>
// Makes the compiler shut up.
#ifndef kMachineModel
-#define kMachineModel "Ne"
-#endif // !kMachineModel
+#define kMachineModel "OS"
+#endif // !kMachineModel
-EXTERN_C Int32 SysChkModuleMain(Kernel::HEL::BootInfoHeader* handover)
-{
- NE_UNUSED(handover);
+EXTERN_C Int32 SysChkModuleMain(Kernel::HEL::BootInfoHeader* handover) {
+ fw_init_efi((EfiSystemTable*) handover->f_FirmwareCustomTables[1]);
#if defined(__ATA_PIO__)
- Boot::BDiskFormatFactory<BootDeviceATA> partition_factory;
-
- if (partition_factory.IsPartitionValid())
- return kEfiOk;
-
- Boot::BDiskFormatFactory<BootDeviceATA>::BFileDescriptor desc{};
-
- desc.fFileName[0] = '/';
- desc.fFileName[1] = 0;
- desc.fKind = kNeFSCatalogKindDir;
-
- partition_factory.Format(kMachineModel, &desc, 1);
-
- if (partition_factory.IsPartitionValid())
- return kEfiOk;
-
- return kEfiFail;
-#else
- return kEfiOk;
+ Boot::BDiskFormatFactory<BootDeviceATA> partition_factory;
+#elif defined(__AHCI__)
+ Boot::BDiskFormatFactory<BootDeviceSATA> partition_factory;
#endif
+ if (partition_factory.IsPartitionValid()) return kEfiOk;
+
+ return partition_factory.Format(kMachineModel);
}
diff --git a/dev/boot/modules/SysChk/amd64-ahci-epm.json b/dev/boot/modules/SysChk/amd64-ahci-epm.json
index 5cff74de..3c56cfe8 100644
--- a/dev/boot/modules/SysChk/amd64-ahci-epm.json
+++ b/dev/boot/modules/SysChk/amd64-ahci-epm.json
@@ -2,7 +2,22 @@
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
- "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
+ "sources_path": [
+ "*.cc",
+ "*.S",
+ "../../src/HEL/AMD64/BootSATA.cc",
+ "../../src/HEL/AMD64/BootPlatform.cc",
+ "../../src/HEL/AMD64/BootAPI.S",
+ "../../src/BootTextWriter.cc",
+ "../../src/BootSupport.cc",
+ "../../src/New+Delete.cc",
+ "../../../kernel/HALKit/AMD64/PCI/*.cc",
+ "../../../kernel/HALKit/AMD64/Storage/*.cc",
+ "../../../kernel/src/Storage/*.cc",
+ "../../../kernel/HALKit/AMD64/*.cc",
+ "../../../kernel/HALKit/AMD64/*.s",
+ "../../../kernel/src/*.cc"
+ ],
"output_name": "chk.efi",
"compiler_flags": [
"-nostdlib",
@@ -13,11 +28,11 @@
],
"cpp_macros": [
"__NEOSKRNL__",
- "__BOOTZ__",
- "__BOOTZ_STANDALONE__",
"__NE_AMD64__",
"__AHCI__",
+ "__SYSCHK__",
"BOOTZ_EPM_SUPPORT",
+ "__NE_MODULAR_KERNEL_COMPONENTS__",
"kChkVersionHighest=0x0100",
"kChkVersionLowest=0x0100",
"kChkVersion=0x0100"
diff --git a/dev/boot/modules/SysChk/amd64-ahci-gpt.json b/dev/boot/modules/SysChk/amd64-ahci-gpt.json
index 52864969..80bb433e 100644
--- a/dev/boot/modules/SysChk/amd64-ahci-gpt.json
+++ b/dev/boot/modules/SysChk/amd64-ahci-gpt.json
@@ -2,7 +2,22 @@
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
"headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
- "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
+ "sources_path": [
+ "*.cc",
+ "*.S",
+ "../../src/HEL/AMD64/BootSATA.cc",
+ "../../src/HEL/AMD64/BootPlatform.cc",
+ "../../src/HEL/AMD64/BootAPI.S",
+ "../../src/BootTextWriter.cc",
+ "../../src/BootSupport.cc",
+ "../../src/New+Delete.cc",
+ "../../../kernel/HALKit/AMD64/PCI/*.cc",
+ "../../../kernel/HALKit/AMD64/Storage/*.cc",
+ "../../../kernel/src/Storage/*.cc",
+ "../../../kernel/HALKit/AMD64/*.cc",
+ "../../../kernel/HALKit/AMD64/*.s",
+ "../../../kernel/src/*.cc"
+ ],
"output_name": "chk.efi",
"compiler_flags": [
"-nostdlib",
@@ -13,11 +28,11 @@
],
"cpp_macros": [
"__NEOSKRNL__",
- "__BOOTZ__",
- "__BOOTZ_STANDALONE__",
"__NE_AMD64__",
"__AHCI__",
+ "__SYSCHK__",
"BOOTZ_GPT_SUPPORT",
+ "__NE_MODULAR_KERNEL_COMPONENTS__",
"kChkVersionHighest=0x0100",
"kChkVersionLowest=0x0100",
"kChkVersion=0x0100"
diff --git a/dev/boot/modules/SysChk/amd64-pio-epm.json b/dev/boot/modules/SysChk/amd64-pio-epm.json
index 3848a611..14a804d0 100644
--- a/dev/boot/modules/SysChk/amd64-pio-epm.json
+++ b/dev/boot/modules/SysChk/amd64-pio-epm.json
@@ -1,8 +1,23 @@
{
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
- "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
- "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
+ "headers_path": [
+ "../",
+ "../../",
+ "../../../kernel",
+ "../../../",
+ "./"
+ ],
+ "sources_path": [
+ "*.cc",
+ "*.S",
+ "../../src/HEL/AMD64/BootATA.cc",
+ "../../src/HEL/AMD64/BootPlatform.cc",
+ "../../src/HEL/AMD64/BootAPI.S",
+ "../../src/BootTextWriter.cc",
+ "../../src/BootSupport.cc",
+ "../../src/New+Delete.cc"
+ ],
"output_name": "chk.efi",
"compiler_flags": [
"-nostdlib",
@@ -22,4 +37,4 @@
"kChkVersionLowest=0x0100",
"kChkVersion=0x0100"
]
-}
+} \ No newline at end of file
diff --git a/dev/boot/modules/SysChk/amd64-pio-gpt.json b/dev/boot/modules/SysChk/amd64-pio-gpt.json
index 2a4c4efe..b1a4d38b 100644
--- a/dev/boot/modules/SysChk/amd64-pio-gpt.json
+++ b/dev/boot/modules/SysChk/amd64-pio-gpt.json
@@ -1,8 +1,23 @@
{
"compiler_path": "x86_64-w64-mingw32-g++",
"compiler_std": "c++20",
- "headers_path": ["../", "../../", "../../../kernel", "../../../", "./"],
- "sources_path": ["*.cc", "*.S", "../../src/HEL/AMD64/*.cc", "../../src/HEL/AMD64/*.S", "../../src/*.cc"],
+ "headers_path": [
+ "../",
+ "../../",
+ "../../../kernel",
+ "../../../",
+ "./"
+ ],
+ "sources_path": [
+ "*.cc",
+ "*.S",
+ "../../src/HEL/AMD64/BootATA.cc",
+ "../../src/HEL/AMD64/BootPlatform.cc",
+ "../../src/HEL/AMD64/BootAPI.S",
+ "../../src/BootTextWriter.cc",
+ "../../src/BootSupport.cc",
+ "../../src/New+Delete.cc"
+ ],
"output_name": "chk.efi",
"compiler_flags": [
"-nostdlib",
@@ -17,9 +32,10 @@
"__BOOTZ_STANDALONE__",
"__NE_AMD64__",
"__ATA_PIO__",
+ "__NE_VEPM__",
"BOOTZ_GPT_SUPPORT",
"kChkVersionHighest=0x0100",
"kChkVersionLowest=0x0100",
"kChkVersion=0x0100"
]
-}
+} \ No newline at end of file