From cbcbf6e7d614ecf94dd7e1b9033f8d599f48662e Mon Sep 17 00:00:00 2001 From: Alexey Gavrilov Date: Thu, 22 Feb 2024 14:18:39 +0700 Subject: Implement support of cpuid instruction + include folder + some updates --- arch/x86/io/VGADisplay.cpp | 18 ++++++++++++++++++ arch/x86/io/VGADisplay.h | 3 +++ arch/x86/io/VGADisplayInfo.h | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) (limited to 'arch/x86/io') diff --git a/arch/x86/io/VGADisplay.cpp b/arch/x86/io/VGADisplay.cpp index b74858b..0cd0bed 100644 --- a/arch/x86/io/VGADisplay.cpp +++ b/arch/x86/io/VGADisplay.cpp @@ -23,6 +23,24 @@ VGADisplay& VGADisplay::operator<<(const char &c) return *this; }; +VGADisplay& VGADisplay::operator<<(const uint32 number) +{ + IntConverter conv; + + (*this) << conv.uintToChar(number); + + return *this; +}; + +VGADisplay& VGADisplay::operator<<(const uint64 number) +{ + IntConverter conv; + + (*this) << conv.uintToChar(number); + + return *this; +}; + VGADisplay& VGADisplay::operator++(int) { if(++xCurr == VGADisplayInfo::width) diff --git a/arch/x86/io/VGADisplay.h b/arch/x86/io/VGADisplay.h index 67f28b3..db4c4df 100644 --- a/arch/x86/io/VGADisplay.h +++ b/arch/x86/io/VGADisplay.h @@ -2,6 +2,7 @@ #define VGAGRAPHICS_H #include "VGADisplayInfo.h" +#include typedef unsigned short dchar; @@ -27,6 +28,8 @@ class VGADisplay VGADisplay(uint16 x, uint16 y); VGADisplay& operator<<(const char &c); VGADisplay& operator<<(const char *c); + VGADisplay& operator<<(const uint32 number); + VGADisplay& operator<<(const uint64 number); VGADisplay& operator++(int); void setShift(bool status); void setColor(char colorAttr); diff --git a/arch/x86/io/VGADisplayInfo.h b/arch/x86/io/VGADisplayInfo.h index 33235cc..875e7e5 100644 --- a/arch/x86/io/VGADisplayInfo.h +++ b/arch/x86/io/VGADisplayInfo.h @@ -1,7 +1,7 @@ #ifndef VGAINFOCLASS_H #define VGAINFOCLASS_H -#include "../inc/types.h" +#include #define TOBG(attr) attr << 4 -- cgit v1.2.3