summaryrefslogtreecommitdiffhomepage
path: root/Kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel')
-rw-r--r--Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx7
-rw-r--r--Kernel/HALKit/AMD64/HalKernelMain.cxx6
-rw-r--r--Kernel/NetworkKit/IPCEP.hxx19
3 files changed, 20 insertions, 12 deletions
diff --git a/Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx b/Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx
index 057ba61b..a8d0d8d7 100644
--- a/Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx
+++ b/Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx
@@ -32,9 +32,14 @@ namespace NewOS
/// You have to parse the MADT!
- ACPIFactoryInterface::ACPIFactoryInterface(voidPtr rsdPtr)
+ ACPIFactoryInterface::ACPIFactoryInterface(VoidPtr rsdPtr)
: fRsdp(rsdPtr), fEntries(0)
{
+#ifdef __DEBUG__
+ kcout << "newoskrnl: ACPI: init interface.\r";
+#else
+
+#endif
}
Void ACPIFactoryInterface::Shutdown()
diff --git a/Kernel/HALKit/AMD64/HalKernelMain.cxx b/Kernel/HALKit/AMD64/HalKernelMain.cxx
index 701439f1..8c4a05dc 100644
--- a/Kernel/HALKit/AMD64/HalKernelMain.cxx
+++ b/Kernel/HALKit/AMD64/HalKernelMain.cxx
@@ -106,7 +106,7 @@ EXTERN_C void hal_init_platform(
kSyscalls[cNewInterrupt].Leak().Leak()->fProc = [](NewOS::VoidPtr rdx)->void {
/// get HAC struct.
- HeapAllocInfo* rdxInf = (HeapAllocInfo*)rdx;
+ HeapAllocInfo* rdxInf = reinterpret_cast<HeapAllocInfo*>(rdx);
/// assign the fThe field with the pointer.
rdxInf->fThe = NewOS::ProcessScheduler::The().Leak().TheCurrent().Leak().New(rdxInf->fTheSz);
@@ -114,14 +114,14 @@ EXTERN_C void hal_init_platform(
kSyscalls[cDeleteInterrupt].Leak().Leak()->fProc = [](NewOS::VoidPtr rdx)->void {
/// get HAC struct.
- HeapAllocInfo* rdxInf = (HeapAllocInfo*)rdx;
+ HeapAllocInfo* rdxInf = reinterpret_cast<HeapAllocInfo*>(rdx);
/// delete ptr with sz in mind.
NewOS::ProcessScheduler::The().Leak().TheCurrent().Leak().Delete(rdxInf->fThe, rdxInf->fTheSz);
};
kSyscalls[cTlsInstallInterrupt].Leak().Leak()->fProc = [](NewOS::VoidPtr rdx)->void {
- ProcessBlockInfo* rdxPb = (ProcessBlockInfo*)rdx;
+ ProcessBlockInfo* rdxPb = reinterpret_cast<ProcessBlockInfo*>(rdx);
/// install the process's fTIB and fPIB.
rt_install_tib(rdxPb->fTIB, rdxPb->fPIB);
diff --git a/Kernel/NetworkKit/IPCEP.hxx b/Kernel/NetworkKit/IPCEP.hxx
index 72efae73..6c7578b3 100644
--- a/Kernel/NetworkKit/IPCEP.hxx
+++ b/Kernel/NetworkKit/IPCEP.hxx
@@ -27,7 +27,7 @@
namespace NewOS
{
/// @brief 96-bit number to represent the domain and namespace
- struct PACKED IPCEPAddress
+ struct PACKED IPCEPAddress final
{
UInt32 RemoteAddress;
UInt64 RemoteNamespace;
@@ -41,17 +41,20 @@ namespace NewOS
eIPCEPBigEndian = 1
};
- /// @brief IPCEP connection header
+ /// @brief IPCEP connection header, must be the same on
+ /// user side as well.
+
typedef struct IPCEPConnectionHeader
{
- UInt32 IpcHeader; // cRemoteHeaderMagic
- UInt8 IpcEndianess; // 0 : LE, 1 : BE
- SizeT IpcPacketSize;
+ UInt32 IpcHeader; // cRemoteHeaderMagic
+ UInt8 IpcEndianess; // 0 : LE, 1 : BE
+ SizeT IpcPacketSize;
IPCEPAddressType IpcFrom;
IPCEPAddressType IpcTo;
- UInt32 IpcCRC32;
- UInt32 IpcMsg;
- UInt32 IpcMsgSz;
+ UInt32 IpcCRC32;
+ UInt32 IpcMsg;
+ UInt32 IpcMsgSz;
+ UInt8 IpcData[];
} PACKED IPCEPConnectionHeader;
} // namespace NewOS