24 lines
1.2 KiB
C
24 lines
1.2 KiB
C
|
#ifndef GLOBAL_H
|
||
|
#define GLOBAL_H
|
||
|
|
||
|
#include "../cpu/types.h"
|
||
|
#include "linked.h"
|
||
|
|
||
|
// Using defines allows this file to control the ranges here rather than updating the kernel code lines
|
||
|
// somewhere else at various locations throughout the code
|
||
|
// using ALL CAPS is a conventions for defines and constants, that varies from group to group
|
||
|
#define KMEM_START 0x9000 // starts equal to this address for allocation
|
||
|
#define KMEM_END 0x10000 // cannot be equal to or more than this address
|
||
|
extern u32 kmem_addr; // The start value of allocation kernel datastructure allocations
|
||
|
extern u32 kernel_mem_limit; // the upper limit of memory allowed for kernel memory allocations
|
||
|
|
||
|
#define UMEM_START 0x10000 // kernel memory for linked list nodes starts here
|
||
|
#define UMEM_END 0x40000 // kernel memory for linked list nodes must end before here
|
||
|
extern u32 umem_addr; // start of linked list memory allocation address
|
||
|
extern u32 user_mem_limit; // end of linked list memory allocation address
|
||
|
|
||
|
extern u32 global_id; // Just an id for now but will eventually become PID
|
||
|
|
||
|
extern node *global_head; // Kernel data structure for storing memory allocation linked list
|
||
|
#endif // GLOBAL_H
|