On Fri, May 30, 2014 at 05:55:25PM +0900, Kengo NAKAHARA wrote: > Hello, > > I'm going to add MSI/MSI-X support to NetBSD. I list tasks about this. > Would you comment following task list?
I think that MSI/MSI-X logically separates into a few pieces, what do you think about these pieces? 1 An MI API for establishing "mailboxes" (or "doorbells" or whatever we may call them). A mailbox is a special physical address (PA) or PA/data-pair in correspondence with a callback (function, argument). An MI API for mapping the mailbox into various address spaces, but especially the message-signalling devices. In this way, the mailbox API is a use or an extension of bus_dma(9). Somewhere I have a draft proposal for this MI API, I will try to dig it up. 2 For each platform, an MD implementation of the MI mailbox API. 3 Extensions to pci(9) for establishing message-signalled interrupts using either a (function, argument) pair, a PA, or a (PA, data) pair. I am pretty sure that the implementation of these extensions can be MI. > + [amd64 MD] refactor INTRSTUB > - currently, it walks the interrupt handler list in assembly code > - I want to use NetBSD's list library, so I want to convert this assembly > code to C code. I support converting much of the interrupt dispatch code to C from assembly. Dave -- David Young [email protected] Urbana, IL (217) 721-9981
