User:Samnob: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Here's some stuff: | Here's some stuff: | ||
== Hardware, coreboot supported computers == | |||
I had/have a number of [[Lenovo_x60x]] laptops some x60,x60s x60tablet. | I had/have a number of [[Lenovo_x60x]] laptops some x60,x60s x60tablet. | ||
Line 5: | Line 8: | ||
There are a lot of files related to them at [http://samnoble.org/thinkpad On the web] | There are a lot of files related to them at [http://samnoble.org/thinkpad On the web] | ||
== some x60 native vga init notes == | |||
On 16 December I tried out using [http://www.coreboot.org/Lenovo_x60x#VGA_Option_ROM_.2F_VBIOS_replacement_.28native_graphics.29[ native vga init]] on the x60. | |||
At that date their was working code in master, missing only commit [http://review.coreboot.org/#/c/3998/[commit 3998 ]] which was unmerged. | |||
It was discovered that while this code seems to work fine on kernels older than linux 3.12. | |||
On 3.12 and later kernels the i915 driver became unstable. Causing broken/glitchy 3D. and performance bugs. | |||
git bisect of the kernel eventually pointed to this commit: | |||
[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=17fec8a08698bcab98788e1e89f5b8e7502ababd] | |||
[http://samnoble.org/tmp/nativevgainit_bisect.log] | |||
phcoder: upon seeing that commit, looked at a hexdump the x60's VGA controller: | |||
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) | |||
00: 86 80 a2 27 07 00 90 00 03 00 00 03 00 00 80 00 | |||
10: 00 00 30 e4 a1 50 00 00 08 00 00 d0 00 00 40 e4 | |||
20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 1a 20 | |||
30: 00 00 00 00 90 00 00 00 00 00 00 00 0b 01 00 00 | |||
40: 00 00 00 00 48 00 00 00 09 00 09 51 02 04 0a 90 | |||
50: 0e 00 30 00 19 00 00 00 00 00 00 00 00 00 80 7f | |||
60: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
90: 05 d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
c0: 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
d0: 01 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
f0: 03 00 64 34 ff 00 00 00 86 0f 05 00 00 00 00 00 | |||
< phcoder> well this shows that Linux had a bug which caused it to miss stolen memory altogether on this machine and hence disable parts of code. With this bug fixed the code in question is active. | |||
So my guess is that it's a bug on coreboot side and it was missed because parts of Linux code were inadvertently disabled. |
Revision as of 19:46, 17 December 2013
Here's some stuff:
Hardware, coreboot supported computers
I had/have a number of Lenovo_x60x laptops some x60,x60s x60tablet. Also some Lenovo_t60 laptops.
There are a lot of files related to them at On the web
some x60 native vga init notes
On 16 December I tried out using [ native vga init] on the x60.
At that date their was working code in master, missing only commit [commit 3998 ] which was unmerged.
It was discovered that while this code seems to work fine on kernels older than linux 3.12. On 3.12 and later kernels the i915 driver became unstable. Causing broken/glitchy 3D. and performance bugs.
git bisect of the kernel eventually pointed to this commit: [1]
phcoder: upon seeing that commit, looked at a hexdump the x60's VGA controller: 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) 00: 86 80 a2 27 07 00 90 00 03 00 00 03 00 00 80 00 10: 00 00 30 e4 a1 50 00 00 08 00 00 d0 00 00 40 e4 20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 1a 20 30: 00 00 00 00 90 00 00 00 00 00 00 00 0b 01 00 00 40: 00 00 00 00 48 00 00 00 09 00 09 51 02 04 0a 90 50: 0e 00 30 00 19 00 00 00 00 00 00 00 00 00 80 7f 60: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 05 d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 01 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 03 00 64 34 ff 00 00 00 86 0f 05 00 00 00 00 00
< phcoder> well this shows that Linux had a bug which caused it to miss stolen memory altogether on this machine and hence disable parts of code. With this bug fixed the code in question is active. So my guess is that it's a bug on coreboot side and it was missed because parts of Linux code were inadvertently disabled.