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

📄 io.h

📁 linux-2.6.15.6
💻 H
字号:
/* * linux/include/asm-arm/arch-shark/io.h * * by Alexander Schulz * * derived from: * linux/include/asm-arm/arch-ebsa110/io.h * Copyright (C) 1997,1998 Russell King */#ifndef __ASM_ARM_ARCH_IO_H#define __ASM_ARM_ARCH_IO_H#include <asm/hardware.h>#define IO_SPACE_LIMIT 0xffffffff/* * We use two different types of addressing - PC style addresses, and ARM * addresses.  PC style accesses the PC hardware with the normal PC IO * addresses, eg 0x3f8 for serial#1.  ARM addresses are 0x80000000+ * and are translated to the start of IO. */#define __PORT_PCIO(x)	(!((x) & 0x80000000))#define __io(a)                 ((void __iomem *)(PCIO_BASE + (a)))static inline unsigned int __ioaddr (unsigned int port)			\{										\	if (__PORT_PCIO(port))							\		return (unsigned int)(PCIO_BASE + (port));			\	else									\		return (unsigned int)(IO_BASE + (port));			\}#define __mem_pci(addr) (addr)/* * Translated address IO functions * * IO address has already been translated to a virtual address */#define outb_t(v,p)								\	(*(volatile unsigned char *)(p) = (v))#define inb_t(p)								\	(*(volatile unsigned char *)(p))#define outl_t(v,p)								\	(*(volatile unsigned long *)(p) = (v))#define inl_t(p)								\	(*(volatile unsigned long *)(p))#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -