Compiles on x86 but everything is broken

This commit is contained in:
Alex
2022-12-21 02:11:49 +02:00
parent a677f3c159
commit 985d614be2
16 changed files with 1834 additions and 29 deletions

View File

@ -6,7 +6,7 @@ class Bitmap
public:
size_t Size;
uint8_t *Buffer;
bool operator[](uintptr_t index);
bool Set(uintptr_t index, bool value);
bool Get(uintptr_t index);
bool operator[](uint64_t index);
bool Set(uint64_t index, bool value);
bool Get(uint64_t index);
};

File diff suppressed because it is too large Load Diff

View File

@ -110,7 +110,7 @@ namespace Video
size_t Size = this->framebuffer.Pitch * Height;
if (!this->Buffers[Index])
{
if (this->Buffers[Index]->Checksum != 0xDEAD5C9EE7)
if (this->Buffers[Index]->Checksum != 0xDEAD)
{
ScreenBuffer *buffer = new ScreenBuffer;
buffer->Buffer = KernelAllocator.RequestPages(TO_PAGES(Size));
@ -122,7 +122,7 @@ namespace Video
buffer->CursorY = 0;
this->Buffers[Index] = buffer;
memset(this->Buffers[Index]->Buffer, 0, Size);
this->Buffers[Index]->Checksum = 0xDEAD5C9EE7;
this->Buffers[Index]->Checksum = 0xDEAD;
}
else
warn("Buffer %d already exists, skipping creation", Index);

View File

@ -94,14 +94,13 @@ namespace Tasking
#if defined(__amd64__)
CPU::x64::TrapFrame Registers;
uint64_t GSBase, FSBase;
uint64_t RIPHistory[128];
#elif defined(__i386__)
uint32_t Registers; // TODO
CPU::x32::TrapFrame Registers; // TODO
uint64_t GSBase, FSBase;
uint32_t EIPHistory[128];
#elif defined(__aarch64__)
uint64_t Registers; // TODO
#endif
uintptr_t IPHistory[128];
TaskSecurity Security;
TaskInfo Info;
char FXRegion[512] __attribute__((aligned(16)));