函数逻辑报告 |
Source Code:arch\x86\kernel\vm86_32.c |
Create Date:2022-07-27 09:40:53 |
Last Modify:2022-05-22 10:11:03 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:There are so many possible reasons for this function to return* VM86_INTx, so adding another doesn't bother me. We can expect* userspace programs to be able to handle it. (Getting a problem* in userspace is always better than an Oops anyway.) [KD]
函数原型:static void do_int(struct kernel_vm86_regs *regs, int i, unsigned char __user *ssp, unsigned short sp)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct kernel_vm86_regs * | regs | |
int | i | |
unsigned char __user * | ssp | |
unsigned short | sp |
543 | 如果cs恒等于BIOSSEG则转到:cannot_handle |
545 | 如果is_revectored(i, & int_revectored)则转到:cannot_handle |
547 | 如果i恒等于0x21且is_revectored(AH(regs), & int21_revectored)则转到:cannot_handle |
550 | 如果Careful: we have to cast the result to the type of the pointer* for sign reasons(segoffs, intr_ptr)则转到:cannot_handle |
552 | 如果segoffs右移16位恒等于BIOSSEG则转到:cannot_handle |
554 | pushw(ssp, sp, get_vflags(regs), cannot_handle) |
555 | pushw(ssp, sp, cs, cannot_handle) |
563 | 返回 |
565 | cannot_handle : |
566 | save_v86_state(regs, 3/int x instruction (ARG = x) + (i << 8)) |
名称 | 描述 |
---|---|
handle_vm86_trap | |
handle_vm86_fault |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |