アットウィキロゴ

notify_uosboot

名称

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 以外の値を返す。

参照


実装

host/driver/uos_download.c
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