***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>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>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> /* EISA is active-low for level-triggered interrupts */ <damo22>i think youre not supposed to use APIC pin 0 <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>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>i disabled the EOI in the interrupt handler itself and made it wait until irq_acknowledge calls the eoi <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>hmm but i added code that checks if its a timer interrupt and send the EOI