名称
notify_uosboot - uOS を起動させる
書式
int
notify_uosboot(
mic_ctx_t * mic_ctx,
uint32_t uos_size);
引数
- mic_ctx
- uOS を起動するカードの context
- uos_size
- 起動する uOS イメージのサイズ
説明
引数 mic_ctx で指定されたカードの uOS を起動させる。
起動する uOS のイメージは、呼び出し元が転送しておく必要がある。
uOS の起動前に、引数 uos_size で指定された uOS のイメージサイズと、
計算した uOS 用の予約領域のサイズをカードに設定する。
戻り値
処理に成功した場合、0 を返す。
そうでない場合、0 以外の値を返す。
参照
実装
649 /*
650 DESCRIPTION:: method responsible for programming scratch register with uos image size
651 and notifying bootstrap to start booting uos
652 PARAMETERS::
653 [in]mic_ctx_t *mic_ctx - mic context
654 [in]uint32_t uos_size - size of uos image
655 */
656 int
657 notify_uosboot(mic_ctx_t *mic_ctx, uint32_t uos_size)
658 {
659 int status = 0;
660 uint32_t adapter_memsize = 0;
661 uint32_t uos_reserved_size = 0;
662 uint8_t* mmio_va = mic_ctx->mmio.va;
663
664 // Program the register with uOS image size for bootstrap
665 [[set_uos_size]](mmio_va, uos_size);
666
667 [[get_adapter_memsize]](mmio_va, &adapter_memsize);
668
669 // Program the register to inform the uOS of how much space to reserve
670 status = [[get_uos_reserved_size]](mmio_va, adapter_memsize, &uos_reserved_size);
671 [[set_uos_reserved_size]](mmio_va, uos_reserved_size);
672
673 mic_send_intr(mic_ctx);
674
675 return status;
676 }
最終更新:2012年11月18日 14:52