Most of the core already treated interrupts as unsigned. Adjust the x86
core to match this. This also fixes a few bugs.
Bit of overlap with D31957 here.
There is an interaction with D30648 in it was planned to make the vectors used by the Xen code unsigned anyway. Depending on which gets in first, either could potentially do this.
I think I made all the needed adjustments to sys/x86/x86/io_apic.c. I'm rather worried there could be additional similar changes needed elsewhere that I missed. Given what some of this is like, I would be rather tempted to enable -Wsign-compare and see how much gets flagged.
The next phase would be to convert ioapic_get_vector() to return u_int and push unsigned integers into that area.
I noticed, that is why all the comparisons for io_irq >= 0 were converted to io_irq < num_io_irqs and similar for io_irq < 0 => io_irq >= num_io_irqs.