Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\io_apic.c Create Date:2022-07-28 08:30:21
Last Modify:2020-03-16 21:24:45 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:This 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

Proto:static inline void __init unlock_ExtINT_logic(void)

Type:void

Parameter:Nothing

2044  pin = Find the pin to which IRQ[irq] (ISA) is connected
2045  If pin == -1 Then
2046  WARN_ON_ONCE(1)
2047  Return
2049  apic = find_isa_irq_apic(8, mp_INT)
2050  If apic == -1 Then
2051  WARN_ON_ONCE(1)
2052  Return
2055  entry0 = ioapic_read_entry(apic, pin)
2056  clear_IO_APIC_pin(apic, pin)
2058  memset( & entry1, 0, size of entry1 )
2060  0: physical, 1: logical = IOAPIC_DEST_MODE_PHYSICAL
2061  0: enabled, 1: disabled = IOAPIC_UNMASKED
2062  dest = hard_smp_processor_id()
2063  000: FIXED * 001: lowest prio * 111: ExtINT = dest_ExtINT
2064  polarity = polarity
2065  0: edge, 1: level = IOAPIC_EDGE
2066  vector = 0
2068  ioapic_write_entry(apic, pin, entry1)
2070  save_control = The yet supported machines all access the RTC index register via* an ISA port access but the way to access the date register differs ...(RTC_CONTROL)
2071  save_freq_select = The yet supported machines all access the RTC index register via* an ISA port access but the way to access the date register differs ...(gister details)
2072  CMOS_WRITE((save_freq_select & ~Periodic intr. / Square wave rate select. 0=none, 1=32.8kHz,... 15=2Hz ) | 0x6, gister details)
2074  CMOS_WRITE(save_control | periodic interrupt enable , RTC_CONTROL)
2076  i = 100
2077  When i-- > 0 cycle
2078  mdelay(10)
2079  If (The yet supported machines all access the RTC index register via* an ISA port access but the way to access the date register differs ...(RTC_INTR_FLAGS) & RTC_PF) == RTC_PF Then i -= 10
2083  CMOS_WRITE(save_control, RTC_CONTROL)
2084  CMOS_WRITE(save_freq_select, gister details)
2085  clear_IO_APIC_pin(apic, pin)
2087  ioapic_write_entry(apic, pin, entry0)
Caller
NameDescribe
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.