OSDev.org

The Place to Start for Operating System Developers
It is currently Mon Jul 06, 2020 11:23 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Where can I learn about MSI and MSI-X?
PostPosted: Fri Feb 07, 2020 7:47 pm 
Offline

Joined: Fri Feb 07, 2020 7:35 pm
Posts: 13
Hello. I'm trying to develop an OS that communicates with USB devices.

I am reading the XHCI spec and in chapter 4.2 it mentions that in order to initialize the host controller you may initialize interrupts by allocating and initialising the MSI-X Message Table among other things and then it suggest to refer to the PCI spec for more details.

I know interrupts are optional and you have also the option of polling the Event Rings instead, but I'd love to know more about MSI to be able to use interrups.


Top
 Profile  
 
 Post subject: Re: Where can I learn about MSI and MSI-X?
PostPosted: Sat Feb 08, 2020 9:11 am 
Offline
Member
Member

Joined: Thu May 17, 2007 1:27 pm
Posts: 730
You can read abozt the PCI side of MSIs in the PCI spec and about the local APIC side in the Intel manual (APIC section). Overall, MSI are pretty simple, require no special setup and aside from the format of the address and data words, there is little to learn about them.

_________________
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group