Subject: Re: Hyperthreading?
To: Frank van der Linden <fvdl@NetBSD.org>
From: Frederick Bruckman <fredb@immanent.net>
List: port-i386
Date: 09/20/2003 09:34:39
On Sat, 20 Sep 2003, Frank van der Linden wrote:

> On Sat, Sep 20, 2003 at 08:09:24AM -0500, Frederick Bruckman wrote:
> > I have a Compaq W8000, 2.2GHz, which does have an option in the CMOS
> > utility to enable hyperthreading, but no matter -- NetBSD 1.6ZC as of
> > yesterday still sees only one processor (feature list shows HTT, BIOS
> > has been upgraded to the latest, 1.27).
>
> Have you tried a kernel with acpi and MPACPI?

Only GENERIC.MP so far. I was going to try that next anyway...

Who hoo! It works:


NetBSD 1.6ZC (SEDUCTION) #0: Sat Sep 20 09:07:47 CDT 2003

fredb@seduction.immanent.net:/o/i386-current/obj/usr/src/sys/arch/i386/compile/SEDUCTION
total memory = 511 MB
avail memory = 466 MB
using 6144 buffers containing 26288 KB of memory
BIOS32 rev. 0 found at 0xe7100
mainbus0 (root)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel Pentium 4 (686-class), 2175.31 MHz, id 0xf24
cpu0: features 3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 3febfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features 3febfbff<FXSR,SSE,SSE2,SS,HTT,TM>
cpu0: I-cache 12K uOp cache 8-way, D-cache 8 KB 64b/line 4-way
cpu0: L2 cache 512 KB 64b/line 8-way
cpu0: ITLB 4K/4M: 64 entries
cpu0: DTLB 4K/4M: 64 entries
cpu0: calibrating local timer
cpu0: apic clock running at 98 MHz
cpu0: 16 page colors
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: Intel Pentium 4 (686-class), 2175.18 MHz, id 0xf24
cpu1: features 3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 3febfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu1: features 3febfbff<FXSR,SSE,SSE2,SS,HTT,TM>
cpu1: I-cache 12K uOp cache 8-way, D-cache 8 KB 64b/line 4-way
cpu1: L2 cache 512 KB 64b/line 8-way
cpu1: ITLB 4K/4M: 64 entries
cpu1: DTLB 4K/4M: 64 entries
ioapic0 at mainbus0 apid 8 (I/O APIC)
ioapic0: pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0
ioapic0: remapped to apic 8
acpi0 at mainbus0
acpi0: using Intel ACPI CA subsystem version 20030228
acpi0: X/RSDT: OemId <COMPAQ,CPQ0011 ,20021120>, AslId <    ,00000000>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
acpi: activated PNP0C0F
acpi_allocate_resources: res=1
acpi: activate failed for PNP0401
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0C0F at acpi0 not configured
PNP0A03 at acpi0 not configured
npx1 at acpi0 (PNP0C04)
npx1: io 0xf0-0xff irq 13
npx1: using exception 16
PNP0000 at acpi0 not configured
PNP0100 at acpi0 not configured
PNP0200 at acpi0 not configured
PNP0B00 at acpi0 not configured
PNP0800 at acpi0 not configured
pckbc1 at acpi0 (PNP0F13): aux port
pckbc1: irq 12
pckbc2 at acpi0 (PNP0303): kbd port
pckbc2: io 0x60,0x64 irq 1
PNP0003 at acpi0 not configured
com3 at acpi0 (PNP0501-1)
com3: io 0x3f8-0x3ff irq 4
com3: ns16550a, working fifo
com4 at acpi0 (PNP0501-2)
com4: io 0x2f8-0x2ff irq 3
com4: ns16550a, working fifo
fdc1 at acpi0 (PNP0700)
fdc1: io 0x3f0-0x3f5,0x3f7 irq 6 drq 2
fd0 at fdc1 drive 0: density unknown
PNP0C02 at acpi0 not configured
PNP0C02 at acpi0 not configured
acpibut0 at acpi0 (PNP0C0C): ACPI Power Button
PNP0C01 at acpi0 not configured
pckbd0 at pckbc2 (kbd slot)
pckbc2: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc2 (aux slot)
pckbc2: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
....


# diff -u GENERIC SEDUCTION
--- GENERIC	2003-09-19 11:22:44.000000000 -0500
+++ SEDUCTION	2003-09-20 08:51:26.000000000 -0500
@@ -242,7 +242,7 @@
 mainbus0 at root

 cpu* at mainbus?
-#ioapic* at mainbus?
+ioapic* at mainbus?

 # Doesn't do anything yet.
 #p64h2apic* at pci? dev? function?	# P64H2 IOxAPIC
@@ -259,6 +259,9 @@

 # Basic Bus Support

+options		MULTIPROCESSOR
+options 	COM_MPLOCK	# com MP locking; REQUIRED on MP i386
+
 # Advanced Control and Power Interface

 # This option can be used to retrieve CPU and APIC information.
@@ -266,28 +269,28 @@
 # To use the I/O APIC(s), enable the ioapic line above.
 #options 	MPBIOS		# configure CPUs and APICs using MPBIOS
 #options 	MPBIOS_SCANPCI	# find PCI roots using MPBIOS
-#options 	MPACPI		# configure CPUs and APICs using ACPI
+options 	MPACPI		# configure CPUs and APICs using ACPI
 				# (acpi at mainbus must also be enabled)
-#options 	MPACPI_SCANPCI	# find PCI roots using MPACPI
+options 	MPACPI_SCANPCI	# find PCI roots using MPACPI

-#acpi0 		at mainbus0
-#options 	ACPI_PCI_FIXUP		# PCI interrupt routing via ACPI
-#options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
+acpi0 		at mainbus0
+options 	ACPI_PCI_FIXUP		# PCI interrupt routing via ACPI
+options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices

 # ACPI devices
-#acpiacad* 	at acpi?		# ACPI AC Adapter
-#acpibat* 	at acpi?		# ACPI Battery
-#acpibut* 	at acpi?		# ACPI Button
-#acpiec* 	at acpi?		# ACPI Embedded Controller
-#acpilid* 	at acpi?		# ACPI Lid Switch
-#acpitz* 	at acpi?		# ACPI Thermal Zone
+acpiacad* 	at acpi?		# ACPI AC Adapter
+acpibat* 	at acpi?		# ACPI Battery
+acpibut* 	at acpi?		# ACPI Button
+acpiec* 	at acpi?		# ACPI Embedded Controller
+acpilid* 	at acpi?		# ACPI Lid Switch
+acpitz* 	at acpi?		# ACPI Thermal Zone

 # Mainboard devices
-#com* 		at acpi?		# Serial communications interface
-#fdc* 		at acpi?		# Floppy disk controller
-#lpt* 		at acpi?		# Parallel port
-#npx*		at acpi?		# Math coprocessor
-#pckbc*  	at acpi?		# PC keyboard controller
+com* 		at acpi?		# Serial communications interface
+fdc* 		at acpi?		# Floppy disk controller
+lpt* 		at acpi?		# Parallel port
+npx*		at acpi?		# Math coprocessor
+pckbc*  	at acpi?		# PC keyboard controller
 #wss* 		at acpi?		# NeoMagic 256AV in wss mode

 # Sony Vaio jog dial


Now I only need to turn off the non-acpi devices so they acpi stuff
gets attached at com0, fdc0 and so on.

Frederick