SMP Development - MP Table - Only One Processor Entry

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
laichzeit
Posts: 2
Joined: Thu Mar 28, 2013 3:02 am

SMP Development - MP Table - Only One Processor Entry

Post by laichzeit »

Hello everyone,

I'm adding the SMP support on an existing (and well working) x86-64 OS.

The cible for this OS is an Intel Core i7 platform with one i7 620LE (embedded cpu with 2 core plus HT).

I've started by reading the Intel's Developpers Manual, especially chapter 8 : Multiple-Processor Management.
It encouraged me to read the Intel's MultiProcessor Specification.

I've understood that the OS must have acces to information about the hardware by reading the MP Configuration Table.
I've followed the chapter 4. My OS found the MP Table. But when parsing the MP Configuration Table Entries, there is only one Processor Entry.

Is it normal ?
Maybe there is a thing i've not understand with MP in unique package...
In the BIOS, MP and HT is well activated.

Also by reading the BSD or Linux source code it's seem that the MP Configuration Table is not used for obtaining the Local APIC IDs of the differents cpus.
But, again, I've understood that's the way recommended by Intel...

I hope i was enough clear.
If I made grammar or spelling mistake, please excuse me, I have not yet a good command of English.

Thanks in advance for your help.
User avatar
brain
Member
Member
Posts: 234
Joined: Thu Nov 05, 2009 5:04 pm
Location: UK
Contact:

Re: SMP Development - MP Table - Only One Processor Entry

Post by brain »

As i understand it the MP tables arent really supported any more and are just 'legacy' data which you cant rely on. You should start by looking for the APICs and/or querying ACPI and then fall back to MP tables as a last resort in my opinion...
rdos
Member
Member
Posts: 3306
Joined: Wed Oct 01, 2008 1:55 pm

Re: SMP Development - MP Table - Only One Processor Entry

Post by rdos »

brain wrote:As i understand it the MP tables arent really supported any more and are just 'legacy' data which you cant rely on. You should start by looking for the APICs and/or querying ACPI and then fall back to MP tables as a last resort in my opinion...
Quite likely so. On modern CPUs, MP tables doesn't seem to be implemented, and ACPI is the preferred method. On older machines, MP tables might be implemented and correct, but those also have ACPI, so I don't see why you would bother with MP tables. I have a range of multicore test machines, ranging back at least 10 years, and all of them works with ACPI. When I went multicore, I did look at MP tables, but when I found they were not implemented / reliable, I simply dropped the idea of supporting them and went on to ACPI instead.
cb88
Member
Member
Posts: 38
Joined: Sun Mar 07, 2010 4:06 pm

Re: SMP Development - MP Table - Only One Processor Entry

Post by cb88 »

I doubt my Tyan Thunder 2ATX would work without MP table support lol.. but do you want to support a machine that old (dual slot PII)

Cb88
laichzeit
Posts: 2
Joined: Thu Mar 28, 2013 3:02 am

Re: SMP Development - MP Table - Only One Processor Entry

Post by laichzeit »

First, many thanks to the three of you !

So I'm parsing now the ACPI table.

Just for information I've tested on another hardware (i7 3770 on Asus Motherboard) and the MP Table was correctly filled :)

So thank you again !
Post Reply