SOLID独自の型¶
SOLID-OSでは、以下の独自の型およびエラーコードを使用します。
SOLID-OS独自の定義は、solid_type.h
にあります。
#include "solid_type.h"
エラーコード¶
-
SOLID_ERR_OK¶
-
SOLID_ERR_PAR¶
-
SOLID_ERR_MACV¶
-
SOLID_ERR_NOMEM¶
-
SOLID_ERR_NORES¶
-
SOLID_ERR_NOTFOUND¶
-
SOLID_ERR_NOTSUPPORTED¶
-
SOLID_ERR_EBADF¶
-
SOLID_ERR_NOTUSED¶
-
SOLID_ERR_ALREADYUSED¶
-
SOLID_ERR_OUTOFBOUND¶
-
SOLID_ERR_BADSEQUENCE¶
-
SOLID_ERR_UNKNOWNDEVICE¶
-
SOLID_ERR_BUSY¶
-
SOLID_ERR_TIMEOUT¶
-
SOLID_ERR_INVALIDACCESS¶
-
SOLID_ERR_NOTREADY¶
定数
名前
値
説明
SOLID_ERR_OK
0
正常終了
SOLID_ERR_PAR
-17
パラメータエラー
SOLID_ERR_MACV
-26
メモリアクセス違反
SOLID_ERR_NOMEM
-33
メモリ不足
SOLID_ERR_NORES
-35
リソース不足
SOLID_ERR_NOTFOUND
-1000
操作対象が見つからない
SOLID_ERR_NOTSUPPORTED
-1001
対象の環境では非サポート
SOLID_ERR_EBADF
-1002
書き込み/読み込み属性と要求が不整合
SOLID_ERR_INVALIDCONTENT
-1003
データ構造が想定通りでない、壊れている
SOLID_ERR_NOTUSED
-1004
操作する対象は使われていない(無効である)
SOLID_ERR_ALREADYUSED
-1005
(確保しようとしたものは)既に使用中である
SOLID_ERR_OUTOFBOUND
-1006
(引数が大きすぎる/小さすぎるため)範囲外をアクセスしようとした
SOLID_ERR_BADSEQUENCE
-1007
処理中のシーケンスで異常が発生した
SOLID_ERR_UNKNOWNDEVICE
-1008
不明なデバイスである
SOLID_ERR_BUSY
-1009
(前の作業がまだ実行中のため)ビジー中 (後で再度試せば成功する可能性がある)
SOLID_ERR_TIMEOUT
-1010
処理がタイムアウトした。(処理は失敗している可能性が高い)
SOLID_ERR_INVALIDACCESS
-1011
アクセス方法に不整合がある
SOLID_ERR_NOTREADY
-1012
(初期化等が終了しておらず)処理ができない
SOLID_ADDRESS¶
-
typedef uint32_t SOLID_ADDRESS¶
説明
SOLIDで使用する仮想アドレスの型 (AArch32時は
uint32_t
, AArch64時はuint64_t
)定義
typedef uint32_t SOLID_ADDRESS;
SOLID_PHYADDRESS¶
-
typedef uint32_t SOLID_PHYADDRESS¶
説明
SOLIDで使用する物理アドレスの型 (AArch32時は
uint32_t
, LPAE使用時およびAArch64時はuint64_t
)定義
typedef uint32_t SOLID_PHYADDRESS;
SOLID_REGISTER¶
-
typedef uint32_t SOLID_REGISTER¶
説明
SOLIDで使用するレジスタの型 (AArch32時は
uint32_t
, AArch64時はuint64_t
)定義
typedef uint32_t SOLID_REGISTER;
SOLID_CPU_CONTEXT¶
-
typedef struct _SOLID_CPU_CONTEXT_ SOLID_CPU_CONTEXT¶
-
struct _SOLID_CPU_CONTEXT_¶
説明
SOLIDで使用するコンテキスト情報(割り込みやタイマで使用)
定義
/* AArch32時 */ typedef struct _SOLID_CPU_CONTEXT_ { SOLID_REGISTER rarm[16]; SOLID_REGISTER cpsr; struct _SOLID_CPU_CONTEXT_* pNest; SOLID_FPU_CONTEXT* pFPU; } SOLID_CPU_CONTEXT; /* AArch64時 */ typedef struct _SOLID_CPU_CONTEXT_ { SOLID_REGISTER xarm[31]; SOLID_REGISTER sp; SOLID_REGISTER pc; SOLID_REGISTER32 pstate; SOLID_REGISTER32 spsel; struct _SOLID_CPU_CONTEXT_* pNest; SOLID_FPU_CONTEXT* pFPU; } SOLID_CPU_CONTEXT;
メンバー
-
SOLID_REGISTER rarm[16]¶
-
SOLID_REGISTER cpsr¶
汎用レジスタ r0-r15, cpsrレジスタ(AArch32時)
-
SOLID_REGISTER xarm[31]¶
-
SOLID_REGISTER sp¶
-
SOLID_REGISTER pc¶
-
SOLID_REGISTER32 pstate¶
-
SOLID_REGISTER32 spsel¶
汎用レジスタ r0-r30, sp, pc, pstate, spselレジスタS (AArch64時)
-
struct _SOLID_CPU_CONTEXT_ *pNest¶
多重割り込みの場合、その割り込み元のコンテキスト情報へのポインタ
-
SOLID_FPU_CONTEXT *pFPU¶
FPUのレジスタ情報へのポインタ
-
SOLID_REGISTER rarm[16]¶