summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/HALKit/AMD64')
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc17
-rw-r--r--dev/kernel/HALKit/AMD64/Processor.h14
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc3
-rw-r--r--dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc3
4 files changed, 17 insertions, 20 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index b716279d..7f3d4137 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -4,7 +4,6 @@
------------------------------------------- */
-#include "modules/CoreGfx/CoreGfx.h"
#include <StorageKit/AHCI.h>
#include <ArchKit/ArchKit.h>
#include <KernelKit/ProcessScheduler.h>
@@ -15,16 +14,15 @@
#include <CFKit/Property.h>
#include <modules/CoreGfx/TextGfx.h>
#include <KernelKit/Timer.h>
-
+#include <modules/CoreGfx/CoreWindow.h>
#include <FirmwareKit/EFI/API.h>
#include <FirmwareKit/EFI/EFI.h>
-
EXTERN_C Kernel::VoidPtr kInterruptVectorTable[];
EXTERN_C Kernel::VoidPtr mp_user_switch_proc;
EXTERN_C Kernel::Char mp_user_switch_proc_stack_begin[];
-STATIC Kernel::Void hal_init_scheduler_team()
+STATIC Kernel::Void hal_pre_init_scheduler()
{
for (Kernel::SizeT i = 0U; i < Kernel::UserProcessScheduler::The().CurrentTeam().AsArray().Count(); ++i)
{
@@ -47,13 +45,9 @@ EXTERN_C Int32 hal_init_platform(
FB::fb_clear_video();
- (Void)(Kernel::kout << "Welcome to NeKernel.\r");
-
fw_init_efi((EfiSystemTable*)handover_hdr->f_FirmwareCustomTables[1]);
Boot::ExitBootServices(handover_hdr->f_HardwareTables.f_ImageKey, handover_hdr->f_HardwareTables.f_ImageHandle);
- hal_init_scheduler_team();
-
/************************************** */
/* INITIALIZE BIT MAP. */
/************************************** */
@@ -92,6 +86,8 @@ EXTERN_C Int32 hal_init_platform(
EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
{
+ hal_pre_init_scheduler();
+
Kernel::NeFS::fs_init_nefs();
Kernel::HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
@@ -103,5 +99,8 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept
idt_loader.Load(idt_reg);
- dbg_break_point();
+ while (YES)
+ {
+ ;
+ }
}
diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h
index b813e1d9..f2e9c2ea 100644
--- a/dev/kernel/HALKit/AMD64/Processor.h
+++ b/dev/kernel/HALKit/AMD64/Processor.h
@@ -68,13 +68,13 @@ namespace Kernel::HAL
/// @brief Memory Manager mapping flags.
enum
{
- kMMFlagsInvalid = 1 << 0,
- kMMFlagsPresent = 1 << 1,
- kMMFlagsWr = 1 << 2,
- kMMFlagsUser = 1 << 3,
- kMMFlagsNX = 1 << 4,
- kMMFlagsPCD = 1 << 5,
- kMMFlagsCount = 4,
+ kMMFlagsInvalid = 1 << 0,
+ kMMFlagsPresent = 1 << 1,
+ kMMFlagsWr = 1 << 2,
+ kMMFlagsUser = 1 << 3,
+ kMMFlagsNX = 1 << 4,
+ kMMFlagsPCD = 1 << 5,
+ kMMFlagsCount = 4,
};
struct PACKED Register64 final
diff --git a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
index 9c8f95bc..08fd02ab 100644
--- a/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/AHCI+Generic.cc
@@ -479,8 +479,7 @@ namespace Kernel
return ErrorOr<AHCIDeviceInterface>(kErrorDisk);
AHCIDeviceInterface device(Detail::sk_io_read_ahci,
- Detail::sk_io_write_ahci,
- nullptr);
+ Detail::sk_io_write_ahci);
device.SetPortsImplemented(kSATAPortsImplemented);
device.SetIndex(drv_index);
diff --git a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
index cc8c92d8..257dd5c8 100644
--- a/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
+++ b/dev/kernel/HALKit/AMD64/Storage/PIO+Generic.cc
@@ -252,8 +252,7 @@ namespace Kernel
{
/// here we don't check if we probed ATA, since we'd need to grab IO after that.
ATADeviceInterface device(Detail::sk_io_read_pio,
- Detail::sk_io_write_pio,
- nullptr);
+ Detail::sk_io_write_pio);
device.SetIndex(drv_index);