diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-20 23:13:11 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-04-20 23:13:11 +0200 |
| commit | 155971914073bedfa585a0be4d14a40bd23e3b8f (patch) | |
| tree | f39af19dc2f1b7f33cac33eff07001b2e791f7db /Private/DriverKit/KernelPrint.c | |
| parent | 7013c094668be2204b1245496236f0cf6afa07c2 (diff) | |
MHR-9: Driver toolkit, initial commit.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/DriverKit/KernelPrint.c')
| -rw-r--r-- | Private/DriverKit/KernelPrint.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Private/DriverKit/KernelPrint.c b/Private/DriverKit/KernelPrint.c index 32e20f4f..5ca09ccf 100644 --- a/Private/DriverKit/KernelPrint.c +++ b/Private/DriverKit/KernelPrint.c @@ -6,14 +6,23 @@ ------------------------------------------- */ -#include "DriverKit/KernelPrint.h" +#include <DriverKit/KernelPrint.h> -#ifdef __x86_64__ -static void kernelPrintCharAMD64(const char ch) { - __asm__ volatile("outb %%al, %1" : : "a"(ch), "Nd"(0x3F8) : "memory"); +DK_EXTERN void kernelPrintChar(const char ch) { + kernelCall("WriteCharacter", 1, ch); } -#endif // if __x86_64__ -DK_EXTERN void kernelPrintChar(const char ch) { - kernelPrintChar(ch); +/// @brief print string to UART. +/// @param message UART to transmit. +DK_EXTERN void kernelPrintStr(const char* message) { + if (!message) return; + if (*message == 0) return; + + size_t index = 0; + size_t len = kernelStringLength(message); + + while (index < len) { + kernelPrintChar(message[index]); + ++index; + } } |
