|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
Re: [marco
peereboom.us: est]
From: Dimitry Andric (dimitry
andric.com)
Date: Sat Feb 25 2006 - 20:50:18 CST
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Marco Peereboom wrote:
> Based on this document: download.intel.com/design/mobile/datashts/30218908.pdf
> I added the 778, 773 and uncommented the 758 CPUs in the Enhanced SpeedStep
> driver. These are some of the newer models of the Intel Pentium M CPUs. With
> this change these CPUs can be throttled down using the syctl hw.setperf
> mechanism. This should be tested by as many people as possible, especially if
> you see a line like this in your dmesg:
> cpu0: Enhanced SpeedStep 1600 MHz (1356 mV): unknown EST cpu, no changes possibl
> e
I was also looking into this problem, but you were first with a patch.
:) At the end of this mail are dmesgs before and after.
I've got a ThinkPad X41, which has a Pentium M 758 at 1.5 GHz. This was
first detected as:
cpu0: Enhanced SpeedStep 1500 MHz (1116 mV) (not in table)
So it doesn't get the "unknown EST cpu", but it simply doesn't find it
in the table. With your patch, it gets detected as:
cpu0: Enhanced SpeedStep 1500 MHz (1116 mV): speeds: 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 600 MHz
I probably checked out the same Intel documents as you, but when looking
at est.c to fix my 'not in table' problem, I was thinking: how can you
distinguish 2 CPU's with the same reported speed?
I.e. with your patch, you now have a table:
static const struct fqlist pentium_m_dothan[] = {
...
ENTRY("1.50", pentium_m_n758),
ENTRY("1.50", pentium_m_n715),
and later the CPU is simply matched on the brand prefix and speed
suffix. But doesn't this mean that for a Pentium M 715 the 758 is
detected instead?
In the FreeBSD implementation of est.c, they also seem to use the CPUID
to determine the type. What do you think of expanding struct fqlist
with a cpu_id member, e.g.:
struct fqlist {
const char *brand_tag;
const int cpu_id;
const struct fq_info *table;
u_int n;
};
and then determining the cpu both on brand_tag and id?
Cheers,
Dimitry
dmesg before est patch:
OpenBSD 3.9-beta (GENERIC) #0: Fri Feb 24 19:28:41 CET 2006
dim
snowball.lan.dim:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1.50GHz ("GenuineIntel" 686-class) 1.50 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,SBF,EST,TM2
cpu0: Enhanced SpeedStep 1500 MHz (1116 mV) (not in table)
real mem = 1600561152 (1563048K)
avail mem = 1452986368 (1418932K)
using 4278 buffers containing 80130048 bytes (78252K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(0b) BIOS, date 01/23/06, BIOS32 rev. 0
0xfd750
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 98%
apm0: AC on, battery charge high
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1
0xfd6e0/0x920
pcibios0: PCI IRQ Routing Table rev 1.0
0xfdec0/240 (13 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0xe800! 0xdc000/0x4000! 0xe0000/0x10000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82915GM/PM/GMS Host" rev 0x03
vga1 at pci0 dev 2 function 0 "Intel 82915GM/GMS Video" rev 0x03: aperture at 0xa0080000, size 0x10000000
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
"Intel 82915GM/GMS Video" rev 0x03 at pci0 dev 2 function 1 not configured
ppb0 at pci0 dev 28 function 0 "Intel 82801FB PCIE" rev 0x03
pci1 at ppb0 bus 1
bge0 at pci1 dev 0 function 0 "Broadcom BCM5751M" rev 0x11, BCM5750 B1 (0x4101): irq 11, address 00:0a:e4:37:25:5d
brgphy0 at bge0 phy 1: BCM5750 10/100/1000baseT PHY, rev. 0
uhci0 at pci0 dev 29 function 0 "Intel 82801FB USB" rev 0x03: irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1 "Intel 82801FB USB" rev 0x03: irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2 "Intel 82801FB USB" rev 0x03: irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3 "Intel 82801FB USB" rev 0x03: irq 11
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7 "Intel 82801FB USB" rev 0x03: irq 11
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xd3
pci2 at ppb1 bus 2
cbb0 at pci2 dev 0 function 0 "Ricoh 5C476 CardBus" rev 0x8d: irq 11
vendor "Ricoh", unknown product 0x0822 (class system unknown subclass 0x05, rev 0x13) at pci2 dev 0 function 1 not configured
iwi0 at pci2 dev 2 function 0 "Intel PRO/Wireless 2915ABG" rev 0x05: irq 11, address 00:13:ce:37:62:37
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x0, lattimer 0xb0
pcmcia0 at cardslot0
auich0 at pci0 dev 30 function 2 "Intel 82801FB AC97" rev 0x03: irq 11, ICH6 AC97
ac97: codec id 0x41445374 (Analog Devices AD1981B)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auich0
"Intel 82801FB Modem" rev 0x03 at pci0 dev 30 function 3 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801FBM LPC" rev 0x03: PM disabled
pciide0 at pci0 dev 31 function 2 "Intel 82801FBM SATA" rev 0x03: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <HTC426040G9AT00>
wd0: 16-sector PIO, LBA, 38154MB, 78140160 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 disabled (no drives)
ichiic0 at pci0 dev 31 function 3 "Intel 82801FB SMBus" rev 0x03: irq 11
iic0 at ichiic0
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
aps0 at isa0 port 0x1600/31
npx0 at isa0 port 0xf0/16: using exception 16
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask eff5 netmask eff5 ttymask fff7
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
umass0 at uhub4 port 3 configuration 1 interface 0
umass0: USB2.0 External Mass Storage Device, rev 2.00/2.40, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets
cd0 at scsibus0 targ 1 lun 0: <LITE-ON, DVDRW SOHW-1673S, JS0D> SCSI0 5/cdrom removable
ugen0 at uhub2 port 2
ugen0: STMicroelectronics Biometric Coprocessor, rev 1.00/0.01, addr 2
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
dmesg after patch:
OpenBSD 3.9-beta (GENERIC) #2: Sun Feb 26 03:10:17 CET 2006
dim
snowball.lan.dim:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1.50GHz ("GenuineIntel" 686-class) 1.50 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,SBF,EST,TM2
cpu0: Enhanced SpeedStep 1500 MHz (1116 mV): speeds: 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 600 MHz
real mem = 1600561152 (1563048K)
avail mem = 1452986368 (1418932K)
using 4278 buffers containing 80130048 bytes (78252K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(f6) BIOS, date 01/23/06, BIOS32 rev. 0
0xfd750
apm0 at bios0: Power Management spec V1.2
apm0: battery life expectancy 98%
apm0: AC on, battery charge high
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1
0xfd6e0/0x920
pcibios0: PCI IRQ Routing Table rev 1.0
0xfdec0/240 (13 entries)
pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0xe800! 0xdc000/0x4000! 0xe0000/0x10000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82915GM/PM/GMS Host" rev 0x03
vga1 at pci0 dev 2 function 0 "Intel 82915GM/GMS Video" rev 0x03: aperture at 0xa0080000, size 0x10000000
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
"Intel 82915GM/GMS Video" rev 0x03 at pci0 dev 2 function 1 not configured
ppb0 at pci0 dev 28 function 0 "Intel 82801FB PCIE" rev 0x03
pci1 at ppb0 bus 1
bge0 at pci1 dev 0 function 0 "Broadcom BCM5751M" rev 0x11, BCM5750 B1 (0x4101): irq 11, address 00:0a:e4:37:25:5d
brgphy0 at bge0 phy 1: BCM5750 10/100/1000baseT PHY, rev. 0
uhci0 at pci0 dev 29 function 0 "Intel 82801FB USB" rev 0x03: irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1 "Intel 82801FB USB" rev 0x03: irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2 "Intel 82801FB USB" rev 0x03: irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3 "Intel 82801FB USB" rev 0x03: irq 11
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7 "Intel 82801FB USB" rev 0x03: irq 11
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xd3
pci2 at ppb1 bus 2
cbb0 at pci2 dev 0 function 0 "Ricoh 5C476 CardBus" rev 0x8d: irq 11
vendor "Ricoh", unknown product 0x0822 (class system unknown subclass 0x05, rev 0x13) at pci2 dev 0 function 1 not configured
iwi0 at pci2 dev 2 function 0 "Intel PRO/Wireless 2915ABG" rev 0x05: irq 11, address 00:13:ce:37:62:37
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x0, lattimer 0xb0
pcmcia0 at cardslot0
auich0 at pci0 dev 30 function 2 "Intel 82801FB AC97" rev 0x03: irq 11, ICH6 AC97
ac97: codec id 0x41445374 (Analog Devices AD1981B)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auich0
"Intel 82801FB Modem" rev 0x03 at pci0 dev 30 function 3 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801FBM LPC" rev 0x03: PM disabled
pciide0 at pci0 dev 31 function 2 "Intel 82801FBM SATA" rev 0x03: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <HTC426040G9AT00>
wd0: 16-sector PIO, LBA, 38154MB, 78140160 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 disabled (no drives)
ichiic0 at pci0 dev 31 function 3 "Intel 82801FB SMBus" rev 0x03: irq 11
iic0 at ichiic0
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
aps0 at isa0 port 0x1600/31
npx0 at isa0 port 0xf0/16: using exception 16
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask eff5 netmask eff5 ttymask fff7
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
umass0 at uhub4 port 3 configuration 1 interface 0
umass0: USB2.0 External Mass Storage Device, rev 2.00/2.40, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets
cd0 at scsibus0 targ 1 lun 0: <LITE-ON, DVDRW SOHW-1673S, JS0D> SCSI0 5/cdrom removable
ugen0 at uhub2 port 2
ugen0: STMicroelectronics Biometric Coprocessor, rev 1.00/0.01, addr 2
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]