Discussion:
Does my processor have local APIC?
(too old to reply)
Alexander Krizhanovsky
2006-07-23 12:00:08 UTC
Permalink
Hello, group!

I apologize if I post to improper group, but I don't know most
appropriate one.

I have Mobile Intel Pentium 4 Processor-M on my laptop and I need to
make profiling for server daemon by using oprofile. However, I cant get
another events other than timer interrupts. As far as I understand
(please, correct me if I wrong) I need local APIC for getting NMI on
overflows of a performance counters. So, I need know does my processor
have local APIC (yes, I have compiled my Linux kernel with X86_UP_APIC
and X86_LOCAL_APIC options).

My /proc/cpuinfo:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz
stepping : 9
cpu MHz : 1200.000
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid
xtpr
bogomips : 2395.07

There isn't apic flag, but afaik this flags means onboard APIC, not a
local one (am I right?). Well, I got looking for specification on
intel.com and found
http://www.intel.com/products/processor/mobilepentium4/index.htm. This
table says that family of my processor has cpu frequesncy from 2.66 to
3.20, but it isn't true. Also I found just a mention of local APIC
interrupt in "Mobile Intel® Pentium® 4 Processor with 533 MHz System
Bus Datasheet" and I want to know it more accurately.

Thanks,
Alexander
Michael Tippach
2006-07-23 20:44:36 UTC
Permalink
Is there any Netburst chip without local APIC?

Just check for what's there at 0xFEE00000 and 0xFEC00000 physical for
local and io APIC, respectively.
Post by Alexander Krizhanovsky
I have Mobile Intel Pentium 4 Processor-M
...
Spoons
2006-07-24 14:20:19 UTC
Permalink
Post by Alexander Krizhanovsky
I apologize if I post to improper group, but I don't know most
appropriate one.
I would also try the oprofile mailing list.
http://oprofile.sourceforge.net/mail/
Post by Alexander Krizhanovsky
I have Mobile Intel Pentium 4 Processor-M on my laptop and I need to
make profiling for server daemon by using oprofile. However, I cant get
another events other than timer interrupts. As far as I understand
(please, correct me if I wrong) I need local APIC for getting NMI on
overflows of a performance counters. So, I need know does my processor
have local APIC (yes, I have compiled my Linux kernel with X86_UP_APIC
and X86_LOCAL_APIC options).
I thought all Intel CPUs since the Pentium Pro had a Local APIC?

http://en.wikipedia.org/wiki/Intel_APIC_Architecture
http://osdev.berlios.de/pic.html

Intel's reference manual for CPUID mentions the APIC several times.

ftp://download.intel.com/design/Pentium4/manuals/25366620.pdf

If EAX=1 when you call CPUID then...

EBX Bits 31-24: Initial APIC ID
Local APIC ID (high byte of EBX)
this number is the 8-bit ID that is assigned to the local APIC on the
processor during power up. This field was introduced in the Pentium 4
processor.

EDX bit 9: APIC On-Chip
The processor contains an Advanced Programmable Interrupt Controller
(APIC), responding to memory mapped commands in the physical address
range FFFE0000H to FFFE0FFFH (by default - some processors permit the
APIC to be relocated).

Could Linux have relocated the APIC? (Far-fetched.)
Post by Alexander Krizhanovsky
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz
stepping : 9
cpu MHz : 1200.000
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid
xtpr
bogomips : 2395.07
There isn't apic flag, but afaik this flags means onboard APIC, not a
local one (am I right?). Well, I got looking for specification on
intel.com and found
http://www.intel.com/products/processor/mobilepentium4/index.htm. This
table says that family of my processor has cpu frequesncy from 2.66 to
3.20, but it isn't true. Also I found just a mention of local APIC
interrupt in "Mobile Intel® Pentium® 4 Processor with 533 MHz System
Bus Datasheet" and I want to know it more accurately.
Your CPU is more like this one:
http://processorfinder.intel.com/details.aspx?sSpec=SL6FK

Wish I could help you more :-(
Spoons
2006-07-24 14:24:36 UTC
Permalink
Post by Alexander Krizhanovsky
I have Mobile Intel Pentium 4 Processor-M on my laptop and I need to
make profiling for server daemon by using oprofile. However, I cant get
another events other than timer interrupts. As far as I understand
(please, correct me if I wrong) I need local APIC for getting NMI on
overflows of a performance counters. So, I need know does my processor
have local APIC (yes, I have compiled my Linux kernel with X86_UP_APIC
and X86_LOCAL_APIC options).
What happens if you add lapic or apic to your boot options?
Cyril Novikov
2006-07-25 04:24:58 UTC
Permalink
Post by Alexander Krizhanovsky
Hello, group!
I apologize if I post to improper group, but I don't know most
appropriate one.
I have Mobile Intel Pentium 4 Processor-M on my laptop and I need to
make profiling for server daemon by using oprofile. However, I cant get
another events other than timer interrupts. As far as I understand
(please, correct me if I wrong) I need local APIC for getting NMI on
overflows of a performance counters. So, I need know does my processor
have local APIC (yes, I have compiled my Linux kernel with X86_UP_APIC
and X86_LOCAL_APIC options).
Your processor does have a local APIC, but it was disabled by the BIOS,
using the global disable bit in the APIC_BASE_MSR. Most BIOS'es do that
without asking on uniprocessor machines, and do not make it
configurable. The rationale for this idiocy most likely being that the
motherboard does not contain any I/O APIC's or related circuitry (so
what?). That also resets the APIC flag in CPU features.

It should be possible to reenable it in Linux with a configuration
option or maybe a kernel boot option.

--
Cyril

Continue reading on narkive:
Loading...