请教register unsigned long int

君,已阅读到文档的结尾了呢~~
实务专题报告1实务,报告,1,专题报告,实务专题,会计实务
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
实务专题报告1
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分2 积分51阅读权限10帖子精华可用积分51 信誉积分110 专家积分0 在线时间119 小时注册时间最后登录
白手起家, 积分 51, 距离下一级还需 149 积分
帖子主题精华可用积分51 信誉积分110 专家积分0 在线时间119 小时注册时间最后登录
论坛徽章:0
我现在有个驱动程序,例如叫example.c,编译后是ex.ko。现在我想在这个驱动程序里处理当系统发生关机(poweroff)的事件,我该如何设计,这个关机事件,有可能是用户敲的命令。
我该如何在我这个驱动程序里捕获这个poweroff事件,然后进行相应的处理,然后关机呢????
谢谢。请大家提供个思路或者方法,有小例子更好。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分2 积分51阅读权限10帖子精华可用积分51 信誉积分110 专家积分0 在线时间119 小时注册时间最后登录
白手起家, 积分 51, 距离下一级还需 149 积分
帖子主题精华可用积分51 信誉积分110 专家积分0 在线时间119 小时注册时间最后登录
论坛徽章:0
UID空间积分0 积分82阅读权限10帖子精华可用积分82 信誉积分80 专家积分0 在线时间74 小时注册时间最后登录
白手起家, 积分 82, 距离下一级还需 118 积分
帖子主题精华可用积分82 信誉积分80 专家积分0 在线时间74 小时注册时间最后登录
论坛徽章:0
会不会和电源管理部分有关,我瞎猜的。
UID空间积分0 积分10阅读权限10帖子精华可用积分10 信誉积分106 专家积分0 在线时间20 小时注册时间最后登录
白手起家, 积分 10, 距离下一级还需 190 积分
帖子主题精华可用积分10 信誉积分106 专家积分0 在线时间20 小时注册时间最后登录
论坛徽章:0
看看内核通知链关机部分,关机部分应该有“关机通知链”,有的话只要在你自己的模块中用链注册函数注册到这个链中就OK了
UID空间积分0 积分10阅读权限10帖子精华可用积分10 信誉积分106 专家积分0 在线时间20 小时注册时间最后登录
白手起家, 积分 10, 距离下一级还需 190 积分
帖子主题精华可用积分10 信誉积分106 专家积分0 在线时间20 小时注册时间最后登录
论坛徽章:0
刚才看了看源码,在power.c中power_exit()时那个通知链就是你需要注册进去的
UID空间积分0 积分122阅读权限10帖子精华可用积分122 信誉积分12 专家积分0 在线时间52 小时注册时间最后登录
白手起家, 积分 122, 距离下一级还需 78 积分
帖子主题精华可用积分122 信誉积分12 专家积分0 在线时间52 小时注册时间最后登录
论坛徽章:0
注册通知事件,linux支持的通知事件有以下几种(include/linux/notifier.h):
#define SYS_DOWN& & & & 0x0001& & & & /* Notify of system down */
#define SYS_RESTART& & & & SYS_DOWN
#define SYS_HALT& & & & 0x0002& & & & /* Notify of system halt */
#define SYS_POWER_OFF& & & & 0x0003& & & & /* Notify of system power off */
下面给你个参考代码:
static int example_notifier_call(struct notifier_block *this, unsigned long code, void *_cmd)
& & & & int mode = 0;
& & & & if (code == SYS_RESTART)
& && && && && &{
& && && && && && &&&... ...
& && && && && &}
& & & & else if (code == SYS_POWER_OFF)
& && && && && & {
& && && && && && &&&... ...
& && && && && &}
& & & & return NOTIFY_DONE;
static struct notifier_block example_reboot_notifier = {
& & & & .notifier_call = example_notifier_call,
UID空间积分0 积分122阅读权限10帖子精华可用积分122 信誉积分12 专家积分0 在线时间52 小时注册时间最后登录
白手起家, 积分 122, 距离下一级还需 78 积分
帖子主题精华可用积分122 信誉积分12 专家积分0 在线时间52 小时注册时间最后登录
论坛徽章:0
下面的函数用于注册通知
/* register rnotifier*/
register_reboot_notifier(&example_reboot_notifier);2521人阅读
C基础(4)
linux(29)
最近在做uboot中nand启动相关的工作,遇到一个问题一直纠结着。现在终于明白了这个问题,想想还有好多兄弟在某个黑暗的角落里或者某台电脑前纠结着呢,所以赶紧写下来以供查阅。
uboot version 2014.4
/* Architecture-specific global data */
struct arch_global_data {
#if defined(CONFIG_FSL_ESDHC)
#ifdef CONFIG_AT91FAMILY
/* &static data& needed by at91's clock.c */
unsigned long
cpu_clk_rate_
unsigned long
main_clk_rate_
unsigned long
unsigned long
plla_rate_
unsigned long
pllb_rate_
unsigned long
at91_pllb_usb_
/* &static data& needed by most of timer.c on ARM platforms */
unsigned long timer_rate_
unsigned long long timer_reset_
#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
unsigned long tlb_
unsigned long tlb_
#ifdef CONFIG_OMAP
struct omap_boot_parameters omap_boot_
#include &asm-generic/global_data.h&
#ifdef CONFIG_ARM64
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm (&x18&)
#define DECLARE_GLOBAL_DATA_PTR
register volatile gd_t *gd asm (&r9&)
从这里看到了gd的定义,并且可以知道气质这个结构体的定义是在:#include &asm-generic/global_data.h&这个目录下。
那么就去这个目录下添加一个私有变量使得在后续的使用过程中更加方便吧!!!!!!!!!!!
typedef struct global_data {
unsigned long cpu_
/* CPU clock in Hz! */
unsigned long bus_
/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */
unsigned long pci_
unsigned long mem_
#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)
unsigned long fb_
/* Base address of framebuffer mem */
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_ &/* Record POST activities */
unsigned long post_log_ /* success of POST test */
unsigned long post_init_f_ &/* When post_init_f started */
#ifdef CONFIG_BOARD_TYPES
unsigned long board_
unsigned long have_
/* serial_init() was called */
#ifdef CONFIG_PRE_CONSOLE_BUFFER
unsigned long precon_buf_
/* Pre-Console buffer index */
#ifdef CONFIG_MODEM_SUPPORT
unsigned long do_mdm_
unsigned long be_
unsigned long env_
/* Address &of Environment struct */
unsigned long env_
/* Checksum of Environment valid? */
unsigned long ram_
/* Top address of RAM used by U-Boot */
/* Start address of U-Boot in RAM */
phys_size_t ram_
/* RAM size */
unsigned long mon_
/* monitor len */
unsigned long irq_
/* irq stack pointer */
unsigned long start_addr_
/* start_addr_stackpointer */
unsigned long reloc_
struct global_data *new_
/* relocated global data */
#ifdef CONFIG_DM
struct device
*dm_ /* Root instance for Driver Model */
struct list_head uclass_
/* Head of core tree */
const void *fdt_
/* Our device tree, NULL if none */
void *new_
/* Relocated FDT */
unsigned long fdt_
/* Space reserved for relocated FDT */
/* jump table */
char env_buf[32];
/* buffer for getenv() before reloc. */
#ifdef CONFIG_TRACE
void *trace_
/* The trace buffer */
#if defined(CONFIG_SYS_I2C)
int cur_i2c_
/* current used i2c bus */
unsigned long timebase_h;
unsigned long timebase_l;
struct arch_global_
/* architecture-specific data */
#ifdef CONFIG_xxxxx & //此处随便x
/* point to the private data */
在使用的过程中包含头文件,就可以使用了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:320070次
积分:4006
积分:4006
排名:第5233名
原创:92篇
评论:62条
谨此声明:本人目前的博客内容还有点混乱,但是本人在不断的修正中。
(1)(6)(1)(2)(1)(1)(2)(3)(1)(5)(1)(10)(3)(5)(4)(7)(5)(1)(3)(2)(1)(2)(1)(4)(4)(6)(15)请问register unsigned long __res asm (&ax&);是什么意思? 这段语句前面是定义了一个寄存器变量,后面的asm & ( &ax &)是什么意思呢?是指把这个变量放入ax吗?--------------------------------------------------------------不同器对语法支持不一样,只是理论上,统一楼上操作系统课设_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
操作系统课设
上传于||文档简介
&&武​汉​理​工​大​学
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩24页未读,继续阅读
你可能喜欢}

我要回帖

更多关于 printf unsigned long 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信