IRC channel logs

2021-03-27.log

back to list of logs

***Server sets mode: +nt
***Server sets mode: +nt
<damo22>ahcisata0 at pci0 dev 31 function 2: vendor 8086 product 2922 (rev. 0x02)
<damo22>irq handler [16]: new delivery port f5e92aa8 entry f55c4ec0
<damo22>HANG
<damo22>i just guessed the irq
<damo22>maybe i should just implement the ACPICA stuff now
<damo22>looks like qemu maps them 1:1 kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_IOAPIC, i);
<damo22>so 10 should have worked
<damo22>i dont know if the APIC pin 10 should be active high or low
<damo22>pin 10 0x000000000000803a dest=0 vec=58 active-hi level fixed physical
<damo22>my overrides should be working though
<damo22>what is the default polarity of PCI interrupts?
<damo22>jbgg: any idea?
<damo22>its not in the doc you gave me
<damo22> /* EISA is active-low for level-triggered interrupts */
<damo22>but what about pci
<damo22>ok its a timer interrupt issue
<damo22>it set GSI 50 to two pins
<damo22>i think youre not supposed to use APIC pin 0
<damo22>because i get intnull(2) a lot
<damo22>something is fishy with the timer interrupt, it fires on APIC pin 2 but when you set it up, you enable it on pin 0
<damo22>the GSI is the same on both pins with an override
<damo22>what happens if you set the GSI of the lapic timer to a value that has 2 mappings in the ioapic?
<damo22>i think it prevents an interrupt from occurring
<damo22>ok i got further, but the timer stops interrupting after 193 interrupts
***Emulatorman__ is now known as Emulatorman
<damo22>wd0: IDENTIFY failed
<damo22>getting further
<damo22>it seems like the interrupt is firing on 16 instead of 10 but i dont know because i havent implemented ACPICA yet
<damo22>i tried remapping it in rump to 16
<damo22>but it still did not work
<damo22>wd0 at atabus5 drive 0
<damo22>hang
<damo22>i disabled the EOI in the interrupt handler itself and made it wait until irq_acknowledge calls the eoi
<damo22>but it hangs
<damo22>i think the issue is there is no irq specific EOI
<damo22>so when you dont send the eoi broadcast, the timer gets stuck
<damo22>lol
<damo22>hmm but i added code that checks if its a timer interrupt and send the EOI