アットウィキロゴ

set_uos_reserved_size

名称

set_uos_reserved_size - uOS 用予約領域サイズの設定

書式

int
set_uos_reserved_size(
    uint8_t * mmio_va,
    uint32_t  uos_reseved_size);

引数

mmio_va
MMIO の仮想アドレス
uos_reserved_size
uOS 用予約領域のサイズ

説明

引数 mmio_va で指定されたカードに、引数 uos_reserved_size で指定された uOS 用予約領域サイズを設定する。
設定値を利用するのは uOS。

設定には、SBOX_SCRATCH3 レジスタを使用する。

戻り値

処理に成功した場合、0 を返す。
そうでない場合、0 以外の値を返す。

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

参照


実装

host/driver/uos_download.c
368 /*
369  DESCRIPTION:: Programs a scratch register that the uOS reads to determine how
370                          much memory to reserve.
371  PARAMETERS::
372    [in]void *mmio_va - virtual address to mmio register,
373    [in]uint32_t uos_reserved_size - size of memory to be reserved by uos.
374  RETURN_VALUE:: 0 if successful, non-zero if failure
375 */
376 int
377 set_uos_reserved_size(uint8_t *mmio_va, uint32_t uos_reserved_size)
378 {
379         int status = 0;
380         uint32_t scratch3;
381
382         scratch3 = uos_reserved_size;
383
384         // XPU_RACE_CONDITION: write to MMIO space is uncached and flushes WC buffers
385         SBOX_WRITE(scratch3, mmio_va, SBOX_SCRATCH3);
386
387         return status;
388 }
最終更新:2012年11月18日 04:22