summaryrefslogtreecommitdiffhomepage
path: root/Kernel/KernelKit
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/KernelKit')
-rw-r--r--Kernel/KernelKit/HError.hpp9
-rw-r--r--Kernel/KernelKit/MSDOS.hxx (renamed from Kernel/KernelKit/MSDOS.hpp)40
-rw-r--r--Kernel/KernelKit/PCI/Dma.inl2
-rw-r--r--Kernel/KernelKit/PCI/IO-Impl-AMD64.inl2
-rw-r--r--Kernel/KernelKit/PE.hxx68
-rw-r--r--Kernel/KernelKit/ProcessScheduler.hxx22
-rw-r--r--Kernel/KernelKit/ThreadLocalStorage.hxx8
-rw-r--r--Kernel/KernelKit/XCOFF.hxx12
8 files changed, 82 insertions, 81 deletions
diff --git a/Kernel/KernelKit/HError.hpp b/Kernel/KernelKit/HError.hpp
index caee5718..24d5c505 100644
--- a/Kernel/KernelKit/HError.hpp
+++ b/Kernel/KernelKit/HError.hpp
@@ -11,9 +11,9 @@
/// @file HError.hpp
/// @brief Local Process Codes.
-#define ErrLocalIsOk() (Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode() == Kernel::kErrorSuccess)
-#define ErrLocalFailed() (Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode() != Kernel::kErrorSuccess)
-#define ErrLocal() Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode()
+#define ErrLocalIsOk() (Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode() == Kernel::kErrorSuccess)
+#define ErrLocalFailed() (Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode() != Kernel::kErrorSuccess)
+#define ErrLocal() Kernel::ProcessScheduler::The().Leak().TheCurrent().Leak().GetLocalCode()
namespace Kernel
{
@@ -50,7 +50,6 @@ namespace Kernel
inline constexpr HError kErrorSign = 60;
inline constexpr HError kErrorUnimplemented = 0;
- Void err_bug_check_raise(void) noexcept;
+ Void err_bug_check_raise(void) noexcept;
Boolean err_bug_check(void) noexcept;
} // namespace Kernel
-
diff --git a/Kernel/KernelKit/MSDOS.hpp b/Kernel/KernelKit/MSDOS.hxx
index 12d67488..7b0c2a2f 100644
--- a/Kernel/KernelKit/MSDOS.hpp
+++ b/Kernel/KernelKit/MSDOS.hxx
@@ -24,29 +24,29 @@
#define kMagMz1 'Z'
typedef Kernel::UInt32 DosWord;
-typedef Kernel::Long DosLong;
+typedef Kernel::Long DosLong;
typedef struct _DosHeader
{
Kernel::UInt8 eMagic[2];
- DosWord eMagLen;
- DosWord ePagesCount;
- DosWord eCrlc;
- DosWord eCParHdr;
- DosWord eMinAlloc;
- DosWord eMaxAlloc;
- DosWord eStackSeg;
- DosWord eStackPtr;
- DosWord eChksum;
- DosWord eIp;
- DosWord eCs;
- DosWord eLfarlc;
- DosWord eOvno;
- DosWord eRes[4];
- DosWord eOemid;
- DosWord eOeminfo;
- DosWord eRes2[10];
- DosLong eLfanew;
+ DosWord eMagLen;
+ DosWord ePagesCount;
+ DosWord eCrlc;
+ DosWord eCParHdr;
+ DosWord eMinAlloc;
+ DosWord eMaxAlloc;
+ DosWord eStackSeg;
+ DosWord eStackPtr;
+ DosWord eChksum;
+ DosWord eIp;
+ DosWord eCs;
+ DosWord eLfarlc;
+ DosWord eOvno;
+ DosWord eRes[4];
+ DosWord eOemid;
+ DosWord eOeminfo;
+ DosWord eRes2[10];
+ DosLong eLfanew;
} DosHeader, *DosHeaderPtr;
namespace Kernel
@@ -56,8 +56,10 @@ namespace Kernel
{
if (!ptrDos)
return nullptr;
+
if (ptrDos->eMagic[0] != kMagMz0)
return nullptr;
+
if (ptrDos->eMagic[1] != kMagMz1)
return nullptr;
diff --git a/Kernel/KernelKit/PCI/Dma.inl b/Kernel/KernelKit/PCI/Dma.inl
index 1eca8081..4a0facae 100644
--- a/Kernel/KernelKit/PCI/Dma.inl
+++ b/Kernel/KernelKit/PCI/Dma.inl
@@ -17,4 +17,4 @@ namespace Kernel
{
return reinterpret_cast<T*>((UIntPtr)fAddress + offset);
}
-} // namespace NewOS
+} // namespace Kernel
diff --git a/Kernel/KernelKit/PCI/IO-Impl-AMD64.inl b/Kernel/KernelKit/PCI/IO-Impl-AMD64.inl
index 08d33945..7b1e75dd 100644
--- a/Kernel/KernelKit/PCI/IO-Impl-AMD64.inl
+++ b/Kernel/KernelKit/PCI/IO-Impl-AMD64.inl
@@ -51,4 +51,4 @@ namespace Kernel
break;
}
}
-} // namespace NewOS
+} // namespace Kernel
diff --git a/Kernel/KernelKit/PE.hxx b/Kernel/KernelKit/PE.hxx
index 30b71cc9..c71f5fc2 100644
--- a/Kernel/KernelKit/PE.hxx
+++ b/Kernel/KernelKit/PE.hxx
@@ -28,7 +28,7 @@ typedef struct ExecHeader final
Kernel::UInt32 mNumberOfSymbols;
Kernel::UInt16 mSizeOfOptionalHeader;
Kernel::UInt16 mCharacteristics;
-} ALIGN(8) ExecHeader, *ExecHeaderPtr;
+} PACKED ExecHeader, *ExecHeaderPtr;
#define kMagPE32 0x010b
#define kMagPE64 0x020b
@@ -38,50 +38,50 @@ typedef struct ExecHeader final
typedef struct ExecOptionalHeader final
{
- Kernel::UInt16 mMagic; // 0x010b - PE32, 0x020b - PE32+ (64 bit)
- Kernel::UChar mMajorLinkerVersion;
- Kernel::UChar mMinorLinkerVersion;
+ Kernel::UInt16 mMagic; // 0x010b - PE32, 0x020b - PE32+ (64 bit)
+ Kernel::UChar mMajorLinkerVersion;
+ Kernel::UChar mMinorLinkerVersion;
Kernel::UIntPtr mSizeOfCode;
Kernel::UIntPtr mSizeOfInitializedData;
Kernel::UIntPtr mSizeOfUninitializedData;
- Kernel::UInt32 mAddressOfEntryPoint;
- Kernel::UInt32 mBaseOfCode;
+ Kernel::UInt32 mAddressOfEntryPoint;
+ Kernel::UInt32 mBaseOfCode;
Kernel::UIntPtr mImageBase;
- Kernel::UInt32 mSectionAlignment;
- Kernel::UInt32 mFileAlignment;
- Kernel::UInt16 mMajorOperatingSystemVersion;
- Kernel::UInt16 mMinorOperatingSystemVersion;
- Kernel::UInt16 mMajorImageVersion;
- Kernel::UInt16 mMinorImageVersion;
- Kernel::UInt16 mMajorSubsystemVersion;
- Kernel::UInt16 mMinorSubsystemVersion;
- Kernel::UInt32 mWin32VersionValue;
+ Kernel::UInt32 mSectionAlignment;
+ Kernel::UInt32 mFileAlignment;
+ Kernel::UInt16 mMajorOperatingSystemVersion;
+ Kernel::UInt16 mMinorOperatingSystemVersion;
+ Kernel::UInt16 mMajorImageVersion;
+ Kernel::UInt16 mMinorImageVersion;
+ Kernel::UInt16 mMajorSubsystemVersion;
+ Kernel::UInt16 mMinorSubsystemVersion;
+ Kernel::UInt32 mWin32VersionValue;
Kernel::UIntPtr mSizeOfImage;
Kernel::UIntPtr mSizeOfHeaders;
- Kernel::UInt32 mCheckSum;
- Kernel::UInt16 mSubsystem;
- Kernel::UInt16 mDllCharacteristics;
+ Kernel::UInt32 mCheckSum;
+ Kernel::UInt16 mSubsystem;
+ Kernel::UInt16 mDllCharacteristics;
Kernel::UIntPtr mSizeOfStackReserve;
Kernel::UIntPtr mSizeOfStackCommit;
Kernel::UIntPtr mSizeOfHeapReserve;
Kernel::UIntPtr mSizeOfHeapCommit;
- Kernel::UInt32 mLoaderFlags;
- Kernel::UInt32 mNumberOfRvaAndSizes;
-} ExecOptionalHeader, *ExecOptionalHeaderPtr;
+ Kernel::UInt32 mLoaderFlags;
+ Kernel::UInt32 mNumberOfRvaAndSizes;
+} PACKED ExecOptionalHeader, *ExecOptionalHeaderPtr;
typedef struct ExecSectionHeader final
{
CONST Kernel::UChar mName[8];
- Kernel::UInt32 mVirtualSize;
- Kernel::UInt32 mVirtualAddress;
- Kernel::UInt32 mSizeOfRawData;
- Kernel::UInt32 mPointerToRawData;
- Kernel::UInt32 mPointerToRelocations;
- Kernel::UInt32 mPointerToLinenumbers;
- Kernel::UInt16 mNumberOfRelocations;
- Kernel::UInt16 mNumberOfLinenumbers;
- Kernel::UInt32 mCharacteristics;
-} ExecSectionHeader, *ExecSectionHeaderPtr;
+ Kernel::UInt32 mVirtualSize;
+ Kernel::UInt32 mVirtualAddress;
+ Kernel::UInt32 mSizeOfRawData;
+ Kernel::UInt32 mPointerToRawData;
+ Kernel::UInt32 mPointerToRelocations;
+ Kernel::UInt32 mPointerToLinenumbers;
+ Kernel::UInt16 mNumberOfRelocations;
+ Kernel::UInt16 mNumberOfLinenumbers;
+ Kernel::UInt32 mCharacteristics;
+} PACKED ExecSectionHeader, *ExecSectionHeaderPtr;
enum kExecDataDirParams
{
@@ -104,7 +104,7 @@ typedef struct ExecExportDirectory
Kernel::UInt32 mAddressOfFunctions; // export table rva
Kernel::UInt32 mAddressOfNames;
Kernel::UInt32 mAddressOfNameOrdinal; // ordinal table rva
-} ExecExportDirectory, *ExecExportDirectoryPtr;
+} PACKED ExecExportDirectory, *ExecExportDirectoryPtr;
typedef struct ExecImportDirectory
{
@@ -116,8 +116,8 @@ typedef struct ExecImportDirectory
Kernel::UInt32 mForwarderChain;
Kernel::UInt32 mNameRva;
Kernel::UInt32 mThunkTableRva;
-} ExecImportDirectory, *ExecImportDirectoryPtr;
+} PACKED ExecImportDirectory, *ExecImportDirectoryPtr;
-#define kPeStart "__hcore_subsys_start"
+#define kPeStart "__ImageStart"
#endif /* ifndef __PE__ */
diff --git a/Kernel/KernelKit/ProcessScheduler.hxx b/Kernel/KernelKit/ProcessScheduler.hxx
index 7d8518bb..866841f7 100644
--- a/Kernel/KernelKit/ProcessScheduler.hxx
+++ b/Kernel/KernelKit/ProcessScheduler.hxx
@@ -140,8 +140,8 @@ namespace Kernel
NEWOS_COPY_DEFAULT(ProcessHeader)
public:
- void SetEntrypoint(UIntPtr& imageStart) noexcept;
- const Int32& GetExitCode() noexcept;
+ void SetEntrypoint(UIntPtr& imageStart) noexcept;
+ const Int32& GetExitCode() noexcept;
public:
Char Name[kProcessLen] = {"Process"};
@@ -179,24 +179,24 @@ namespace Kernel
}
//! @brief Crash the app, exits with code ~0.
- Void Crash();
+ Void Crash();
//! @brief Exits app.
- Void Exit(Int32 exitCode = 0);
+ Void Exit(Int32 exitCode = 0);
//! @brief TLS Allocate
- VoidPtr New(const SizeT& sz);
+ VoidPtr New(const SizeT& sz);
//! @brief TLS Free.
- Boolean Delete(VoidPtr ptr, const SizeT& sz);
+ Boolean Delete(VoidPtr ptr, const SizeT& sz);
//! @brief Wakes up threads.
- Void Wake(const bool wakeup = false);
+ Void Wake(const bool wakeup = false);
// ProcessHeader getters.
public:
//! @brief ProcessHeader name getter, example: "C RunTime"
- const Char* GetName() noexcept;
+ const Char* GetName() noexcept;
//! @brief return local error code of process.
//! @return Int32 local error code.
@@ -207,8 +207,8 @@ namespace Kernel
const AffinityKind& GetAffinity() noexcept;
private:
- Int32 fLastExitCode{0};
- Int32 fLocalCode{0};
+ Int32 fLastExitCode{0};
+ Int32 fLocalCode{0};
friend ProcessScheduler;
friend ProcessHelper;
@@ -226,7 +226,7 @@ namespace Kernel
MutableArray<Ref<ProcessHeader>>& AsArray();
Ref<ProcessHeader>& AsRef();
- UInt64& Id() noexcept;
+ UInt64& Id() noexcept;
public:
MutableArray<Ref<ProcessHeader>> mProcessList;
diff --git a/Kernel/KernelKit/ThreadLocalStorage.hxx b/Kernel/KernelKit/ThreadLocalStorage.hxx
index fb3eec9b..50c53fa4 100644
--- a/Kernel/KernelKit/ThreadLocalStorage.hxx
+++ b/Kernel/KernelKit/ThreadLocalStorage.hxx
@@ -21,11 +21,11 @@
/// Located in GS on AMD64, other architectures have their own stuff. (64x0, 32x0, ARM64)
struct PACKED ThreadInformationBlock final
{
- Kernel::Char Cookie[kTLSCookieLen];
- Kernel::UIntPtr StartCode; // Start Address
- Kernel::UIntPtr StartData; // Allocation Heap
+ Kernel::Char Cookie[kTLSCookieLen];
+ Kernel::UIntPtr StartCode; // Start Address
+ Kernel::UIntPtr StartData; // Allocation Heap
Kernel::UIntPtr StartStack; // Stack Pointer.
- Kernel::Int32 ThreadID; // Thread execution ID.
+ Kernel::Int32 ThreadID; // Thread execution ID.
};
typedef struct ThreadInformationBlock ProcessInformationBlock;
diff --git a/Kernel/KernelKit/XCOFF.hxx b/Kernel/KernelKit/XCOFF.hxx
index f5063900..2487a401 100644
--- a/Kernel/KernelKit/XCOFF.hxx
+++ b/Kernel/KernelKit/XCOFF.hxx
@@ -29,13 +29,13 @@ struct XCoffForkHeader;
/// @brief XCoff file header, meant for POWER apps.
typedef struct XCoffFileHeader
{
- Kernel::UInt16 fMagic;
- Kernel::UInt16 fTarget;
- Kernel::UInt16 fNumSecs;
- Kernel::UInt32 fTimeDat;
+ Kernel::UInt16 fMagic;
+ Kernel::UInt16 fTarget;
+ Kernel::UInt16 fNumSecs;
+ Kernel::UInt32 fTimeDat;
Kernel::UIntPtr fSymPtr;
- Kernel::UInt32 fNumSyms;
- Kernel::UInt16 fOptHdr; // ?: Number of bytes in optional header
+ Kernel::UInt32 fNumSyms;
+ Kernel::UInt16 fOptHdr; // ?: Number of bytes in optional header
} XCoffFileHeader32, XCoffFileHeader64;
#define cForkNameLen (255)