Most of the core already treated interrupts as unsigned. Adjust the x86
core to match this. This also fixes a few bugs.
- rS FreeBSD src repository - subversion
No Test Coverage
- Build Status
Buildable 42507 Build 39395: arc lint + arc unit
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.
I guess I should ask: @jhb is your view making io_irq unsigned should simply be a separate Phabricator diff?
I'm fine doing that.
Looks like this is heading towards accomplishment in a different fashion. With no action simply dumping the Phabricator revision.