XINU
Functions | Variables
meminit.c File Reference

BeagleBone Black向けのフリーメモリリストを初期化する。 More...

#include <xinu.h>
Include dependency graph for meminit.c:

Go to the source code of this file.

Functions

void meminit (void)
 BeagleBone Black向けのフリーメモリリストを初期化する。 More...
 

Variables

void * maxheap
 ヒープの終了アドレス More...
 
void * minheap
 ヒープの開始アドレス More...
 

Detailed Description

BeagleBone Black向けのフリーメモリリストを初期化する。

Definition in file meminit.c.

Function Documentation

◆ meminit()

void meminit ( void  )

BeagleBone Black向けのフリーメモリリストを初期化する。

フリーメモリリストを初期化するmeminit()のextern宣言

Step1. ヒープ開始アドレスとヒープ終了アドレスを設定する。
Step2. メモリリストの先頭に、ヒープ開始から終了までのメモリブロックをセットする。

Note
RAMサイズは512MB。

Definition at line 19 of file meminit.c.

References end, MAXADDR, maxheap, memlist, minheap, memblk::mlength, memblk::mnext, and NULL.

Referenced by sysinit().

20 {
21  struct memblk *memptr; /* Memory block pointer */
22 
23  /* Initialize the minheap and maxheap variables */
24 
25  minheap = (void *)&end;
26  maxheap = (void *)MAXADDR;
27 
28  /* Initialize the memory list as one big block */
29 
30  memlist.mnext = (struct memblk *)minheap;
31  memptr = memlist.mnext;
32 
33  memptr->mnext = (struct memblk *)NULL;
34  memlist.mlength = memptr->mlength =
36 }
#define NULL
連結リスト用のNULLポインタ
Definition: kernel.h:68
メモリブロックを管理するための構造体。
Definition: memory.h:53
void * maxheap
ヒープの終了アドレス
Definition: meminit.c:10
#define MAXADDR
0x80000000から始まる512MB RAMの最終アドレス
Definition: armv7a.h:55
struct memblk * mnext
次のフリーメモリブロックへのポインタ
Definition: memory.h:56
void * minheap
ヒープの開始アドレス
Definition: meminit.c:8
struct memblk memlist
フリーメモリリストの先頭
Definition: initialize.c:27
int end
プログラムの終了アドレス(リンカが追加する)
uint32 mlength
memblk構造体のサイズを含むブロックサイズ
Definition: memory.h:58
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition: kernel.h:15
Here is the caller graph for this function:

Variable Documentation

◆ maxheap

void* maxheap

ヒープの終了アドレス

最上位かつ正常なヒープアドレス

Definition at line 10 of file meminit.c.

Referenced by freemem(), meminit(), and xsh_memdump().

◆ minheap

void* minheap

ヒープの開始アドレス

ヒープの開始地点

Definition at line 8 of file meminit.c.

Referenced by freemem(), and meminit().