summaryrefslogtreecommitdiffhomepage
path: root/dev/modules
diff options
context:
space:
mode:
Diffstat (limited to 'dev/modules')
-rw-r--r--dev/modules/CoreGfx/CoreAccess.h6
-rw-r--r--dev/modules/CoreGfx/CoreGfx.h9
-rw-r--r--dev/modules/CoreGfx/MathGfx.h2
-rw-r--r--dev/modules/MBCI/MBCI.h43
-rw-r--r--dev/modules/NVME/NVME.h4
5 files changed, 46 insertions, 18 deletions
diff --git a/dev/modules/CoreGfx/CoreAccess.h b/dev/modules/CoreGfx/CoreAccess.h
index adc9ed33..b3d17a59 100644
--- a/dev/modules/CoreGfx/CoreAccess.h
+++ b/dev/modules/CoreGfx/CoreAccess.h
@@ -4,8 +4,8 @@
------------------------------------------- */
-#ifndef GFX_MGR_ACCESSIBILITY_H
-#define GFX_MGR_ACCESSIBILITY_H
+#ifndef CORE_GFX_ACCESSIBILITY_H
+#define CORE_GFX_ACCESSIBILITY_H
#include <NewKit/NewKit.h>
#include <KernelKit/KPC.h>
@@ -38,4 +38,4 @@ namespace FB
};
} // namespace FB
-#endif // !GFX_MGR_ACCESSIBILITY_H_
+#endif // !CORE_GFX_ACCESSIBILITY_H_
diff --git a/dev/modules/CoreGfx/CoreGfx.h b/dev/modules/CoreGfx/CoreGfx.h
index df22fed0..eda52520 100644
--- a/dev/modules/CoreGfx/CoreGfx.h
+++ b/dev/modules/CoreGfx/CoreGfx.h
@@ -129,15 +129,13 @@
#define FBDrawInRegionA(clr, height, width, base_x, base_y)
#endif // __NE_AMD64__
-#ifndef GFX_MGR_ACCESSIBILITY_H
+#ifndef CORE_GFX_ACCESSIBILITY_H
#include <modules/CoreGfx/CoreAccess.h>
-#endif // ifndef GFX_MGR_ACCESSIBILITY_H
+#endif // ifndef CORE_GFX_ACCESSIBILITY_H
namespace FB
{
- struct FB_CONTROL_BLOCK;
-
- inline void fb_clear_video() noexcept
+ inline Void fb_clear_video() noexcept
{
fb_init();
@@ -146,5 +144,4 @@ namespace FB
fb_clear();
}
-
} // namespace FB \ No newline at end of file
diff --git a/dev/modules/CoreGfx/MathGfx.h b/dev/modules/CoreGfx/MathGfx.h
index 655903e2..f03e2f19 100644
--- a/dev/modules/CoreGfx/MathGfx.h
+++ b/dev/modules/CoreGfx/MathGfx.h
@@ -11,7 +11,7 @@
namespace UI
{
-#ifdef NE_GFX_MGR_USE_DOUBLE
+#ifdef NE_CORE_GFX_USE_DOUBLE
typedef double fb_real_t;
#else
typedef float fb_real_t;
diff --git a/dev/modules/MBCI/MBCI.h b/dev/modules/MBCI/MBCI.h
index 975fa7fe..ebc73f69 100644
--- a/dev/modules/MBCI/MBCI.h
+++ b/dev/modules/MBCI/MBCI.h
@@ -7,9 +7,13 @@
#ifndef _INC_MODULE_MBCI_H_
#define _INC_MODULE_MBCI_H_
+#include <hint/CompilerHint.h>
#include <NewKit/Defines.h>
#include <modules/ACPI/ACPI.h>
+/// @file MBCI.h
+/// @brief Mini Bus Controller Interface.
+
/**
- VCC (IN) (OUT for MCU)
- CLK (IN) (OUT for MCU)
@@ -22,8 +26,9 @@
*/
#define kMBCIZeroSz (8)
+#define kMBCIESBSz (64)
-namespace NeOS
+namespace Kernel
{
struct IMBCIHost;
@@ -53,14 +58,15 @@ namespace NeOS
UInt64 BaseAddressRegister;
UInt64 BaseAddressRegisterSize;
UInt32 CommandIssue;
- Char Zero[kMBCIZeroSz];
+ UInt8 Esb[kMBCIESBSz]; // Extended Signature Block
+ UInt8 Zero[kMBCIZeroSz];
};
/// @brief MBCI host flags.
enum MBCIHostFlags
{
kMBCIHostFlagsSupportsNothing, // Invalid MBCI device.
- kMBCIHostFlagsSupportsAPM, // Advanced Power Management.
+ kMBCIHostFlagsSupportsAPM, // FW's Advanced Power Management.
kMBCIHostFlagsSupportsDaisyChain, // Is daisy chained.
kMBCIHostFlagsSupportsHWInterrupts, // Has HW interrupts.
kMBCIHostFlagsSupportsDMA, // Has DMA.
@@ -93,8 +99,33 @@ namespace NeOS
kMBCIHostStateCount,
};
- /// @brief An AuthKey is a context used to decrpy data from an MBCI packet.
- typedef UInt64 MBCIAuthKeyType;
-} // namespace NeOS
+ /// @brief An AuthKey is a context used to tokenize data for an MBCI packet.
+ typedef UInt32 MBCIAuthKeyType;
+
+ /// @brief Read Auth key for MBCI host.
+ /// @param host the mbci host to get the key on.
+ /// @return the 24-bit key.
+ inline MBCIAuthKeyType mbci_read_auth_key(_Input volatile struct IMBCIHost* host)
+ {
+ constexpr auto const kChallengeMBCI = 0xdeadbeef;
+
+ host->MMIOTest = kChallengeMBCI;
+
+ if (host->MMIOTest == kChallengeMBCI)
+ {
+ return (host->Esb[kMBCIESBSz - 1] << 16) | (host->Esb[kMBCIESBSz - 2] << 8) | (host->Esb[kMBCIESBSz - 3] & 0xFF);
+ }
+
+ return kChallengeMBCI;
+ }
+
+ inline BOOL mbci_test_mmio(_Input volatile struct IMBCIHost* host)
+ {
+ constexpr auto const kChallengeMBCI = 0xdeadbeef;
+
+ host->MMIOTest = kChallengeMBCI;
+ return host->MMIOTest == kChallengeMBCI;
+ }
+} // namespace Kernel
#endif // ifndef _INC_MODULE_MBCI_H_ \ No newline at end of file
diff --git a/dev/modules/NVME/NVME.h b/dev/modules/NVME/NVME.h
index 42edd149..f58aacf9 100644
--- a/dev/modules/NVME/NVME.h
+++ b/dev/modules/NVME/NVME.h
@@ -15,7 +15,7 @@
#include <NewKit/Defines.h>
/// @file NVME.h
-/// @brief NVME driver.
+/// @brief Non Volatile Memory.
#define NE_ALIGN_NVME ATTRIBUTE(aligned(sizeof(Kernel::UInt32)))
@@ -46,7 +46,7 @@ namespace Kernel
enum
{
- kInvalidNVME,
+ kInvalidNVME = 0xFF,
kCreateCompletionQueueNVME = 0x05,
kCreateSubmissionQueueNVME = 0x01,
kIdentifyNVME = 0x06,