Function report |
Source Code:arch\x86\kernel\vm86_32.c |
Create Date:2022-07-28 08:41:42 |
| Last Modify:2022-05-22 10:11:03 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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]
Proto:static void do_int(struct kernel_vm86_regs *regs, int i, unsigned char __user *ssp, unsigned short sp)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct kernel_vm86_regs * | regs | |
| int | i | |
| unsigned char __user * | ssp | |
| unsigned short | sp |
| 543 | If cs == BIOSSEG Then Go to cannot_handle |
| 545 | If is_revectored(i, & int_revectored) Then Go to cannot_handle |
| 547 | If i == 0x21 && is_revectored(AH(regs), & int21_revectored) Then Go to cannot_handle |
| 550 | If Get a simple variable from user space(segoffs, intr_ptr) Then Go to cannot_handle |
| 552 | If segoffs >> 16 == BIOSSEG Then Go to cannot_handle |
| 554 | pushw(ssp, sp, get_vflags(regs), cannot_handle) |
| 555 | pushw(ssp, sp, cs, cannot_handle) |
| 563 | Return |
| 565 | cannot_handle : |
| 566 | save_v86_state(regs, 3/int x instruction (ARG = x) + (i << 8)) |
| Name | Describe |
|---|---|
| handle_vm86_trap | |
| handle_vm86_fault |
| 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 |