⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci_io.h

📁 linux下的BOOT程序原码,有需要的可以来下,保证好用
💻 H
字号:
/* 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -