*参照元 [#j0b9f2fe] #backlinks *説明 [#va7c5075] -パス: [[linux-4.4.1/arch/arm/include/asm/memory.h]] -FIXME: これは何? --説明 **引数 [#e380496d] -phys_addr_t x -- --[[linux-4.4.1/phys_addr_t]] **返り値 [#w3aa36bc] -unsigned long -- **参考 [#vc947671] *実装 [#a87f39c1] **CONFIG_ARM_PATCH_PHYS_VIRT 有効 [#u7d70d93] static inline unsigned long __phys_to_virt(phys_addr_t x) { unsigned long t; /* * 'unsigned long' cast discard upper word when * phys_addr_t is 64 bit, and makes sure that inline * assembler expression receives 32 bit argument * in place where 'r' 32 bit operand is expected. */ __pv_stub((unsigned long) x, t, "sub", __PV_BITS_31_24); - --[[linux-4.4.1/__pv_stub()]] --[[linux-4.4.1/__PV_BITS_31_24]] return t; } **CONFIG_ARM_PATCH_PHYS_VIRT 無効 [#q2595e40] static inline unsigned long __phys_to_virt(phys_addr_t x) { return x - PHYS_OFFSET + PAGE_OFFSET; - --[[linux-4.4.1/PHYS_OFFSET]] --[[linux-4.4.1/PAGE_OFFSET]] } *コメント [#qb0bddc5]