Mercurial > hg > Game > Atoc
view include/hvcalls/ppe.h @ 0:42f240cc4bc6
From: 太田 篤志 <atoc@namikilab.tuat.ac.jp>
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Sep 2009 13:44:18 +0900 |
parents | |
children |
line wrap: on
line source
/** * hvcalls/ppe.h * PPE 関連のハイパーバイザコール詰め合わせ */ #ifndef HVCALLS__PPE_H #define HVCALLS__PPE_H #include <asm/lv1call.h> #include "common.h" //---------------------------------------------------------------------------------------------------- hvc_get_lpar_id() /** * hvc_get_lpar_id (74:lv1_get_logical_partition_id) * 呼び出し元の論理 PPE が属する論理パーティション識別子を返す * * @param HVC_u64 *lpar_id [OUT] 論理パーティション識別子 * @return void * @static * @inline */ static inline void hvc_get_lpar_id(HVC_u64 *const lpar_id) { lv1_get_logical_partition_id(lpar_id); HVCALLS_PRINT_VALUE_U64("lv1_get_logical_partition_id", *lpar_id); } //----------------------------------------------------------------------------------------------------- hvc_get_ppe_id() /** * hvc_get_ppe_id (69:lv1_get_logical_ppe_id) * 呼び出し元の論理 PPE 識別子を返す * * @param HVC_u64 *ppe_id [OUT] 論理 PPE 識別子 * @return void * @static * @inline */ static inline void hvc_get_ppe_id(HVC_u64 *const ppe_id) { lv1_get_logical_ppe_id(ppe_id); HVCALLS_PRINT_VALUE_U64("lv1_get_logical_ppe_id", *ppe_id); } //----------------------------------------------------------------------------------------------------- hvc_get_vas_id() /** * hvc_get_vas_id (4:lv1_get_virtual_address_space_id_of_ppe) * 呼び出し元の論理 PPE に割り当てられている仮想アドレス空間識別子を返す * * vas_id = 0 の場合は論理 PPE に仮想アドレス空間が割り当てられていない。 * このときハイパーバイザコールは失敗とはならないが、 * この関数では vas_id = 0 の場合に !0 (失敗) を返すようになっている。 * * @param HVC_u64 ppe_id [IN] 論理 PPE 識別子 * @param HVC_u64 *vas_id [OUT] 仮想アドレス空間識別子 * @return int 0...成功, not 0...失敗 * @static * @inline */ static inline int hvc_get_vas_id(const HVC_u64 ppe_id, HVC_u64 *const vas_id) { lv1_get_virtual_address_space_id_of_ppe(ppe_id, vas_id); HVCALLS_PRINT_VALUE_U64("lv1_get_virtual_address_space_id_of_ppe", *vas_id); if (!(*vas_id)) HVCALLS_PRINT_ERR("lv1_get_virtual_address_space_id_of_ppe FAILED.", *vas_id); return !(int)(*vas_id); } #endif /*HVCALLS__PPE_H*/