Previous commit was a blunder. This commit setups up Malloc proper and includes a working string concat.

This commit is contained in:
2019-01-06 21:47:37 -06:00
parent 67bf4a355d
commit 657b716f77
9 changed files with 487 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
#ifndef BUILD_NUMBER
#define BUILD_NUMBER "48"
#endif
#ifndef VERSION_STR
#define VERSION_STR "0.0.2.48 - Sun Jan 6 21:40:38 CST 2019"
#endif
#ifndef VERSION_STR_SHORT
#define VERSION_STR_SHORT "0.0.2.48"
#endif
+20
View File
@@ -0,0 +1,20 @@
#ifndef __MEMORYMANAGER_H
#define __MEMORYMANAGER_H
#include "system.h"
typedef struct MemoryChunk
{
struct MemoryChunk* Prev;
struct MemoryChunk* Next;
size_t Size;
bool Allocated;
};
void MemoryManager(size_t start, size_t size);
void* Malloc(size_t size);
void Free(void* ptr);
#endif
+34
View File
@@ -0,0 +1,34 @@
#ifndef __PCI_H
#define __PCI_H
#include "system.h"
typedef struct DeviceDescriptor
{
uint32_t PortBase;
uint32_t Interrupt;
uint16_t Bus;
uint16_t Device;
uint16_t Function;
uint16_t VendorId;
uint16_t DeviceId;
uint8_t ClassId;
uint8_t SubClassId;
uint8_t InterfaceId;
uint8_t Revision;
};
uint32_t Read(uint16_t busNumber, uint16_t deviceNumber, uint16_t functionNumber, uint32_t registerOffset);
void Write(uint16_t busNumber, uint16_t deviceNumber, uint16_t functionNumber, uint32_t registerOffset, uint32_t value);
bool DeviceHasFunctions(uint16_t bus, uint16_t device);
void EnumPCISubsystem(void);
struct DeviceDescriptor GetDeviceDescriptor(uint16_t busNumber, uint16_t deviceNumber, uint16_t functionNumber);
#endif
+15
View File
@@ -0,0 +1,15 @@
#ifndef __PORT_H
#define __PORT_H
#include "system.h"
uint8_t Read8Bit(uint16_t portNumber);
void Write8Bit(uint16_t portNumber, uint8_t data);
uint16_t Read16Bit(uint16_t portNumber);
void Write16Bit(uint16_t portNumber, uint16_t data);
uint32_t Read32Bit(uint16_t portNumber);
void Write32Bit(uint16_t portNumber, uint32_t data);
#endif