Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

installing on thinkpad x201i



Hello,

I've been trying to install NetBSD/amd64 on a Thinkpad X201i (Core
i3). I would say I've come to a point where it's usable.

At first, kernels would crash pretty much immediately. This was true
for both 5.0.x, and current, both i386 and amd64. After some poking
around I figured out that the problem was that iomem extent storage
was too small. This BIOS seem to announce 33 (IIRC) memory segments,
and there is only room for 16 in iomem_ex_storage. With this number
bumped to 40, it made it all the way to single users mode, with most
hardware detected.

Is there a reason (other than historical) for this low number (16), or
can this be increased with out problem (other than the loss of a few
bytes)? Can I commit this change, or should this be solved in some
different way altogether?

--- bus_space.c.~1.31.~ 2010-07-27 15:54:19.000000000 +0200
+++ bus_space.c 2010-09-23 21:08:03.000000000 +0200
@@ -85,7 +85,7 @@
  * routines need access to them for bus address space allocation.
  */
 static long ioport_ex_storage[EXTENT_FIXED_STORAGE_SIZE(16) / sizeof(long)];
-static long iomem_ex_storage[EXTENT_FIXED_STORAGE_SIZE(16) / sizeof(long)];
+static long iomem_ex_storage[EXTENT_FIXED_STORAGE_SIZE(40) / sizeof(long)];
 struct extent *ioport_ex;
 struct extent *iomem_ex;
 static int ioport_malloc_safe;

Second, the i82577 PHY lacks a proper driver. I don't know if any of
the present intel phy drivers (iophy, igphy, ikphy, have I missed
any?) are close enough, but they don't match as is.

To get ukphy to work, I had to remove the PHY reset; all registers
read as zero after reset. I suppose this PHY needs some special voodoo
after reset.

The "final" big issue is X. Our aging X source doesn't know about the
fancy Intel GMA HD graphics. The VESA driver works, but it just a bit
too slow for comfort. Is anyone actively working on fixing this?
Moving to modern versions seem to be quite a lot of work involving
lots of TLA:s (GEM, KMS and whatnot). Personally I would be ok with
something that's a bit faster than VESA (like moving windows
effortlessly).

Other than this, WLAN (Intel 6200) seems to work (except for 11n), BT
and memory card reader attaches, but I haven't used them, neither have
I tried audio, suspend, or any other features.

/Johan
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.39 (BLUBB) #5: Wed Sep 29 15:14:46 UTC 2010
        root@:/sys/arch/amd64/compile/BLUBB
total memory = 3891 MB
avail memory = 3756 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
LENOVO 3323BTG (ThinkPad X201)
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, 2394MHz, id 0x20655
cpu1 at mainbus0 apid 1: Intel 686-class, 2394MHz, id 0x20655
cpu2 at mainbus0 apid 4: Intel 686-class, 2394MHz, id 0x20655
cpu3 at mainbus0 apid 5: Intel 686-class, 2394MHz, id 0x20655
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20100528
acpi0: X/RSDT: OemId <LENOVO,TP-6Q   ,00001220>, AslId < LTP,00000000>
acpiecdt0 at acpi0: ACPI Embedded Controller via ECDT
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
acpicpu0 at acpi0 (CPU0): ACPI CPU
acpicpu1 at acpi0 (CPU1): ACPI CPU
acpicpu2 at acpi0 (CPU2): ACPI CPU
acpicpu3 at acpi0 (CPU3): ACPI CPU
CPU4 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU5 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU6 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU7 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
MEM (PNP0C01) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
SIO (PNP0C02) at acpi0 not configured
attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43 irq 0
hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
pckbc1 at acpi0 (KBD, PNP0303) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOU, LEN0018) (aux port): irq 12
TPM (SMO1200) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09-0): using acpiecdt0
acpibat0 at acpi0 (BAT0, PNP0C0A-0): ACPI Battery
acpibat0: SANYO LION rechargeable battery
acpibat0: model number 42T4835, serial number   639
acpibat0: granularity: low->warn 0.001 Ah, warn->full 0.001 Ah
acpiacad0 at acpi0 (AC, ACPI0003-0): ACPI AC Adapter
thinkpad0 at acpi0 (HKEY, IBM0068)
acpiwmi0 at acpi0 (WMI1, PNP0C14-1): ACPI WMI Interface
acpiwmibus at acpiwmi0 not configured
acpitz0 at acpi0 (THM0): ACPI Thermal Zone
acpitz0: critical 100.0 C, passive 91.5 C, passive cooling
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pms0: Synaptics touchpad version 7.4
pms0: Passthrough, Palm detect
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x0044 (rev. 0x02)
agp0 at pchb0: detected 32764k stolen memory
agp0: aperture at 0xd0000000, size 0x10000000
vga0 at pci0 dev 2 function 0: vendor 0x8086 product 0x0046 (rev. 0x02)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at vga0 not configured
vendor 0x8086 product 0x3b64 (miscellaneous communications, revision 0x06) at 
pci0 dev 22 function 0 not configured
wm0 at pci0 dev 25 function 0: PCH LAN (82577LM) Controller, rev. 6
wm0: interrupting at ioapic0 pin 20
wm0: PCI-Express bus
wm0: FLASH
wm0: Ethernet address f0:de:f1:00:bd:1c
ukphy0 at wm0 phy 2: OUI 0x00aa00, model 0x0005, rev. 3
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ehci0 at pci0 dev 26 function 0: vendor 0x8086 product 0x3b3c (rev. 0x06)
ehci0: interrupting at ioapic0 pin 23
ehci0: EHCI version 1.0
usb0 at ehci0: USB revision 2.0
hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 17
hdafg0 at hdaudio0: Conexant CX20585
hdafg0: DAC00 2ch: HP Out [Jack]
hdafg0: ADC01 2ch: Mic In [Jack]
hdafg0: DAC02 2ch: Speaker [Built-In]
hdafg0: ADC03 2ch: Mic In [Built-In]
hdafg0: 2ch/2ch 44100Hz 48000Hz 96000Hz 16/16 20/32 24/32
audio0 at hdafg0: full duplex, playback, capture, independent
hdvsmfg at hdaudio0 not configured
hdafg1 at hdaudio0: Intel G45 HDMI
hdafg1: DAC00 2ch: Digital Out [Jack]
hdafg1: 2ch/0ch 48000Hz 16/16*
audio1 at hdafg1: full duplex, playback, capture, independent
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x3b42 (rev. 0x06)
ppb0: unsupported PCI Express version
pci1 at ppb0 bus 13
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
ppb1 at pci0 dev 28 function 3: vendor 0x8086 product 0x3b48 (rev. 0x06)
ppb1: unsupported PCI Express version
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
ppb2 at pci0 dev 28 function 4: vendor 0x8086 product 0x3b4a (rev. 0x06)
ppb2: unsupported PCI Express version
pci3 at ppb2 bus 2
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
iwn0 at pci3 dev 0 function 0: vendor 0x8086 product 0x4239 (rev. 0x35)
iwn0: interrupting at ioapic0 pin 16
iwn0: MIMO 2T2R, MoW, address 00:23:14:ec:a0:24
iwn0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
iwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
iwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 
36Mbps 48Mbps 54Mbps
ehci1 at pci0 dev 29 function 0: vendor 0x8086 product 0x3b34 (rev. 0x06)
ehci1: interrupting at ioapic0 pin 19
ehci1: EHCI version 1.0
usb1 at ehci1: USB revision 2.0
ppb3 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xa6)
pci4 at ppb3 bus 14
pci4: i/o space, memory space enabled
pcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x3b07 (rev. 0x06)
ahcisata0 at pci0 dev 31 function 2: vendor 0x8086 product 0x3b2f
ahcisata0: interrupting at ioapic0 pin 16
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 0x10300, 6 ports, 32 command slots, features 0xff20e060
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
atabus2 at ahcisata0 channel 4
atabus3 at ahcisata0 channel 5
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x3b30 (rev. 0x06)
ichsmb0: interrupting at ioapic0 pin 23
iic0 at ichsmb0: I2C bus
spdmem0 at iic0 addr 0x50
spdmem0: DDR3 SDRAM, no ECC, temp-sensor, 2GB, 1067MHz (PC3-8533)
spdmem0: 11 rows, 13 cols, 8 log. banks, 2 phys. banks, 1.875ns cycle time
spdmem0: tAA-tRCD-tRP-tRAS: 7-7-7-20
spdmem1 at iic0 addr 0x51
spdmem1: DDR3 SDRAM, no ECC, no temp-sensor, 2GB, 1333MHz (PC3-10666)
spdmem1: 11 rows, 13 cols, 8 log. banks, 2 phys. banks, 1.500ns cycle time
spdmem1: tAA-tRCD-tRP-tRAS: 8-8-8-24
vendor 0x8086 product 0x3b32 (miscellaneous DASP, revision 0x06) at pci0 dev 31 
function 6 not configured
isa0 at pcib0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
acpiacad0: AC adapter online.
uhub0 at usb0: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
uhub1 at usb1: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
ahcisata0 port 0: device present, speed: 3.0Gb/s
wd0 at atabus0 drive 0: <HITACHI HTS545032B9A300>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 298 GB, 620181 cyl, 16 head, 63 sec, 512 bytes/sect x 625142448 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) 
(using DMA)
uhub2 at uhub1 port 1: vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, 
addr 2
uhub2: single transaction translator
uhub3 at uhub0 port 1: vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, 
addr 2
uhub3: single transaction translator
uhub2: 8 ports with 8 removable, self powered
uhub3: 6 ports with 6 removable, self powered
uhidev0 at uhub3 port 1 configuration 1 interface 0
uhidev0: Logitech USB Receiver, rev 2.00/16.00, addr 3, iclass 3/1
ums0 at uhidev0: 16 buttons, W and Z dirs
wsmouse1 at ums0 mux 0
uhidev1 at uhub3 port 1 configuration 1 interface 1
uhidev1: Logitech USB Receiver, rev 2.00/16.00, addr 3, iclass 3/0
uhidev1: 17 report ids
uhid0 at uhidev1 reportid 3: input=4, output=0, feature=0
uhid1 at uhidev1 reportid 16: input=6, output=6, feature=0
uhid2 at uhidev1 reportid 17: input=19, output=19, feature=0
uvideo0 at uhub3 port 6 configuration 1 interface 0: Chicony Electronics Co., 
Ltd. Integrated Camera, rev 2.00/23.45, addr 4
video0 at uvideo0: Chicony Electronics Co., Ltd. Integrated Camera, rev 
2.00/23.45, addr 4
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio2 at pad0: half duplex, playback, capture
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs


Home | Main Index | Thread Index | Old Index