SuperH 接口指南¶
- 作者:
Paul Mundt
内存管理¶
SH-4¶
存储队列 API¶
-
void sq_flush_range(unsigned long start, unsigned int len)¶
刷新(预取)特定 SQ 范围
参数
unsigned long start
开始刷新的存储队列地址
unsigned int len
要刷新的长度
描述
以线性方式将存储队列缓存从 **start** 刷新到 **start** + **len**。
-
unsigned long sq_remap(unsigned long phys, unsigned int size, const char *name, pgprot_t prot)¶
通过存储队列映射物理地址
参数
unsigned long phys
映射的物理地址。
unsigned int size
映射的长度。
const char *name
调用映射的用户。
pgprot_t prot
保护位。
描述
通过下一个可用存储队列地址(长度为 **size**)重新映射物理地址 **phys**。**name** 会在引导时以及通过 sysfs 接口记录下来。
-
void sq_unmap(unsigned long vaddr)¶
取消映射存储队列分配
参数
unsigned long vaddr
预分配的存储队列映射。
描述
取消映射先前由 sq_remap()
创建的存储队列分配 **map**。同时释放之前插入内核页表的 pte 并丢弃 UTLB 转换。
机器特定接口¶
mach-dreamcast¶
参数
struct device *dev
RTC 设备(已忽略)
struct rtc_time *tm
指向结果 RTC 时间结构的指针
描述
获取当前 RTC 秒计数器并将其调整为 Unix Epoch。
参数
struct device *dev
RTC 设备(已忽略)
struct rtc_time *tm
指向新 RTC 时间结构的指针
描述
将给定的 **tv** 调整为 AICA Epoch 并设置 RTC 秒计数器。
mach-x3proto¶
-
int ilsel_enable(ilsel_source_t set)¶
启用 ILSEL 集。
参数
ilsel_source_t set
ILSEL 源(参见 include/asm-sh/ilsel.h 中的 ilsel_source_t 枚举)。
描述
在最高的可用中断级别启用给定的非别名 ILSEL 源(<= ILSEL_KEY)。调用者应注意按中断级别降序排列调用站点。别名 FPGA 和外部板 IRQ 需要使用 ilsel_enable_fixed()
。
返回值是一个 IRQ 号,之后可以通过 ilsel_disable()
禁用。
-
int ilsel_enable_fixed(ilsel_source_t set, unsigned int level)¶
在固定中断级别启用 ILSEL 集
参数
ilsel_source_t set
ILSEL 源(参见 include/asm-sh/ilsel.h 中的 ilsel_source_t 枚举)。
unsigned int level
中断级别 (1 - 15)
描述
在固定中断级别启用给定的 ILSEL 源。这对于级别保留以及仅存在于特殊 ILSEL# 上的别名源都是必需的。
返回一个 IRQ 号(与 ilsel_enable()
相同)。
-
void ilsel_disable(unsigned int irq)¶
禁用 ILSEL 集
参数
unsigned int irq
ILSEL 设置值的位位置(来自启用例程的返回值)
描述
禁用先前已启用的 ILSEL 集。
总线¶
Maple¶
-
int maple_driver_register(struct maple_driver *drv)¶
注册一个 maple 驱动程序
参数
struct maple_driver *drv
要注册的 maple 驱动程序。
描述
注册传入的 **drv**,同时更新总线类型。具有匹配功能 ID 的设备将自动被探测。
-
void maple_driver_unregister(struct maple_driver *drv)¶
注销一个 maple 驱动程序。
-
void maple_getcond_callback(struct maple_device *dev, void (*callback)(struct mapleq *mq), unsigned long interval, unsigned long function)¶
设置处理 MAPLE_COMMAND_GETCOND
参数
struct maple_device *dev
响应设备
void (*callback) (struct mapleq *mq)
处理程序回调
unsigned long interval
回调之间的 jiffies 间隔
unsigned long function
设备的函数代码
-
int maple_add_packet(struct maple_device *mdev, u32 function, u32 command, size_t length, void *data)¶
向 maple 总线队列添加单个指令
参数
struct maple_device *mdev
maple 设备
u32 function
正在查询设备上的功能
u32 command
要添加的 maple 命令
size_t length
命令字符串的长度(以 32 位字为单位)
void *data
命令字符串的其余部分