summaryrefslogtreecommitdiffhomepage
path: root/Private/NewBoot
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-17 10:59:07 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-17 11:00:09 +0100
commit9898520f721220a2af4be59fd92e8ad8afcd4287 (patch)
tree35662af54535ccc07366b1a3a554f6296e76f4ce /Private/NewBoot
parent45548d516ddf5e88bf80940365d151e1bd69c29f (diff)
Unstable: See below.
These changes are related to the current ticket regarding AHCI support. This commit is just to upstream changes from local. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/NewBoot')
-rw-r--r--Private/NewBoot/BootKit/Arch/ATA.hxx3
-rw-r--r--Private/NewBoot/BootKit/Arch/SATA.hxx4
-rw-r--r--Private/NewBoot/NetBoot/EfiModule.cxx6
-rw-r--r--Private/NewBoot/Source/BootMain.cxx2
-rw-r--r--Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx2
5 files changed, 12 insertions, 5 deletions
diff --git a/Private/NewBoot/BootKit/Arch/ATA.hxx b/Private/NewBoot/BootKit/Arch/ATA.hxx
index 15d36317..74bdc630 100644
--- a/Private/NewBoot/BootKit/Arch/ATA.hxx
+++ b/Private/NewBoot/BootKit/Arch/ATA.hxx
@@ -6,7 +6,7 @@
#pragma once
-#include <Drivers/ATA/Defines.hxx>
+#include <Builtins/ATA/Defines.hxx>
class BDeviceATA final {
public:
@@ -48,4 +48,3 @@ enum {
kATADeviceCount,
};
-#define kATASectorSz 512
diff --git a/Private/NewBoot/BootKit/Arch/SATA.hxx b/Private/NewBoot/BootKit/Arch/SATA.hxx
index 3e37be19..409601ec 100644
--- a/Private/NewBoot/BootKit/Arch/SATA.hxx
+++ b/Private/NewBoot/BootKit/Arch/SATA.hxx
@@ -7,7 +7,7 @@
#pragma once
#include <CompilerKit/CompilerKit.hxx>
-#include <Drivers/AHCI/Defines.hxx>
+#include <Builtins/AHCI/Defines.hxx>
class BDeviceSATA final {
public:
@@ -35,4 +35,4 @@ class BDeviceSATA final {
AHCITraits mTraits;
};
-#define kAHCISectorSz 512
+#define kAHCISectorSz 4096
diff --git a/Private/NewBoot/NetBoot/EfiModule.cxx b/Private/NewBoot/NetBoot/EfiModule.cxx
index 42415dc7..419a2be4 100644
--- a/Private/NewBoot/NetBoot/EfiModule.cxx
+++ b/Private/NewBoot/NetBoot/EfiModule.cxx
@@ -11,5 +11,11 @@
EXTERN_C Int32 EfiMain(EfiHandlePtr handle, EfiSystemTable* SystemTable)
{
+ InitEFI(ST);
+
+ /// - Find a network drive called ".\\HCoreWorkgroup"
+ /// - Download our image
+ /// - Boot from it.
+
return kEfiOk;
}
diff --git a/Private/NewBoot/Source/BootMain.cxx b/Private/NewBoot/Source/BootMain.cxx
index 650196f6..c0412797 100644
--- a/Private/NewBoot/Source/BootMain.cxx
+++ b/Private/NewBoot/Source/BootMain.cxx
@@ -179,6 +179,8 @@ EFI_EXTERN_C EFI_API Int EfiMain(EfiHandlePtr ImageHandle,
SystemTable->FirmwareVendor,
handoverHdrPtr->f_FirmwareVendorLen);
+ handoverHdrPtr->f_HardwareTables.f_VendorTables = ST->ConfigurationTable->VendorTable;
+
EFI::ExitBootServices(MapKey, ImageHandle);
bool isIniNotFound = (systemIni.Blob() == nullptr);
diff --git a/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx b/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx
index 145976c1..fc09a3a7 100644
--- a/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx
+++ b/Private/NewBoot/Source/HEL/AMD64/AMD64-ATA.cxx
@@ -261,7 +261,7 @@ BDeviceATA& BDeviceATA::Write(CharacterType* Buf, const SizeT& SectorSz) {
boot_ata_write(this->Leak().mBase + i, this->Leak().mBus, this->Leak().mMaster,
Buf, Off);
- Off += kATASectorSz;
+ Off += kATASectorSize;
boot_ata_wait_io(this->Leak().mBus);
}