函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\traps.c Create Date:2022-07-27 08:31:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:In IST context, we explicitly disable preemption. This serves two* purposes: it makes it much less likely that we would accidentally* schedule in IST context and it will force a warning if we somehow* manage to schedule by accident.

函数原型:void ist_enter(struct pt_regs *regs)

返回类型:void

参数:

类型参数名称
struct pt_regs *regs
92  如果ser_mode(regs) determines whether a register set came from user* mode
93  RCU_LOCKDEP_WARN(!_is_watching - see if RCU thinks that the current CPU is not idle* Return true if RCU is watching the running CPU, which means that this* CPU can safely enter RCU read-side critical sections, "entry code didn't wake RCU")
94  否则
101  rcu_nmi_enter()
104  禁止抢占()
107  RCU_LOCKDEP_WARN(!_is_watching - see if RCU thinks that the current CPU is not idle* Return true if RCU is watching the running CPU, which means that this* CPU can safely enter RCU read-side critical sections, "ist_enter didn't work")
调用者
名称描述
do_double_faultRuns on an IST stack for x86_64 and on a special task stack for x86_32.* On x86_64, this is more or less a normal kernel entry. Notwithstanding the* SDM's warnings about double faults being unrecoverable, returning works as* expected
do_int3
do_debugOur handling of the processor debug registers is non-trivial.* We do not clear them on entry and exit from the kernel. Therefore* it is possible to get a watchpoint trap here from inside the kernel.* However, the code in
do_machine_checkThe actual machine check handler. This only handles real* exceptions when something got corrupted coming in through int 18.* This is executed in NMI context not subject to normal locking rules. This* implies that most kernel services cannot be safely used
winchip_machine_checkMachine check handler for WinChip C6:
pentium_machine_checkMachine check handler for Pentium class Intel CPUs: