get_uos_loadoffset

名称

get_uos_loadoffset - uOS をロードすべきアドレスを取得する

書式

int
get_uos_loadoffset(
    uint8_t *  mmio_va,
    uint32_t * uos_load_offset);

引数

mmio_va
uOS をロードするアダプタのMMIOの仮想アドレス
uos_load_offset
取得したアドレスを格納する領域のアドレス

説明

引数 mmio_va で指定されたアダプタの、uOS をロードすべきアドレスを取得する。
取得したアドレスは、引数uos_load_offset が示す領域に格納する。
uOS をロードすべきアドレスはページ境界の 32 ビットアドレス。

ロードすべきアドレスの取得には、SBOX_SCRATCH2 レジスタを使用する。

戻り値

処理に成功した場合、引数 uos_load_offsetが示す領域に値を格納し、0 を返す。
そうでない場合、0 以外の値を返す。

とはいうものの、失敗するケースはない。

参照


実装

host/driver/uos_download.c
243 /*
244   DESCRIPTION:: gets uos load offset from scratch register 2
245   PARAMETERS::
246         [in]void *mmio_va - virtual address to access MMIO registers
247         [out]uint32_t *uos_load_offset - offset at which uos will be loaded
248   RETURN_VALUE:: 0 if successful, non-zero if failure
249 */
250 int
251 get_uos_loadoffset(uint8_t *mmio_va, uint32_t *uos_load_offset)
252 {
253         int status = 0;
254         uint32_t scratch2 = 0;
255
256         scratch2 = SBOX_READ(mmio_va, SBOX_SCRATCH2);
257         *uos_load_offset = SCRATCH2_DOWNLOAD_ADDR(scratch2);
258         return status;
259  }
最終更新:2012年11月11日 20:32