io.h
来自「linux 内核源代码」· C头文件 代码 · 共 58 行
H
58 行
#ifndef __UM_IO_H#define __UM_IO_H#include "asm/page.h"#define IO_SPACE_LIMIT 0xdeadbeef /* Sure hope nothing uses this */static inline int inb(unsigned long i) { return(0); }static inline void outb(char c, unsigned long i) { }/* * Change virtual addresses to physical addresses and vv. * These are pretty trivial */static inline unsigned long virt_to_phys(volatile void * address){ return __pa((void *) address);}static inline void * phys_to_virt(unsigned long address){ return __va(address);}/* * Convert a physical pointer to a virtual kernel pointer for /dev/mem * access */#define xlate_dev_mem_ptr(p) __va(p)/* * Convert a virtual cached pointer to an uncached pointer */#define xlate_dev_kmem_ptr(p) pstatic inline void writeb(unsigned char b, volatile void __iomem *addr){ *(volatile unsigned char __force *) addr = b;}static inline void writew(unsigned short b, volatile void __iomem *addr){ *(volatile unsigned short __force *) addr = b;}static inline void writel(unsigned int b, volatile void __iomem *addr){ *(volatile unsigned int __force *) addr = b;}static inline void writeq(unsigned int b, volatile void __iomem *addr){ *(volatile unsigned long long __force *) addr = b;}#define __raw_writeb writeb#define __raw_writew writew#define __raw_writel writel#define __raw_writeq writeq#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?