|
CS350 COS
COS
|
#include <stdbool.h>#include <stdint.h>#include <sys/kassert.h>#include <sys/cdefs.h>#include "../dev/console.h"#include <machine/amd64.h>#include <machine/pmap.h>#include <machine/multiboot.h>Go to the source code of this file.
Macros | |
| #define | CHECK_FLAG(flag, bit) ((flag) & (1 << (bit))) |
| #define | PAGE_ALIGN __attribute__((aligned(PGSIZE))) |
| #define | DATA_SECTION __attribute__((section(".data"))) |
| #define | MAX_REGIONS 16 |
Functions | |
| void | MachineBoot_Entry (unsigned long magic, unsigned long addr) |
| void | Machine_EarlyInit () |
| void | Machine_Init () |
| void | PAlloc_AddRegion (uintptr_t start, uintptr_t len) |
| void | MachineBoot_AddMem () |
Variables | |
| PAGE_ALIGN DATA_SECTION PageTable | bootpgtbl3 |
| PAGE_ALIGN DATA_SECTION PageTable | bootpgtbl2 |
| PAGE_ALIGN DATA_SECTION PageTable | bootpgtbl1 |
| static uintptr_t | memRegionStart [MAX_REGIONS] |
| static uintptr_t | memRegionLen [MAX_REGIONS] |
| static int | memRegionIdx |
| #define DATA_SECTION __attribute__((section(".data"))) |
| #define PAGE_ALIGN __attribute__((aligned(PGSIZE))) |
| void Machine_EarlyInit | ( | ) |
Machine_EarlyInit –
Initializes early kernel state.
Definition at line 146 of file machine.c.
| void Machine_Init | ( | ) |
Machine_Init –
At this point the assembly startup code has setup temporary processor data structures sufficient to execute C code and make it through this initialization routine.
Definition at line 169 of file machine.c.
| void MachineBoot_AddMem | ( | ) |
Definition at line 192 of file mbentry.c.
| void MachineBoot_Entry | ( | unsigned long | magic, |
| unsigned long | addr | ||
| ) |
Definition at line 81 of file mbentry.c.
PAlloc_AddRegion –
Add a physical memory region to the page allocator.
Definition at line 92 of file palloc.c.
| PAGE_ALIGN DATA_SECTION PageTable bootpgtbl1 |
| PAGE_ALIGN DATA_SECTION PageTable bootpgtbl2 |
| PAGE_ALIGN DATA_SECTION PageTable bootpgtbl3 |
|
static |
|
static |