How does physical to virtual IRQ mapping implemented in Windows and Linux systems?

view full story

http://stackoverflow.com – As far as i know there are 255 virtual IRQ's in Windows system (chipset only allows 16 physical) and they all usually use physical IRQ 11.In Linux systems there is also a notion of virtual IRQ's.So, I'm interested how does this mapping implented?Sourse code samples from Linux kernel or just algorithm will be appreciated. (HowTos)