函数逻辑报告 |
Source Code:arch\x86\lib\insn-eval.c |
Create Date:2022-07-27 08:24:37 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:sn_get_seg_base() - Obtain base address of segment descriptor
函数原型:unsigned long insn_get_seg_base(struct pt_regs *regs, int seg_reg_idx)
返回类型:unsigned long
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct pt_regs * | regs | |
| int | seg_reg_idx |
| 639 | 如果sel小于0则返回:负1L |
| 642 | 如果v8086_mode(regs)则返回:sel左移4位 |
| 649 | 如果user_64bit_mode(regs)则 |
| 656 | 如果seg_reg_idx恒等于INAT_SEG_REG_FS则rdmsrl(64bit FS base , base) |
| 658 | 否则如果seg_reg_idx恒等于INAT_SEG_REG_GS则rdmsrl(SwapGS GS shadow , base) |
| 664 | 否则base等于0 |
| 666 | 返回:base |
| 670 | 如果非sel则返回:负1L |
| 676 | 返回:get_desc_base( & desc) |
| 名称 | 描述 |
|---|---|
| get_seg_base_limit | get_seg_base_limit() - obtain base address and limit of a segment*@insn: Instruction |
| fixup_umip_exception | xup_umip_exception() - Fixup a general protection fault caused by UMIP*@regs: Registers as saved when entering the #GP handler* The instructions SGDT, SIDT, STR, SMSW and SLDT cause a general protection* fault if executed with CPL > 0 (i |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |