Linuxのテストケースを見ました。mmap
次のようにテストします。
#define HIGH_ADDR (void *)(0x1000000000000)
addr = mmap(HIGH_ADDR, map_sz, PROT_READ,
MAP_SHARED | MAP_FIXED, fildes, 0);
その場合、PPC64で、期待される結果はerrnoを取得しますENOMEM
。
しかし、PPC64での実際の結果はerrnoになります。とにかく、それはX86_64arch
でうまく機能します。PPC64に十分なメモリが割り当てられていない可能性があります。だから、私はの定義を次のように変更しようとします:
しかし、それでも。
PPC64用のLinuxが彼のメモリをどのように管理しているかを知りたいだけです。つまり、ユーザースペースプログラムのメモリ地理を知りたいのです。または、MAXアドレスは何を使用する必要がありますか。Invalid argument
HIGH_ADDR
#define HIGH_ADDR (void *)(0x7FFFFFFFFFF)
Invalid argument