[Differential] [Commented On] D3034: Add BUS_UNMASK_INTR method

wma_semihalf.com (Wojciech Macek) phabric-noreply at FreeBSD.org
Wed Jul 15 05:26:38 UTC 2015


wma_semihalf.com added a comment.

I guess treating PPIs are separate IRQs number will cause a huge mess. I'm starting to port fbsd on 96 core armv8 platform and the idea of  1536 vectors wasted for PPIs is outrageous.

My point in adding separate interface is to support multi-PIC systems. Calling BUS_UNMASK_INTR with an appropriate resource will allow to pick up the correct PIC controller in a generic way (as I looked into intrng last time it was capable of associating device with specific PIC).  Adding the same code to timer driver might be really inelegant, thus  require  a static map either in the driver or in intr_machdep file.

> The proposed bus_unmask_intr() cannot be used from outside of secondary CPUs startup context. It cannot be used for SPI, it cannot be used of PPI after scheduler is started on given core.


Actually, I'm not quite sure I understand your point.  Why cannot one use it for SPI (except it might not have a sense) or what the scheduler has to do with PPI? The only risk I see (in current implementation) is that someone calls unmask when irq is not configured. 
The freebsd also lacks the fine-grained interrupt blocking mechanism, like, for example, mask/unmask pair exported as bus interface (that would require adding mask call here also). I bet if you ever tried to write a driver for some queer  and exotic piece of hardware  you wished these functions existed, like in other OSes. Or at least I have...


REPOSITORY
  rS FreeBSD src repository

REVISION DETAIL
  https://reviews.freebsd.org/D3034

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: wma_semihalf.com, emaste, imp, ian, andrew, zbb
Cc: onwahe-gmail-com, freebsd-arm-list, meloun-miracle-cz, imp, andrew, emaste


More information about the freebsd-arm mailing list