函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |