このページを編集する際は、編集に関する方針に従ってください。

概要

  • linux2.6/drivers/base/map.c?にて定義
  • kオブジェクトマッピングドメインを初期化する

引数

  • base_probe--所有者を取得する関数へのポインタ
  • lock--kオブジェクトマップのロック用変数

実装

struct kobj_map *kobj_map_init(kobj_probe_t *base_probe, struct mutex *lock) {

	struct kobj_map *p = kmalloc(sizeof(struct kobj_map), GFP_KERNEL);
  • kオブジェクトマップを汎用キャッシュから確保する
    • 詳細はkmalloc()/linux2.6を参照
      	
      	struct probe *base = kzalloc(sizeof(*base), GFP_KERNEL);
  • probeオブジェクトを汎用キャッシュから確保する
    • 詳細はkzalloc()/linux2.6?を参照
      	
      	int i;
	if ((p == NULL) || (base == NULL)) {
		kfree(p);
		kfree(base);
		return NULL;
	}
  • 確保に失敗した場合は開放してNULLを返す
    • 詳細はkfree()/linux2.6を参照
      	
      	base->dev = 1;
      	base->range = ~0;
      	base->get = base_probe;
      	
      	for (i = 0; i < 255; i++)
      		p->probes[i] = base;
  • kオブジェクトマップのprobesをbaseで初期化する
	p->lock = lock;
	return p;

}

呼出元


履歴

  • 作者:るくす?
  • 日付:2015/5/15
  • 対象:2.6.15
    更新日更新者更新内容

コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-05-15 (金) 17:27:44 (743d)