pci_io.h
来自「Uboot源代码,适合编写或修改Uboot的开发者」· C头文件 代码 · 共 44 行
H
44 行
/* originally from linux source (asm-ppc/io.h). * Sanity added by Rob Taylor, Flying Pig Systems, 2000 */#ifndef _PCI_IO_H_#define _PCI_IO_H_#include "io.h"#define pci_read_le16(addr, dest) \ __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (dest) : \ "r" (addr), "m" (*addr));#define pci_write_le16(addr, val) \ __asm__ __volatile__("sthbrx %1,0,%2" : "=m" (*addr) : \ "r" (val), "r" (addr));#define pci_read_le32(addr, dest) \ __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (dest) : \ "r" (addr), "m" (*addr));#define pci_write_le32(addr, val) \__asm__ __volatile__("stwbrx %1,0,%2" : "=m" (*addr) : \ "r" (val), "r" (addr));#define pci_readb(addr,b) ((b) = *(volatile u8 *) (addr))#define pci_writeb(b,addr) ((*(volatile u8 *) (addr)) = (b))#if !defined(__BIG_ENDIAN)#define pci_readw(addr,b) ((b) = *(volatile u16 *) (addr))#define pci_readl(addr,b) ((b) = *(volatile u32 *) (addr))#define pci_writew(b,addr) ((*(volatile u16 *) (addr)) = (b))#define pci_writel(b,addr) ((*(volatile u32 *) (addr)) = (b))#else#define pci_readw(addr,b) pci_read_le16((volatile u16 *)(addr),(b))#define pci_readl(addr,b) pci_read_le32((volatile u32 *)(addr),(b))#define pci_writew(b,addr) pci_write_le16((volatile u16 *)(addr),(b))#define pci_writel(b,addr) pci_write_le32((volatile u32 *)(addr),(b))#endif#endif /* _PCI_IO_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?