Function report |
Source Code:arch\x86\kernel\umip.c |
Create Date:2022-07-28 08:50:34 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:mulate_umip_insn() - Emulate UMIP instructions and return dummy values*@insn: Instruction structure with operands*@umip_inst: A constant indicating the instruction to emulate*@data: Buffer into which the dummy result is stored*@data_size: Size of the
Proto:static int emulate_umip_insn(struct insn *insn, int umip_inst, unsigned char *data, int *data_size, bool x86_64)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct insn * | insn | |
int | umip_inst | |
unsigned char * | data | |
int * | data_size | |
bool | x86_64 |
220 | dummy_limit = 0 |
223 | If X86_MODRM_MOD(value) == 3 Then Return -EINVAL |
228 | Else dummy_base_addr = UMIP_DUMMY_IDT_BASE |
239 | Else data_size = UMIP_GDT_IDT_BASE_SIZE_32BIT |
242 | memcpy(data + 2, & dummy_base_addr, * data_size) |
244 | data_size += UMIP_GDT_IDT_LIMIT_SIZE |
245 | memcpy(data, & dummy_limit, UMIP_GDT_IDT_LIMIT_SIZE) |
248 | dummy_value = CR0_STATE |
258 | If X86_MODRM_MOD(value) == 3 Then data_size = opnd_bytes |
260 | Else data_size = 2 |
263 | memcpy(data, & dummy_value, * data_size) |
265 | Else |
266 | Return -EINVAL |
269 | Return 0 |
Name | Describe |
---|---|
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 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |