Previous commit was a blunder. This commit setups up Malloc proper and includes a working string concat.
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user