APIC Trouble with SMP

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
MollenOS
Member
Member
Posts: 202
Joined: Wed Oct 26, 2011 12:00 pm

APIC Trouble with SMP

Post by MollenOS »

Hey,

So I have been dealing with this issue the last couple of days, and despite searching old threads of information I can't seem to get it working

In bochs, I can get "equally" amount of interrupts on all cores using low priority, however in QEmu and VirtualBox none of the AP's get ANY interrupts at all.

The apic setup is:

Destination Format: 0xF0000000
Logical Destination: 0xFF000000
Interrupts are configured as: 0xFF000000000009VV

Initial Task Priority for all cores are 0 (varying the initial priority didn't change anything)

Interrupts are the Local Apic Timer which has the priority of 0xF0, and the RTC with priority of 0xEC
As stated, in QEmu and VirtualBox only the BSP gets interrupts, while in Bochs cores share them, have I set anything wrong here?

The Task Priority varies between 0 - 0x3E depending on the thread priority
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: APIC Trouble with SMP

Post by Brendan »

Hi,
MollenOS wrote:Interrupts are the Local Apic Timer which has the priority of 0xF0, and the RTC with priority of 0xEC
As stated, in QEmu and VirtualBox only the BSP gets interrupts, while in Bochs cores share them, have I set anything wrong here?
For the local APIC timer, using "lower priority delivery" (where the interrupt is sent to whichever CPU happens to be running at the lowest priority at the time) makes no sense at all because the each CPU's local APIC can only send interrupts to its CPU.

For the other problems; make sure you've enabled each CPU's local APIC in each CPU's "spurious interrupt vector register".


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
MollenOS
Member
Member
Posts: 202
Joined: Wed Oct 26, 2011 12:00 pm

Re: APIC Trouble with SMP

Post by MollenOS »

Brendan, thanks, that explains a lot :-)
Post Reply