函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\io_apic.c Create Date:2022-07-27 09:29:06
Last Modify:2020-03-16 21:24:45 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:clear_IO_APIC_pin

函数原型:static void clear_IO_APIC_pin(unsigned int apic, unsigned int pin)

返回类型:void

参数:

类型参数名称
unsigned intapic
unsigned intpin
550  entry等于ioapic_read_entry(apic, pin)
551  如果 000: FIXED * 001: lowest prio * 111: ExtINT恒等于dest_SMI则返回
558  如果 0: enabled, 1: disabled 恒等于IOAPIC_UNMASKED
559  0: enabled, 1: disabled 等于IOAPIC_MASKED
560  ioapic_write_entry(apic, pin, entry)
561  entry等于ioapic_read_entry(apic, pin)
564  如果irr
572  如果 0: edge, 1: level 恒等于IOAPIC_EDGE
576  raw_spin_lock_irqsave( & ioapic_lock, flags)
577  IO-APIC versions below 0x20 don't support EOI register
578  raw_spin_unlock_irqrestore( & ioapic_lock, flags)
585  When we mask an IO APIC routing entry, we need to write the low* word first, in order to set the mask bit before we change the* high bits!
586  entry等于ioapic_read_entry(apic, pin)
587  如果irr打印错误信息("Unable to reset IRR for apic: %d, pin :%d\n", mpc_ioapic_id(apic), pin)
调用者
名称描述
clear_IO_APIC
unlock_ExtINT_logicThis looks a bit hackish but it's about the only one way of sending* a few INTA cycles to 8259As and any associated glue logic
check_timerThis code may look a bit paranoid, but it's supposed to cooperate with* a wide range of boards and BIOS bugs. Fortunately only the timer IRQ* is so screwy. Thanks to Brian Perkins for testing/hacking this beast* fanatically on his truly buggy board.