kernel312_irc 71 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591
  1. <hr/>
  2. <h1 id="todo_cb5926_paulmenzel">Coreboot 5926 test for Paul Menzel</h1>
  3. <p>
  4. Coreboot log when running Video BIOS (grub payload) and <a href="http://review.coreboot.org/5926">http://review.coreboot.org/5926</a>.
  5. </p>
  6. <p>
  7. Result (ThinkPad X60): <a href="dumps/coreboot_5296_oprom_grub_cbmemc">cbmem -c output</a><br/>
  8. Config used on the X60 (grub payload and vbios): <a href="dumps/coreboot_5926_oprom_grub_config">.config</a>
  9. </p>
  10. <h1 id="todo_cb5893_paulmenzel">Coreboot 5893 test for Paul Menzel</h1>
  11. <p>
  12. <a href="dumps/x60_5893_vbios.tar.gz">With VBIOS</a><br/>
  13. <a href="dumps/x60_5893_native.tar.gz">With native graphics</a> (replay code).
  14. </p>
  15. <p>
  16. Here is a crash dump from running native graphics (): <a href="dumps/x60_5893_native_crashdump">/sys/class/drm/card0/error</a>.
  17. </p>
  18. <hr/>
  19. <h1 id="i945_stolenmem_fix">early attempt: i945 stolen memory fix (for kernel 3.12/later) (this attempt failed)</h1>
  20. <p>
  21. Back then we had no idea that GTT address was incorrect, and we had no idea what was causing the issue.
  22. <pre>
  23. Note: see <a href="#i945_312fix">this fix</a> for the initial fix that was found.
  24. <b><font color="red">not working yet</font></b>
  25. <a href="http://review.coreboot.org/#/c/5885/" >http://review.coreboot.org/#/c/5885/</a>
  26. untested. will test this.
  27. checkout 5320. cherry pick 5345 on top.
  28. mannually apply changes from 5884/1 and 5885/3
  29. make backlight changes as in #x60_native_notes and #t60_native_notes
  30. test this on X60 and T60.
  31. If it works, manually apply 5885 to 5320 alone and then push with 5320 as dependency.
  32. Rebase that new change ID, and rebase 5345 (pushing it as new change ID).
  33. Manually merge the rebased 5345 into the new patch, and then push that.
  34. Boot with grub (obviosly!) and kernel 3.14.4 as before (with 17fec8a left untouched!).
  35. Note: tidy these notes! (so others can follow)
  36. get those logs:
  37. Make a copy of these files:
  38. * /var/log/dmesg
  39. * /var/log/kern.log
  40. * /var/log/Xorg.0.log
  41. * /var/log/Xorg.0.log.old (If you have to restart gdm)
  42. * /proc/ioports
  43. * /proc/iomem
  44. Record these outputs:
  45. * sudo intel_reg_dumper
  46. * uname -r
  47. * lspci -vvnn
  48. Do this first: <b>$ sudo modprobe msr</b> (then do as below):
  49. * sudo inteltool -a --> in coreboot/src/util/inteltool
  50. Make a copy of:
  51. * coreboot serial output log.
  52. --> Get it from serial port, or get it like that:
  53. --> <b>./cbmem -c</b> (under coreboot/util/cbmem)
  54. Output from source tree:
  55. $ git log -p | head -150 (localhost/x60gitlog)
  56. $ git diff (localhost/x60gitdiff)
  57. Make a copy of the .config from coreboot source tree
  58. ^ (localhost/x60config)
  59. 3D acceleration test (test if 3.12+/stolenmem issue is fixed):
  60. - Run openarena (1024x768 res), say if it works. (note: Press tilde, do <b>/cg_drawfps 1</b>)
  61. - Run tuxcart (1024x768 res), say if it works.
  62. - Run neverball (1024x768 res), say if it works.
  63. - Run glxgears, report what you see.
  64. Some results on the X60 (3D still doesn't work, openarena and tuxkart were slow):
  65. <a href="dumps/5885_logs.tar.gz">5885_logs.tar.gz</a>
  66. git diff: http://paste.debian.net/102618/
  67. In src/northbridge/intel/i945/raminit.c
  68. PaulePanter: vimuser: In your next step could you please add
  69. PaulePanter: printk(BIOS_DEBUG, "BSM = 0x%08x\n", pci_read_config32(PCI_DEV(0,2,0), BSM));
  70. PaulePanter: before
  71. PaulePanter: pci_write_config32(PCI_DEV(0,2,0), BSM, (tolud * MiB - 64 * MiB) & 0xfff00000);
  72. done
  73. Also removing the #if statement around those 2 lines above.
  74. Also adding it after that line aswell, per advice from PaulePanter
  75. Some new results on the X60 after doing the above (3D still doesn't work, openarena and tuxkart were slow):
  76. <a href="dumps/5885_logs_2.tar.gz">5885_logs_2.tar.gz</a>
  77. PaulePanter: vimuser: No idea if you can write with `devmem2`. Never used it.
  78. PaulePanter: vimuser: It would indeed be interesting to know what value the BSM has with the vendor BIOS.
  79. Note to self: do that.
  80. PaulePanter said: I have `& 0xfff00000` and phcoder uses `& 0xfffff000`, so it looks like I have the ordering incorrect.
  81. Look at that discussion:
  82. http://lists.freedesktop.org/archives/intel-gfx/2014-May/046309.html
  83. http://lists.freedesktop.org/archives/intel-gfx/2014-May/046310.html
  84. --> if BSM register is read-only, then is there something els ethat we might have missed?
  85. </pre>
  86. </p>
  87. <h2><a name="kernel312bugs">kernel 3.12+ bugs (X60/T60 native init)</a><a href="#pagetop">Back to top of page</a></h2>
  88. <p>
  89. Some further notes to refer to later (WARNING: long! These are collected IRC logs for later reference. Most of the
  90. logs are not useful or relevant, and will be deleted later):
  91. <pre>
  92. Note: see <a href="#i945_312fix">this fix</a> for the initial fix that was found.
  93. see: <a href="http://www.coreboot.org/Board:lenovo/x60#Problems_in_native_graphics_code_exposed_by_recent_kernels" >http://www.coreboot.org/Board:lenovo/x60#Problems_in_native_graphics_code_exposed_by_recent_kernels</a>
  94. see: <a href="http://www.coreboot.org/Lenovo_x60x_vgainit_todos" >http://www.coreboot.org/Lenovo_x60x_vgainit_todos</a>
  95. Non-coreboot (not even i945) platforms also have issues with 3.12+
  96. see: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=76520" >https://bugs.freedesktop.org/show_bug.cgi?id=76520</a>
  97. Is this relevant?: <a href="http://lists.freedesktop.org/archives/intel-gfx/2014-February/040771.html" >http://lists.freedesktop.org/archives/intel-gfx/2014-February/040771.html</a>
  98. note: read below.
  99. and note: on later kernels they also can't seem to init the GPU properly without vbios or native gfx, whereas older kernels could.
  100. PaulePanter: damo22: There is also a Linux and coreboot native graphics incompatibility documented in the Wiki (by samnob).
  101. PaulePanter: http://www.coreboot.org/Board:lenovo/x60#Problems_in_native_graphics_code_exposed_by_recent_kernels
  102. vimuser: PaulePanter, that only exists with kernel 3.12 and above.
  103. PaulePanter: vimuser: Do you have time to report it to the Freedesktop Bugzilla?
  104. funfunctor: patrickg: I think its related to recent changes we had done to toolchain.in
  105. vimuser: Yes. What info do you need ?
  106. PaulePanter: vimuser: It’s a regressions and these are normally not allowed with Linux’ no regression policy.
  107. vimuser: What do you think would happen then, after I made that report?
  108. PaulePanter: vimuser: https://01.org/linuxgraphics/documentation/how-report-bugs
  109. vimuser: You can look at it 2 ways: kernel broke, or kernel fixed a bug which broke coreboot.
  110. PaulePanter: vimuser: Hopefully they’ll fix it.
  111. vimuser: so: either coreboot is broken, or kernel is broken.
  112. vimuser: PaulePanter, kernel 3.12+ should work just fine on lenovo bios, so my opinion is that the native gfx in coreboot is what's buggy.
  113. PaulePanter: vimuser: You can also check with the developers in #intel-gfx. But first report the bug so you can reference it.
  114. vimuser: Do you think I should just copy what's in the coreboot wiki already?
  115. PaulePanter: vimuser: Does not matter. If it worked before 3.12, it should work afterward.
  116. vimuser: It seems pretty complete (as far as reporting it is concerned).
  117. vimuser: PaulePanter, my basic point is that I'm on the fence as to whether this is linux's problem, coreboot's problem, or both.
  118. PaulePanter: vimuser: That would probably help. If they need other information, the Intel folks will ask you for it. Daniel Vetter and the other Intel folks are very responsive in my experience.
  119. vimuser: So you think then that there would be a patch specifically for i915 + coreboot_native_init
  120. PaulePanter: vimuser: I do not know. They hopefully figure it out.
  121. vimuser: PaulePanter, I will do it.
  122. PaulePanter: vimuser: And as I wrote, it is a regression. As far as I understood it, even if the firmware/hardware is broken, Linux should not introduce regressions.
  123. vimuser: PaulePanter: at the very least, it might offer a new perspective. this whole issue has been very one-sided so far: it has only been coreboot community that talks about it. It has probably gone unobserved in kernel/intel community.
  124. vimuser: The intel/kernel people might even be able to (easily) spot a fix for coreboot.
  125. vimuser: I hadn't even considered this possibility before, I thought it was only a coreboot problem. Talking to those other people definitely makes sense.
  126. PaulePanter of #coreboot made the initial report to Freedesktop tracker:
  127. PaulePanter: vimuser: Hi. Did you report the Linux regression to the Freedesktop bug tracker?
  128. PaulePanter: vimuser: Understood. Do you have an account for the Freedesktop bug tracker?
  129. vimuser: PaulePanter: I do not have an account for Freedesktop bug tracker, but I think I could get one?
  130. PaulePanter: vimuser: Yes, it is easy to register.
  131. vimuser: PaulePanter, there's reporting and there's reporting properly; I want to compile my report first, before I make it.
  132. PaulePanter: vimuser: As you do not know what they need, I think it is the wrong approach.
  133. vimuser: Since the people that I am reporting to will be unfamiliar with the issue, and might not even know about coreboot, or only vaguely know.
  134. PaulePanter: vimuser: I’ll report the issue and give you the URL. You can then add to it.
  135. vimuser: PaulePanter: Good point. I can make it brief describing it as best I can, and then I can answer any specific questions.
  136. vimuser: PaulePanter, you can use my notes at http://libreboot.org/howto.html#kernel312bugs if you like, it's a collection of insights plus links to those pages on the coreboot wiki that talk about the issue.
  137. vimuser: (in case there is anything in the notes that might be helpful)
  138. vimuser: PaulePanter, are the intel i915 devs of freedesktop also the ones working on the i915 code in kernel.org? (I'm slightly confused about this)
  139. THE REPORT:
  140. PaulePanter: vimuser: The Wiki talks about crashes.
  141. PaulePanter: vimuser: https://bugs.freedesktop.org/show_bug.cgi?id=79038
  142. PaulePanter: vimuser: The Wiki talks about crashes.
  143. PaulePanter: vimuser: https://bugs.freedesktop.org/show_bug.cgi?id=79038
  144. vimuser: PaulePanter, thanks. I'll add to it and help any way I can.
  145. PaulePanter: vimuser: Add `drm.debug=0x06` to the Linux command line (probably configuring in GRUB) and please add `/var/log/dmesg` to the bug report. (Or the output of `dmesg`.)
  146. PaulePanter: vimuser: They also need `/var/log/Xorg.0.log` and your distribution and exact Linux kernel version `uname -r`.
  147. vimuser: PaulePanter: there are basically 2 versions of native init: 3998 (based on replay, only works on X60 with XGA screen - also what libreboot currently uses) and 5320 (much better, works on more screens, 5345 can use it to enable T60 - not yet in libreboot)
  148. vimuser: PaulePanter: should I do this test on both versions? (libreboot and coreboot+5320+5345)
  149. vimuser: PaulePanter: should I do this test on both versions? (libreboot and coreboot+5320+5345)
  150. vimuser: PaulePanter: nonetheless, I will do both, and make that report for you now.
  151. vimuser: Do I do this on pre-3.12 kernel or 3.12+ ?
  152. PaulePanter: vimuser: I’d say Linux 3.12+.
  153. PaulePanter: vimuser: Do you know which coreboot patches samnob used?
  154. vimuser: PaulePanter: very well. http://jxself.org/linux-libre has latest kernels
  155. vimuser: I will install that.
  156. vimuser: I do not know what coreboot patches samnob used. Probably 3998 (this was a long time ago).
  157. vimuser: Definitely change ID 3998 (review.coreboot.org gerrit): http://review.coreboot.org/#/c/3998/
  158. vimuser: PaulePanter: here is the information that you requested: http://libreboot.org/logs/3998_Xorg.0.log http://libreboot.org/logs/3998_dmesg http://libreboot.org/logs/3998_uname
  159. vimuser: PaulePanter: that bug in the report doesn't happen with the above -- it's an older kernel.
  160. vimuser: Do they want me to try 3.12+ instead?
  161. vimuser: PaulePanter: you should also give them these links to the lastest code for native graphics:
  162. vimuser: http://review.coreboot.org/#/c/5320/
  163. PaulePanter: vimuser: Thank you for getting the logs. Please register and upload the files yourself.
  164. vimuser: Yes, ok. I will also get the same logs again for a kernel that is broken (3.12+)
  165. vimuser: I will repeat both processes again for coreboot+5320+5345, as currently I am getting these on libreboot.
  166. vimuser: More logs can't hurt, the worst that can happen is they will ignore the ones they don't need. I want to make sure they have everything they need.
  167. samnob: vimuser: samnoble.org/thinkpad/kernel/linux-image-3.14.4-gnuowen_1_i386.deb and http://samnoble.org/thinkpad/kernel/linux-image-3.14.4-gnu-stolenmem-owen_1_i386.deb latest linux-libre without and with 17fec8a reverted.
  168. PaulePanter: vimuser: Thanks.
  169. vimuser: samnob, thanks.
  170. vimuser: but we are trying to get kernel 3.12+ to work without users having to patch it
  171. vimuser: either by fixing coreboot, or patching around coreboot in the kernel
  172. vimuser: eventually both
  173. samnob: Yes, just providing you kernels for the bug.
  174. vimuser: ah right.
  175. vimuser: with and without. that is useful. i was going to use jxself kernels. that is useful.
  176. vimuser: I'll use yours then ;)
  177. vimuser: dpkg -i ?
  178. samnob: Though based on the devs comment in the bug I think you're hope of the driver working around it is unlikely.
  179. vimuser: can't hurt to try
  180. samnob: dpkg -i will work fine.
  181. samnob: (though gdebi is more fun.)
  182. samnob: there's a version symlink_hook in that same folder that is handy for grub2 payload users too.
  183. vimuser: samnob we think it might be classed under linux "no regression" policy
  184. vimuser: PaulePanter's idea
  185. samnob: can't hurt to try :)
  186. Here is the debugging results then: <a href="coreboot_native_3.12_bug.tar.gz" >coreboot_native_3.12_bug.tar.gz</a>
  187. ---
  188. http://undeadly.org/cgi?action=article&sid=20131120060004 was suggested
  189. (also refer back te the datasheet)
  190. ----
  191. I have since been alerted to this bug report, which is unrelated to us
  192. but shows that 3.12 also breaks later systems on Lenovo BIOS (as far as I can tell):
  193. https://bugzilla.kernel.org/show_bug.cgi?id=71391
  194. --
  195. PaulePanter: vimuser: If you run the Lenovo X60 right now, could you just paste it now. It should not change between all your tests.
  196. PaulePanter: vimuser: It would really be helpful to have it now.
  197. vimuser: My workstation X60 is running coreboot+5320 (and modification for backlight control support)
  198. vimuser: Shall I take iomem output from that?
  199. vimuser: kernel 3.2 is in use
  200. PaulePanter: vimuser: Yes. Please.
  201. vimuser: For you record:
  202. vimuser: $ uname -r
  203. vimuser: 3.2.0-56-generic-pae
  204. vimuser: distro: trisquel 6
  205. vimuser: PaulePanter: http://paste.debian.net/101404/
  206. PaulePanter linked to this:
  207. http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/3rd-gen-core-desktop-vol-2-datasheet.pdf
  208. ---------------
  209. PaulePanter: patrickg: As the resident i945 export, do you know where the register GBSM (Graphics Base of Stolen Memory) should be set?
  210. PaulePanter: patrickg: Is the VGA Option ROM responsible for that?
  211. PaulePanter: damo22: You do not see any problems with the VGA Option ROM, right?
  212. damo22: PaulePanter: i am running vga rom with updated kernel (after the patch) and experience no problems with video
  213. PaulePanter: damo22: Thank you for the confirmation.
  214. PaulePanter: src/northbridge/intel/i945/northbridge.c: printk(BIOS_SPEW, "Base of stolen memory: 0x%08x\n",
  215. patrickg: PaulePanter: what's that, 0x5c?
  216. patrickg: h, no
  217. PaulePanter: + /* Almost universally we can find the Graphics Base of Stolen Memory
  218. PaulePanter: + * at offset 0x5c in the igfx configuration space. On a few (desktop)patrickg: PaulePanter: I think we never configured that but left it to vgabios
  219. patrickg: PaulePanter: we only configured the RAM side
  220. PaulePanter: patrickg: Thanks. So with native VGA init, coreboot needs to do that too.
  221. <b><font color="red">damo22: we just need to write the gfxstolen base to gma config space at 0x5c</font></b>
  222. damo22: that should fix it
  223. damo22: because then the kernel will try to read that
  224. damo22: hmm but if the generation of the gma is not >=3 it will assume it is above top of memory
  225. patrickg: well, it is
  226. damo22: patrickg: do you happen to know if the x60 gma is generation 2 or 3? how do i find out
  227. PaulePanter: damo22: lspci ?
  228. damo22: (rev 0x)?
  229. PaulePanter: lspci -nn
  230. damo22: never mind i will ctags the kernel tree
  231. patrickg: but bbl
  232. patrickg: damo22: code.metager.de applies openGrok on tons of open source projects. probably to linux, too
  233. damo22: thanks patrickg
  234. damo22: okay, i945g/gm is generation 3
  235. damo22: its nothing to do with the lscpi revision
  236. PaulePanter: damo22: How did you check that?
  237. PaulePanter: … it is 3rd gen?
  238. damo22: PaulePanter: its in the i915_drv.c in the kernel
  239. damo22: eg, i965g/gm is generation 4
  240. PaulePanter: Ok.
  241. damo22: its also NOT valleyview
  242. * pl4nkton is now known as pl4nkton`away
  243. PaulePanter: damo22: ?
  244. PaulePanter: Who said that?
  245. damo22: im trying to figure out which path the kernel takes before and after the patch
  246. damo22: it must be different
  247. PaulePanter: damo22: https://bugs.freedesktop.org/show_bug.cgi?id=79038#c12
  248. PaulePanter: damo22: Before they calculate it manually and afterward they read out that register, which the firmware should program, right?
  249. PaulePanter: src/northbridge/intel/i945/i945.h:#define TOLUD 0x9c /* Top of Low Used Memory */
  250. PaulePanter: Off topic, how do I make Vim and Ctags jump to the correct header definition. If I Ctrl + click on `TOLUD` in `src/northbridge/intel/i945/raminit.c` it jumps into the header of `intel/fsp_sandybridge/northbridge.h` instead of `src/northbridge/intel/i945/i945.h`.
  251. PaulePanter: ?
  252. damo22: i have the same problem, there is a way to configure it to pop up a list of matches so you can select the right one but i dont know how
  253. PaulePanter: damo22: Ok. Good to know I am not the only one.
  254. <b><font color="red">
  255. damo22: okay, so for gen 3 i915, (i945/m) we can do what i said above and it should work
  256. PaulePanter: Is “graphics datastolen memory size (PCI Device 0 offset 52 bits 7:4)” configurable and programmed by the firmware or is it fixed if the IGP is enabled and can just be read?
  257. PaulePanter: damo22: Yes.
  258. damo22: its just a matter of setting the base address in the register
  259. damo22: i think the only difference is that in the kernel it is assumed that it is aligned to 0x100000
  260. damo22: kernel does this: base &= ~((1<<20) - 1);
  261. damo22: but coreboot does this: pci_read_config32(dev, 0x5c) & ~0xf,
  262. damo22: possibly a one liner
  263. damo22: change ~0xf to ~0xfffff lol
  264. samnob: vimuser: samnoble.org/thinkpad/kernel/linux-image-3.14.4-gnu-stolenmem-owen_2_i386.deb and linux-image-3.14.4-gnuowen_2_i386.deb with CONFIG_STRICT_DEVMEM unset. No PAE as always.
  265. samnob: damo22: thanks for looking into this.
  266. </font></b>
  267. vimuser: damo22: you are the most awesome person ever. I'm stilll preparing my dev/debugging environment and you speculate this already. I will try it soon.
  268. vimuser: samnob: thank you for confirming.
  269. vimuser: samnob: ok, /dev/mem support and non-PAE. excellent!
  270. samnob: vimuser: don't overlook that revision 2 those, are new debs with STRICT_DEVMEM unset
  271. damo22: vimuser: its much quicker to read and compare code than to compile kernels and flash firmware
  272. PaulePanter: vimuser: I think your testing is not needed until you get a patch.
  273. PaulePanter: damo22: TOLUD (PCI Device 0 offset BCh bits 31:20)
  274. vimuser: PaulePanter ?
  275. vimuser: Yes I understand that. I was about to debug, but now we will test damo22's advice first.
  276. damo22: PaulePanter: i think intel_gma_init is being called with unaligned physical address for graphics mem
  277. PaulePanter: vimuser: BDSM—Base Data of Stolen Memory Register
  278. PaulePanter: http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/3rd-gen-core-desktop-vol-2-datasheet.pdf
  279. PaulePanter: vimuser: The methods you try just read it out and never set it.
  280. PaulePanter: This register contains the base address of graphics data stolen DRAM memory. BIOS determines the base of graphics data stolen memory by subtracting the graphics data stolen memory size (PCI Device 0 offset 52 bits 7:4) from TOLUD (PCI Device 0 offset BCh bits 31:20).
  281. damo22: PaulePanter: im pretty sure BDSM is only present in core iX cpus
  282. vimuser: PaulePanter, yes my method was to go about to be sure where it is set, and then try to set it properly in 5320.
  283. PaulePanter: vimuser: The problem is already present with native graphics in coreboot master, isn’t it?
  284. vimuser: damo22 took a shorter method to get the same result (hopefully. like you, i wait for him to confirm or deny success)
  285. vimuser: PaulePanter, yes the 3.12+ glitches exist in 5320 changeset aswell as 3998 (the old replay version, which 5320 is a re-write of)
  286. PaulePanter: vimuser: Sorry, I claim your tests would have never gotten any solution for the problem.
  287. * martinr (~martin@8.36.227.227) has joined #coreboot
  288. vimuser: PaulePanter, that is quite possible, but it was a test anyway.
  289. PaulePanter: damo22: Chris Wilson and the Linux commit say that the BDSM is present, don’t they?
  290. PaulePanter: + if (INTEL_INFO(dev)->gen >= 3) {
  291. PaulePanter: + /* Read Graphics Base of Stolen Memory directly */
  292. vimuser: I actually did find where the stolen memory address was set, in /var/log/kern.log after using drm.debug=0x06 in those previous results i uploaded to freedesktop.org, but that was on coreboot/5320 with the address set incorrectly.
  293. vimuser: just search for the word "stolen" in the log and you'll find it on one of the lines.
  294. PaulePanter: vimuser: It’s not *set* it is *read* in there.
  295. vimuser: Oh right.
  296. vimuser: But I thought when reading it, it has to know the address. So the address I saw must have been what was set?
  297. vimuser: What am I missing?
  298. damo22: okay so there is something to clarify, i915 driver is the same for all intel gpus even some that are physically located in cpu
  299. PaulePanter: vimuser: As it is not explicitely set beforehand it contains some incorrect value, which is then read.
  300. PaulePanter: vimuser: That is the whole problem.
  301. vimuser: I see.
  302. vimuser: So,
  303. vimuser: my tests would have been useless, then.
  304. <b><font color="red">damo22: it didnt work</font></b>
  305. (note: can still try to make other changes: see testing notes below)
  306. damo22: oh wait, X just didnt detect the LVDS
  307. damo22: in fact nothing did
  308. damo22: but there were no errors
  309. damo22: ok so when i plug external monitor X freezes and gives errors
  310. damo22: and internal display isnt active
  311. damo22: wierd, when i rebooted i got vga fine
  312. damo22: i think linux kernel i915 is trying to do something with vgarom because it says "invalid rom contents" as first boot line
  313. damo22: no i need to find out if the kernel is doing something bad without rom present
  314. damo22: and then figure out how to enable lvds, because vga is working
  315. vimuser: drivers/pci/rom.c: dev_err(&pdev->dev, "Invalid ROM contents\n");
  316. vimuser: in that: size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size)
  317. vimuser: /* Standard PCI ROMs start out with these bytes 55 AA */
  318. vimuser: if (readb(image) != 0x55) {
  319. vimuser: dev_err(&pdev->dev, "Invalid ROM contents\n");
  320. vimuser: break;
  321. vimuser: }
  322. damo22: i guess i should focus on the fact that coreboot did not initialise the gfx at grub screen
  323. damo22: i mean seabios
  324. damo22: its difficult because linux does some reinitialisation of gfx
  325. damo22: i thought i had this one in the bag
  326. CareBear\: damo22 : it does complete reinit
  327. damo22: i flicked throught the kernel i915 driver and it looks like it reads VBT tables from romheaders or something
  328. damo22: if we are using native gfx init, those are not present right?
  329. samnob: damo22: I think you need to be using grub2 to test native gfx init, seabios needs at least a stub of a vgarom.
  330. CareBear\: damo22 : correct
  331. CareBear\: samnob damo22 : if you want to use SeaBIOS you can use the SeaVGABIOS which will pick up a native framebuffer initialized by coreboot
  332. damo22: does SeaVGABIOS install VBT stuff in the vgarom area?
  333. CareBear\: damo22 : probably not the kind the framebuffer driver looks for
  334. damo22: then it will fail with linux
  335. CareBear\: damo22 : yes
  336. damo22: CareBear\: can we write a vgabios stub that passes the signature tests and also has native VBT tables, but executes nothing?
  337. damo22: otherwise we need to patch the linux kernel to ignore certain models that have no vgabios
  338. CareBear\: damo22 : let's first find out what information is used in those tables
  339. damo22: i have the code in front of me
  340. damo22: drivers/gpu/drm/i915/intel_bios.c (kernel)
  341. damo22: vimuser: no, i am trawling through linux driver code
  342. vimuser: damo22: are you aware that certain kernels can initialize the GPU on X60 without the native gfx or oprom? (you don't see payloads, but kernel/X11 shows display
  343. damo22: i have a feeling the linux kernel currently tries to load the vgarom regardless of PCH existance
  344. damo22: i think there are two problems with native gfx init, one problem is that the lvds isnt coming up (coreboot issue), the other is is with the linux kernel i915 driver that tries to read the vgarom that isnt there
  345. vimuser: damo22, what hardware are you testing your changes on?
  346. vimuser: Did you try 5320 without your changes?
  347. vimuser: (hardware: X60 or T60)
  348. Peter on 5320 talks about vga pipe not being enabled: this means that payload doesn't appear
  349. on vga (only on lvds). OS can output on vga or lvds. so we need to get 5320 to output (during payload) on vga
  350. damo22: i just slept on it, and i think i know what the problem is
  351. * LVDS discovery:
  352. * 1) check for EDID on DDC
  353. * 2) check for VBT data
  354. * 3) check to see if LVDS is already on
  355. * if none of the above, no panel
  356. 1) it cant find the EDID because the i2c is failing to read with NAK
  357. 2) there is no VBT data because there is no vga option rom
  358. 3) coreboot is still not doing native init properly so the panel is still off
  359. Therefore linux assumes there is no LVDS.
  360. damo22: how do i enable cbmem console? i enabled it in menuconfig, do i need cbmem dynamically growing?
  361. damo22: [*] Send console output to a CBMEM buffer\
  362. damo22: but i got nothing
  363. Guest-FR: Hi
  364. Guest-FR: would you please check
  365. Guest-FR: src/northbridge/intel/i945/gma.c
  366. Guest-FR: function gma_func0_disable
  367. Guest-FR: pci_write_config16(dev, GCFC, 0xa00) , sound wrong isn't it?
  368. damo22: Guest-FR: what do you think is wrong about it?
  369. Guest-FR: per the datasheet (intel, so probably it is also wrong!) , the value should be "0x1b"
  370. Guest-FR: page 74
  371. damo22: Guest-FR: can you link me to the datasheet
  372. Guest-FR: damo22: congig16 is expecting 0x && 4 digits isn't it?
  373. Guest-FR: damo22: e.i.: 0x1234
  374. damo22: Guest-FR: 0xa00 === 0x0a00
  375. damo22: same thing
  376. Guest-FR: ok
  377. Guest-FR: here is the link for tha datasheet http://www.intel.com/Assets/PDF/datasheet/307502.pdf
  378. damo22: ty
  379. damo22: Guest-FR: i am also working on this gma
  380. damo22: Guest-FR: i am trying to figure out why native gfx init is not working on my X60 tablet
  381. Guest-FR: per gma.h, GCFC is 0xf0 /* Graphics Clock Frequency & Gating Control */
  382. damo22: Guest-FR: GCFC is missing from the datasheet
  383. damo22: so how do you know its wrong
  384. Guest-FR: it is my mistake.... I'm expecting to see 4 digits for conf16
  385. damo22: Guest-FR: ok, i would have expected GCFC to be on page 62 at the bottom but its missing
  386. Guest-FR: probably we should make a dump to see the value we have with an original bios. what you think ? is it possible?
  387. damo22: Guest-FR: however, GGC is mismatching between that datasheet and in coreboot gma
  388. Guest-FR: intel is a fu*** company
  389. damo22: ahh no, i looked up the wrong file
  390. damo22: it matches
  391. damo22: Guest-FR: i am assuming you are using patched gma to test?
  392. Guest-FR: damo22: no, I use the original one
  393. damo22: Guest-FR: http://review.coreboot.org/#/c/5320/
  394. Guest-FR: I try to port my board to coorboot https://github.com/coreboot-for-945g-m4/945g-m4
  395. Guest-FR: thx damo22
  396. damo22: Guest-FR: you need extra config in devicetree.cb with that
  397. Guest-FR: damo22: http://review.coreboot.org/#/c/5762/
  398. damo22: Guest-FR: i cant view it
  399. Guest-FR: oops, it is draft
  400. Guest-FR: may I add you as a reviewer ?
  401. damo22: Guest-FR: sure
  402. Guest-FR: damo at zamodio?
  403. damo22: correct
  404. Guest-FR: done
  405. Guest-FR: please feel free put comments (and be verbos, I'm not a developper :p )
  406. Guest-FR: probably my devicetree is not good,
  407. damo22: it still wont load
  408. Guest-FR: damien at zamaudio.com ?
  409. damo22: yes
  410. damo22: ok better
  411. Guest-FR: probably you got an email ?
  412. Guest-FR: for a review
  413. damo22: Guest-FR: i dont see native gfx init
  414. damo22: are you using vgarom?
  415. Guest-FR: I'm using a PCIE card (Radeon X300)
  416. damo22: dont you want to try to initialise the onboard gfx?
  417. Guest-FR: why not, I'll give it a go :)
  418. damo22: you showed me a whole bunch of code, but what is the problem?
  419. Guest-FR: the serial is working, but it hang on "setting up static southbridge register ..."
  420. Guest-FR: and some times, it went to "setting up Root Complex Topology"
  421. damo22: Guest-FR: well, look for that message in the code and find the next message that should be displayed and you know the problem is between the two messaged
  422. Guest-FR: there is some thing unstable
  423. damo22: messages*
  424. Guest-FR: ok
  425. damo22: Guest-FR: if its too hard to find, add some printk's
  426. damo22: i could really use a tip on how to enable cbmem console
  427. damo22: im running blind
  428. Guest-FR: the msg ih at " src/northbridge/intel/i945/early_init.c " i945_setup_bars function
  429. Guest-FR: so my problem is between "Setting up static southbridge registers..." and "Done" :)
  430. damo22: cat .config|grep CBMEM ===> http://paste.debian.net/101541/ why do i still not have any cbmem console? "No console found in coreboot table."
  431. content of debian paste:
  432. CONFIG_EARLY_CBMEM_INIT=y
  433. # CONFIG_DYNAMIC_CBMEM is not set
  434. CONFIG_CONSOLE_CBMEM=y
  435. CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
  436. damo22: No coreboot CBMEM area found!
  437. * Guest-FR (d5f5ab0b@gateway/web/freenode/ip.213.245.171.11) has joined #coreboot
  438. Guest-FR: I'd like to understand: is there any difference betweent: pci_write_config16(LPC_DEV, 0x84, 0x0a01); + pci_write_config16(LPC_DEV, 0x86, 0x00fc); vs pci_write_config32(LPC_DEV, 0x84, 0x00fc0a01);
  439. Guest-FR: for exemple: lenovo/x60/romstage.c we have: pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x84, 0x1601); however in the ich7 datasheet page 364 it is a conf32
  440. phcoder-screen: damo22: for C segment. boot with oprom, then dd if=/dev/mem bs=64k of=seg_cdef.bin skip=12 count=4
  441. damo22: ok
  442. damo22: is that the VBT table?
  443. phcoder-screen: part of it is
  444. damo22: phcoder-screen: http://www.zamaudio.com/mbox2/seg_cdef.bin
  445. damo22: it looks correct because it mentions calistoga
  446. damo22: phcoder-screen: as a general solution, would it be possible to write a script that takes a vgarom as input and outputs a vgarom stub that will have no executable code but still have the VBT stuff and signatures to fool the OS that real vgarom is there, and will detect panels etc
  447. damo22: or is there a better way?
  448. phcoder-screen: damo22: there is a better way: generate it in coreboot. I have a tool to partially parse the roms. Trying it with yours.
  449. damo22: cool
  450. phcoder-screen: damo22: http://pastebin.com/GsYhSaNB
  451. Content of that paste:
  452. signature: <$VBT CALISTOGA >
  453. version: 1.00
  454. VBT size: 0xea0
  455. VBT checksum: 0x0
  456. BDB version: 1.29
  457. section type 254, size 0xea
  458. type: 0
  459. relstage: 64
  460. chipset: 1
  461. LVDS
  462. No TV
  463. rsvd3[0]: 0x8
  464. rsvd3[1]: 0x3
  465. rsvd3[2]: 0x31
  466. rsvd3[3]: 0x33
  467. Signon: 13Intel(r)Calistoga PCI Accelerated SVGA BIOS
  468. Build Number: 1313d.dal PC 14.20 Dev 10/17/2006 0:22:30
  469. DECOMPILATION OR DISASSEMBLY PROHIBITED
  470. Copyright:
  471. Code segment: a
  472. DOS Boot mode: 0
  473. Bandwidth percent: c0
  474. rsvd4: 0x3
  475. Bandwidth percent: 8
  476. rsvd5: 0x4
  477. section type 1, size 0x5
  478. General features:
  479. panel_fitting = 0x3
  480. flexaim = 0x1
  481. download_ext_vbt = 0x1
  482. *enable_ssc = 0x1
  483. *ssc_freq = 0x1
  484. *display_clock_mode = 0x0
  485. disable_smooth_vision = 0x0
  486. *fdi_rx_polarity_inverted = 0x0
  487. legacy_monitor_detect = 0x1
  488. *int_crt_support = 0x1
  489. *int_tv_support = 0x0
  490. section type 254, size 0x20
  491. section type 2, size 0xcb
  492. *CRT DDC GMBUS pin: 2
  493. DPMS ACPI: 0
  494. Skip boot CRT detect: 0
  495. DPMS aim: 1
  496. boot_display: { 0, 0 }
  497. 6 devices
  498. *device type: 1009 (TV)
  499. *dvo_port: 5
  500. *i2c_pin: 0
  501. *slave_addr: 0
  502. *ddc_pin: 0
  503. *dvo_wiring: 0
  504. edid_ptr: 0
  505. *device type: 1022 (flat panel)
  506. *dvo_port: 4
  507. *i2c_pin: 0
  508. *slave_addr: 0
  509. *ddc_pin: 3
  510. *dvo_wiring: 0
  511. edid_ptr: 0
  512. *device type: 0 (Empty)
  513. *device type: 0 (Empty)
  514. *device type: 0 (Empty)
  515. *device type: 0 (Empty)
  516. section type 3, size 0x1
  517. section type 4, size 0x1c
  518. section type 254, size 0x69
  519. section type 6, size 0x16d
  520. section type 7, size 0x7
  521. section type 8, size 0x3d
  522. section type 10, size 0xcb
  523. section type 11, size 0xc7
  524. section type 12, size 0xf
  525. *LVDS config: 1
  526. *Dual frequency: 1
  527. section type 13, size 0x3
  528. section type 14, size 0x9
  529. section type 15, size 0x8b
  530. section type 16, size 0x84
  531. section type 17, size 0x8
  532. section type 18, size 0xc
  533. section type 19, size 0x20
  534. section type 20, size 0x9e
  535. section type 22, size 0x15
  536. *Panel type: 3
  537. section type 23, size 0x48
  538. section type 24, size 0x28
  539. section type 25, size 0x28
  540. section type 26, size 0x2
  541. section type 40, size 0x8
  542. section type 41, size 0x91
  543. section type 42, size 0x4a0
  544. section type 43, size 0x61
  545. section type 44, size 0x15
  546. damo22: phcoder-screen: does that mean for every supported board, an extra step will be needed to parse the roms so that the port can be done
  547. damo22: *CRT DDC GMBUS pin: 2
  548. damo22: i think it is trying pin 3
  549. phcoder-screen: damo22: CRT is VGA
  550. phcoder-screen: ddc_pin is 3 under lvds section
  551. damo22: oh yeah
  552. phcoder-screen: damo22: we already need some info in device tree to init. I think we can reuse it
  553. phcoder-screen: I can upload my parser if you want
  554. damo22: sure, i can parse my T60 and X60t
  555. damo22: and eventually T61
  556. phcoder-screen: CL 5842
  557. damo22: thanks
  558. damo22: phcoder-screen: do you think the EDID is failing to read in linux because the VBT is missing?
  559. phcoder-screen: damo22: it's a likely explanation. I'd reput first 64k of your dump back to place
  560. damo22: where does it belong in the flash?
  561. damo22: c0000?
  562. phcoder-screen: damo22: nowhere. c0000 is in RAM
  563. damo22: so how do i ensure it gets loaded into ram at c0000
  564. phcoder-screen: damo22: memcpy
  565. damo22: im convinced it will work if i do that
  566. damo22: thats like loading the vgarom
  567. damo22: but without executing it
  568. phcoder-screen: damo22: yes
  569. damo22: couldnt i just select it in menuconfig, but comment out the code that runs it?
  570. phcoder-screen: yes
  571. phcoder-screen: and keep in mind that oprom is self-modifying
  572. damo22: yes so i need the final dump to load not the original
  573. phcoder-screen: yes
  574. --
  575. Side discussion (in #libreboot, not #coreboot as above):
  576. vimuser: damo22: what was the problem?
  577. damo22: EDID is not being read in linux
  578. damo22: well it is, but it fails
  579. damo22: probably because the VBT signature is missing from the oprom
  580. vimuser: oprom?
  581. vimuser: You mean native init code?
  582. vimuser: that it doesn't put the proper data in vbt
  583. damo22: there is some special metadata in the oprom that native init doesnt put in
  584. damo22: linux looks for it
  585. damo22: thats how it knows where to read the EDID from
  586. damo22: otherwise it uses a default address that could be wrong
  587. damo22: in some cases it works
  588. damo22: other cases like my X60t it fails
  589. vimuser: that would explain why "read-edid" utility deosn't work on natisev gfx at the mament
  590. vimuser: moment
  591. vimuser: Basstard` ^
  592. damo22: vimuser: phcoder wrote an experimental utility to parse some of the VBT tables from a vgarom
  593. vimuser: Did he share it with you?
  594. damo22: yes
  595. vimuser: Did he upload it publicly?
  596. damo22: http://review.coreboot.org/#/c/5842/
  597. vimuser: Ok cool.
  598. vimuser: Do you think I should try it?
  599. damo22: you could use it to get more info from all your known boards, collect the parsed tables in a folder correctly named with the type of panel and the type of laptop
  600. vimuser: So as per #coreboot, my understanding is: move to new stolen memory address, find that metadata and how it's calculated and write that (memcpy/write32) in native init, get VBT tables parsed from ROM, replicate that in native gfx (stub code, just the addresses and pointers to the native init code)
  601. vimuser: Should this be run an a vgabios.bin, or on a system where vga bios is running (parse it in memory) ?
  602. vimuser: or both?
  603. damo22: we havent got a solution for native init yet, but we do need to collect info from different models
  604. damo22: to see how they compare
  605. vimuser: yes so, vgabios.bin (file) or running vga bios?
  606. damo22: and also we can add it to devicetree.cb somehow later
  607. damo22: preferably the running vgabios
  608. vimuser: ok
  609. damo22: you can dump it with this command:
  610. damo22: sudo dd if=/dev/mem bs=64k of=runningvga.bin skip=12 count=1
  611. damo22: coreboot/util/intelvbttool
  612. damo22: gcc intelvbttool.c -o intelvbttool
  613. vimuser: it would be good for you to run intelvbttool on vgabios.bin and runningvgabios.bin. (where vgabios.bin is extracted from lenovo rom, and runningvgabios.bin is dd'd from memory after it executed)
  614. vimuser: right?
  615. vimuser: (I will do the same)
  616. vimuser: just runningvgabios.bin ?
  617. damo22: its useless in the factory bios
  618. damo22: for the purposes of this test
  619. vimuser: ok
  620. vimuser: Can't hurt though (might be useful later).
  621. damo22: not really, it might be modified at runtime and we wont know anything about it
  622. damo22: we need final values
  623. damo22: the rest is irrelevant
  624. vimuser: Yes. I was saying to run it on final dump, and factory dump.
  625. vimuser: but ok, i will only do it for final dump
  626. --
  627. further discussion, continued in #coreboot:
  628. damo22:we could generate fake_vbt arrays for each model
  629. damo22:vimuser: whats the link to the vbt stuff again
  630. vimuser: http://review.coreboot.org/#/c/5396 for X230
  631. damo22:vimuser: no on libreboot
  632. vimuser: I also added this to the notes at http://libreboot.org/howto.html#i945_vbt and http://libreboot.org/howto.html#intelvbttool_results for future reference.
  633. vimuser: on libreboot? I don't understand.
  634. damo22:its possible that the VBT is modified by the vgarom depending on the panel it detects, assuming it can do that
  635. damo22:only problem is, you need info from the VBT to know where to read the EDID, so how does the vgarom do it?
  636. damo22:maybe its safe to assume that the EDID i2c will be the same for all panels
  637. vimuser: Might be hardcoded (what CareBear calls "stupid magic numbers")
  638. damo22:so we should check all VBTs of the same laptop model and verify that the EDID i2c or ddc pin is the same for all panel types
  639. vimuser: Sorry, when you say VBT do you mean the runningvga.bin dump taken with dd when vgarom is running?
  640. damo22:then we can hardcode that value into the coreboot devicetree.cb
  641. vimuser: I see. it's an i2c bus that connects lvds/vga/vga out
  642. kmalkki:damo22: in your opinion, where is this EDID eeprom physically located?
  643. damo22:kmalkki: on the panel, or the transformer for the panel
  644. kmalkki:damo22: what do you think is a transformer for the panel?
  645. damo22:some circuitry that interfaces between the lvds connector and the panel itself
  646. damo22:on the T60 there is a separate module afaik
  647. damo22:on other models it might be incorporated into the panel idk
  648. damo22:kmalkki: i believe that the VBT has information regarding which pin of the i2c to read for the EDID eeprom/storage
  649. damo22:and it varies panel to panel
  650. kmalkki:would it surprise you DDC signals are often not on the panel connector
  651. damo22:hmm
  652. kmalkki:like, x60 schematics is easily available, do check on some alternative ways how these are done
  653. damo22:ok
  654. kmalkki:damo22: for t60 however... LCD connector does have EDID lines
  655. damo22:kmalkki: well it would be nice to have a general solution to EDID reading
  656. damo22:i need to understand the wiring more and the VBT
  657. kmalkki:DDC signals originate from the graphics device
  658. kmalkki:that will be Intel for some, ATI for some T60 ?
  659. damo22:kmalkki: linux expects the VBT to be in the vgarom memory area, because it uses it to identify when a panel exists, so coreboot should provide VBT like a vendor bios ?
  660. damo22:when vgarom is used with coreboot there is no problem , but for native gfx init it doesnt always work
  661. kmalkki:ok.. so we can ignore ATI case for now
  662. damo22:kmalkki: is that because no native init will be done for that case?
  663. damo22:so the vgarom will always work
  664. kmalkki:ok.. so do you know VBT format?
  665. damo22:kmalkki: phcoder has done lots of work on it already
  666. kmalkki:and.. is there a problem in reading the EDID?
  667. damo22:kmalkki: idk yet, i need to test
  668. damo22:im having trouble building a coreboot rom that uses coreboots native framebuffer so i can see if it worked
  669. damo22:linux reinits the gfx so its not a good test
  670. damo22:but in any case, without the VBT, linux cant reinit my gfx
  671. damo22:it fails to read the EDID
  672. damo22:and without a dock, and cbmem console isnt working, i cant get the coreboot log to check what actually happened
  673. kmalkki:what do you mean cbmem console not working?
  674. damo22:kmalkki: i enabled it in menuconfig and built a rom, but when i run it on my X60t cbmem -c reports No console found
  675. kmalkki:we should get it fixed then
  676. kmalkki:paste your .config
  677. damo22:http://paste.debian.net/101644/
  678. kmalkki:git hash is from local tree.. it does work on master, right?
  679. damo22:idk
  680. damo22:i just cherry picked some native gfx patches
  681. damo22:why would it affect cbmem console
  682. kmalkki:mess up MTRRs or memory space mapping or UMA region...
  683. damo22:ok
  684. kmalkki:are those patches on gerrit you picked?
  685. damo22:well i need these patches because that is why i need the console
  686. damo22:yes
  687. damo22:actually i did minor changes too
  688. damo22::S
  689. kmalkki:yep.. which patches exactly
  690. damo22:5320
  691. damo22:then i changed 2 lines
  692. damo22:a minor devicetree.cb line and this:
  693. damo22:- intel_gma_init(conf, pci_read_config32(dev, 0x5c) & ~0xf,
  694. damo22:+ intel_gma_init(conf, pci_read_config32(dev, 0x5c) & ~0xfffff,
  695. kmalkki:ok.. also paste 'git log' so I find common hash from master
  696. damo22:http://paste.debian.net/101645/
  697. damo22:does anyone have better google xen than me, i cant seem to find a pdf of x60 schematics
  698. Basstard' damo22: Do you mean this? http://www.computerservice.es/wp-content/uploads/2013/05/IBM-X60.pdf
  699. damo22:yep thanks
  700. kmalkki:and now that I am awake, I see DDC signals on x60 LCD too
  701. kmalkki:just.. no DDC or I2C in the signal name but EDID
  702. damo22:yeah
  703. damo22:what bus does the lvds connector use
  704. damo22:is that i2c?
  705. damo22:or should i say, how standard is that lcd connector they are using on the X60
  706. kmalkki:mainboard side is completely non-standard AFAIK
  707. damo22:ohhh
  708. kmalkki:panel side has a few variants on the LVDS input
  709. damo22:ok
  710. damo22:this is not easy to generalise then
  711. damo22:SPWG_EDID_CLK and SPWG_EDID_DATA are the signals i found on the connector
  712. kmalkki:yes. and it looks like phcoder-screen has done all the work to read the EDID
  713. damo22:yes but the address and pins required are stored in the VBT i think
  714. kmalkki:solve your CBMEM console, please
  715. damo22:yea
  716. Basstard' damo22: Here's a cleaner one: http://pdf.datasheetarchive.com/indexerfiles/Datasheets-USER/DSAUPLD00006054.pdf
  717. kmalkki:just verify 1315730 works
  718. damo22:1315730?
  719. GNUtoo-irssi: vimuser: hi, 0x58BF58BE works fine --- cool. (not related to these discussions, but GNUtoo is happy).
  720. <a name="gnutoo_gtt"></a>
  721. GNUtoo-irssi: phcoder-screen: if you're still working on native GPU init for i945(it seems so), I've an observation:
  722. GNUtoo-irssi: gtt is not setup correctly anymore with your versions, the kenrel complains
  723. GNUtoo-irssi: it was with a replay version, so if you're still working on it it may be an usefull hint
  724. GNUtoo-irssi: I've added the code that works inside git, so if you want/need it, ping me
  725. phcoder-screen:damo22: yes
  726. GNUtoo-irssi: beside the kernel warning, the effect is slow 3D with a 3.10 lts kernel
  727. damo22:GNUtoo-irssi: can you push it as a notformerge?
  728. GNUtoo-irssi: ok, good idea
  729. GNUtoo-irssi: ah sigh, again...
  730. GNUtoo-irssi: ! [remote rejected] HEAD -> refs/for/master/NOTFORMERGE-reference-i915_gpu_init-x60 (change 3992 closed)
  731. GNUtoo-irssi: I'll change the IDs
  732. damo22:GNUtoo-irssi: have you seen 5230?
  733. damo22:5320*
  734. phcoder-screen:damo22: rank 0 of either channel is configured but not rank 1
  735. GNUtoo-irssi: let me look
  736. GNUtoo-irssi: I've tried some recent branch for the t60
  737. GNUtoo-irssi: it works well, beside the gtt init issue I just described
  738. damo22:GNUtoo-irssi: given that you were working on 3992 which is closed are you able to rebase your changes on top of 5320?
  739. damo22:hmm 3992 was merged
  740. damo22:phcoder-screen: my dimms are dual rank
  741. <stefanct> GNUtoo-irssi: i am not too familiar with gerrit, but that error message seems to indicate that you should not try to push 3992 again because it is already merged... rebasing the remains of your changes on top of that (or origin/master) should fix that *i guess*
  742. URL to topic: http://review.coreboot.org/#/q/status:open+project:coreboot+branch:master+topic:NOTFORMERGE-reference-i915_gpu_init-x60,n,z
  743. (note: this is old code, not *directly* useful but might be useful later. put this somewhere else in howto.html later)
  744. GNUtoo-irssi: done, NOTFORMERGE-reference-i915_gpu_init-x60
  745. GNUtoo-irssi: yes, I've removed the Ids
  746. GNUtoo-irssi: so they were regenerated
  747. GNUtoo-irssi: the goal is not to rebase at all here
  748. GNUtoo-irssi: that's a reference code
  749. GNUtoo-irssi: it's not for merge either
  750. GNUtoo-irssi: If I start modifying it, I'll need to spend time testing it again
  751. GNUtoo-irssi: I've no time right now
  752. GNUtoo-irssi: maybe I'll have later in theses two weeks
  753. GNUtoo-irssi: but not right now
  754. damo22:GNUtoo-irssi: mainboard/lenovo/x60/i915* has been removed in favour of northbridge/intel/i945/gma.c in 5320
  755. damo22:i thought you had changes for that
  756. GNUtoo-irssi: yes, I know
  757. GNUtoo-irssi: what I just pushed is a *reference code* where the GTT setup works
  758. GNUtoo-irssi: it's old
  759. GNUtoo-irssi: it's not meant to be merged
  760. GNUtoo-irssi: it's not rebased
  761. GNUtoo-irssi: it's just frozen code where it's known to work
  762. GNUtoo-irssi: that's all
  763. damo22:ok
  764. GNUtoo-irssi: it doesn't even handle backlight
  765. GNUtoo-irssi: even with devmem2...
  766. damo22:i'll see if i can find the gtt stuff and compare to 5320
  767. damo22:could be a one liner
  768. damo22:physbase -> uma_memory_base+256*KiB
  769. phcoder-screen:damo22: yes and rank 1 config failed
  770. damo22:phcoder-screen: ok, so i'll get you that mchbar dump
  771. phcoder-screen:damo22: no need yet. I found out that in another ram config my X230 fails as well. I'll investigate this first
  772. kmalkki:GNUtoo-irssi: please abandon the duplicates in your gerrit space
  773. kmalkki:also any microcode files will not be removed until working copies are in 3rdparty/
  774. kmalkki:we probably want to keep the old version in gerrit, with all the comments made previously
  775. damo22:kmalkki: all those patches are noformerge
  776. damo22:not*
  777. kmalkki:damo22: still they are duplicates of already reviewed patches
  778. kmalkki:why the heck the new change-ids
  779. damo22:maybe a git diff to a pastebin would have been better
  780. GNUtoo-irssi: ls
  781. GNUtoo-irssi: oops
  782. <uberushaximus> hunter2
  783. kmalkki:GNUtoo-irssi: please explain your motivation to push that stuff on gerrit
  784. kmalkki:it is not even rebased to current but 6 months old HEAD
  785. GNUtoo-irssi: GTT is setup badly on x60
  786. GNUtoo-irssi: with the recent changes from phcoder
  787. GNUtoo-irssi: what I pushed is a version that is known to have the GTT setup correctly
  788. GNUtoo-irssi: it's for reference
  789. GNUtoo-irssi: so people working on i945 native GPU init would use it to fix that issue faster
  790. GNUtoo-irssi: like diff both
  791. GNUtoo-irssi: or something like that
  792. GNUtoo-irssi: kmalkki: do you have a better description for the topic branch name that describe what I just said?
  793. kmalkki:well gerrit is not for the purpose of storing references
  794. kmalkki:most of those patches already had Change-IDs
  795. kmalkki:now we have duplicates.. and comments can end up in either place
  796. kmalkki:it was already a havoc with native init before
  797. GNUtoo-irssi: ok, so instead I should remove that branch, and push on gitorious?
  798. kmalkki:all of You working on it, try to work a setup that suits you all well
  799. GNUtoo-irssi: briefly: it's for tracking a regression
  800. kmalkki:well I do not do i915 gfx stuff.. but clearly you have a lot of problems trying to keep and follow each others work
  801. kmalkki:and what works and where the regressions have happened
  802. PaulePanter: GNUtoo-irssi: Hi. Do you know if the amount memory reserved for i945 IGD is always constant or if that is configurable?
  803. PaulePanter: GNUtoo-irssi: I did not see a table in the 3rd Gen datasheet.
  804. PaulePanter: http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/3rd-gen-core-family-mobile-vol-2-datasheet.pdf
  805. GNUtoo-irssi: PaulePanter: you mean the GSM?
  806. GNUtoo-irssi: (Graphics stolen memory)
  807. PaulePanter: GNUtoo-irssi: Yes.
  808. PaulePanter: Section 2.5.33 BDSM—Base Data of Stolen Memory Register
  809. GNUtoo-irssi: If I remmeber well it's configurable, but we use the values advised by the datasheet
  810. GNUtoo-irssi: which are derived from the ammount of RAM
  811. PaulePanter: This register contains the base address of graphics data stolen DRAM memory. BIOS determines the base of graphics data stolen memory by subtracting the graphics data stolen memory size (PCI Device 0 offset 52 bits 7:4) from TOLUD (PCI Device 0 offset BCh bits 31:20).
  812. PaulePanter: GNUtoo-irssi: Yes, I am unable to find the advised values.
  813. damo22:PaulePanter: are you sure thats the right datasheet for the cpu inside the X60?
  814. GNUtoo-irssi: ok
  815. GNUtoo-irssi: I can look
  816. PaulePanter: damo22: Not 100 %.
  817. damo22:afaik, BSDM is something kinky in the core iX processors
  818. GNUtoo-irssi: uma_size = 1024;
  819. PaulePanter: Chris Wilson from the Intel graphics Linux driver team said that BDSM ist incorrectly set up.
  820. PaulePanter: … on the i945.
  821. PaulePanter: … by coreboot.
  822. PaulePanter: This is Volume 2 of the Datasheet for the following products:
  823. PaulePanter: Mobile 3rd Generation Intel ® CoreTM processor family
  824. GNUtoo-irssi: in pci_domain_set_resources in northbridge.c
  825. PaulePanter: Mobile Intel ® Pentium ® processor family
  826. GNUtoo-irssi: ok
  827. PaulePanter: Mobile Intel ® Celeron ® processor family
  828. PaulePanter: GNUtoo-irssi: Thanks. So it is constant for now.
  829. PaulePanter: GNUtoo-irssi: So just 1 MB graphics memory?
  830. damo22:i dont remember him mentioning BDSM in the bug report, but he did say the GTT was incorrectly set up?
  831. damo22:graphics stolen stuff
  832. GNUtoo-irssi: no it's not
  833. GNUtoo-irssi: read the function
  834. PaulePanter: “Stolen memory has been set up incorrectly by coreboot.”
  835. PaulePanter: GNUtoo-irssi: Ok.
  836. PaulePanter: GNUtoo-irssi: No idea, if you are aware of https://bugs.freedesktop.org/show_bug.cgi?id=79038 .
  837. GNUtoo-irssi: http://paste.debian.net/101662/
  838. [ 0.764084] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input3
  839. [ 0.771023] pci 0000:00:00.0: Intel 945GM Chipset
  840. [ 0.771075] pci 0000:00:00.0: detected gtt size: 262144K total, 262144K mappable
  841. [ 0.771669] pci 0000:00:00.0: detected 8192K stolen memory
  842. [ 0.771738] [drm] Memory usable by graphics device = 256M
  843. [ 0.772124] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
  844. [ 0.772126] [drm] Driver supports precise vblank timestamp query.
  845. [ 0.772133] i915 0000:00:02.0: Invalid ROM contents
  846. [ 0.772141] [drm] failed to find VBIOS tables
  847. [ 0.772192] [drm] GPU crash dump saved to /sys/class/drm/card0/error
  848. [ 0.772196] [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
  849. [ 0.772198] [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
  850. [ 0.772200] [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
  851. [ 0.772202] [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
  852. [ 0.772207] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
  853. [ 0.772217] i915: render error detected, EIR: 0x00000010
  854. [ 0.772224] i915: page table error
  855. [ 0.772227] i915: PGTBL_ER: 0x00000012
  856. [ 0.772233] [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking
  857. [ 0.772247] i915: render error detected, EIR: 0x00000010
  858. [ 0.772252] i915: page table error
  859. [ 0.772255] i915: PGTBL_ER: 0x00000012
  860. [ 0.924707] [drm] initialized overlay support
  861. [ 1.126501] fbcon: inteldrmfb (fb0) is primary device
  862. [ 1.360027] tsc: Refined TSC clocksource calibration: 1828.749 MHz
  863. [ 1.482148] Console: switching to colour frame buffer device 175x65
  864. [ 1.490507] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
  865. [ 1.490510] i915 0000:00:02.0: registered panic notifier
  866. [ 1.490522] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
  867. [ 1.491931] console [netcon0] enabled
  868. [ 1.491933] netconsole: network logging started
  869. [ 1.494021] ACPI: bus type USB registered
  870. GNUtoo-irssi: that is the regression ^^^^
  871. GNUtoo-irssi: See PGTBL_ER
  872. GNUtoo-irssi: The bits are documented
  873. damo22:i have compared GNUtoo-irssi's patchset with the 5320 stuff that phcoder did, and i found that 1 line needs to be changed
  874. GNUtoo-irssi: (I don't remember where, probably in the datasheet that applies to the more recent GPUs (sic))
  875. damo22:its the base address of the gma init call
  876. PaulePanter: damo22: Are you going to push a patch for testing?
  877. damo22:but in order for it to work you need vgarom with native init, it doesnt run the rom just uses it for VBT
  878. PaulePanter: damo22: I still not see how that should fix the error, but we’ll see.
  879. damo22:how do i squash my commits into one patch that can be applied to 5320?
  880. PaulePanter: damo22: Is that patch really dependent on 5320? I thought it is also needed for the current native graphics init in the tree?
  881. PaulePanter: damo22: `git rebase -i
  882. PaulePanter: `
  883. PaulePanter: damo22: git rebase -i commit-hash-of-5320
  884. damo22:thanks
  885. PaulePanter: damo22: To squash you will need to change `pick` to `f` or `s` for `fixup` or `squash`.
  886. damo22:i have a patch that could be tested on X60: http://review.coreboot.org/#/c/5868/
  887. PaulePanter: damo22: On Nehalem:
  888. PaulePanter: src/northbridge/intel/nehalem/gma.c: intel_gma_init(conf, gtt_res->base, physbase, pio_res->base,
  889. PaulePanter: src/northbridge/intel/nehalem/gma.c- lfb_res->base);
  890. damo22:PaulePanter: i fail to see relevance of nehalem in i945
  891. PaulePanter: damo22: Hopefully the code can be written in a way that common paths are written the same.
  892. PaulePanter: damo22: Let’s first see if the patch fixes it.
  893. PaulePanter: damo22: By the way, which datasheet do you think is correct for the Intel 945 IGD in the Lenovo T60 and X60?
  894. damo22:whichever datasheet includes 945PM (Calistoga) Graphics
  895. damo22:is it PM or GM?
  896. PaulePanter: damo22: I thought GM.
  897. damo22:PM has no integrated graphics so it must be GM
  898. PaulePanter: damo22: Document Number: 309219-006
  899. damo22:PaulePanter: this must be the datasheet: http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/mobile-945-express-chipset-datasheet.pdf
  900. PaulePanter: Mobile Intel® 945 Express Chipset Family
  901. PaulePanter: damo22: ;-)
  902. damo22:309219-006 is correct
  903. PaulePanter: Graphics Stolen Memory and TSEG are within DRAM space defined under TOLUD. From
  904. kmalkki:PaulePanter: did you go through the list of patches in your gerrit space that I suggested needed rebase?
  905. PaulePanter: the top of low used DRAM, (G)MCH claims 1 to 64 MBs of DRAM for internal graphics if
  906. PaulePanter: enabled.
  907. PaulePanter: kmalkki: I thought I did go through most of them.
  908. kmalkki:do you have the list
  909. kmalkki:I did not keep copy :/
  910. kmalkki:5388
  911. kmalkki:that is AMR
  912. PaulePanter: kmalkki: Don’t waste you time with it. I have a copy of your list somewhere and will go through it in the next days.
  913. kmalkki:PaulePanter: +1 5388
  914. damo22:PaulePanter: its an integrated GMA 950 afaik
  915. idwer: oh... 5388 has no priority whatsover to me
  916. idwer: not anymore ;)
  917. damo22:does GM45 support in coreboot have ddr2 AND ddr3 support?
  918. damo22:well that means X200 could be ported with ME disabled
  919. phcoder-screen:damo22: that's my next fun project after raminit for ivy.
  920. * thomasg_ is now known as thomasg
  921. damo22:vimuser: LTN150XG-L08 is my T60 EDID string (for his T60 15" -- this is already noted below in intelvbttool results)
  922. vimuser: damo22: ok, i should test 5868? I understand it puts the vgarom inside but without running it (just for getting VBT tables) but latre we could replace it with something like what the X230 "Deploy VBT" does
  923. damo22:yeah
  924. vimuser: Let me read backlog...
  925. damo22:vimuser: you dont need backlog, everything you need is in the 5868 commit
  926. vimuser: how did your X60t unbricking go, damo22?
  927. damo22:havent bothered finding my screwdrivers yet
  928. vimuser: I need to.... tidy myself up. Back in an hour or so.
  929. vimuser: damo22: upload a ROM for me, with 5868 and grub payload
  930. vimuser: I'll test it for you
  931. damo22:im not good with grub payloads
  932. damo22:i can give you one with seabios
  933. vimuser: ok give me that,
  934. vimuser: also hm ok, give me your .config. I'll add grub myself
  935. damo22:ok
  936. damo22:vimuser: http://paste.debian.net/plain/101692
  937. #
  938. # Automatically generated make config: don't edit
  939. # coreboot version: 4.0-5614-gdb77532
  940. # Mon May 26 00:11:44 2014
  941. #
  942. #
  943. # General setup
  944. #
  945. CONFIG_EXPERT=y
  946. CONFIG_LOCALVERSION=""
  947. CONFIG_CBFS_PREFIX="fallback"
  948. CONFIG_COMPILER_GCC=y
  949. # CONFIG_COMPILER_LLVM_CLANG is not set
  950. # CONFIG_SCANBUILD_ENABLE is not set
  951. # CONFIG_CCACHE is not set
  952. # CONFIG_SCONFIG_GENPARSER is not set
  953. CONFIG_USE_OPTION_TABLE=y
  954. CONFIG_COMPRESS_RAMSTAGE=y
  955. CONFIG_INCLUDE_CONFIG_FILE=y
  956. CONFIG_EARLY_CBMEM_INIT=y
  957. # CONFIG_DYNAMIC_CBMEM is not set
  958. # CONFIG_COLLECT_TIMESTAMPS is not set
  959. # CONFIG_USE_BLOBS is not set
  960. # CONFIG_COVERAGE is not set
  961. #
  962. # Mainboard
  963. #
  964. # CONFIG_VENDOR_AAEON is not set
  965. # CONFIG_VENDOR_ABIT is not set
  966. # CONFIG_VENDOR_ADLINK is not set
  967. # CONFIG_VENDOR_ADVANSUS is not set
  968. # CONFIG_VENDOR_ADVANTECH is not set
  969. # CONFIG_VENDOR_AMD is not set
  970. # CONFIG_VENDOR_AOPEN is not set
  971. # CONFIG_VENDOR_ARIMA is not set
  972. # CONFIG_VENDOR_ARTECGROUP is not set
  973. # CONFIG_VENDOR_ASI is not set
  974. # CONFIG_VENDOR_ASROCK is not set
  975. # CONFIG_VENDOR_ASUS is not set
  976. # CONFIG_VENDOR_A_TREND is not set
  977. # CONFIG_VENDOR_AVALUE is not set
  978. # CONFIG_VENDOR_AXUS is not set
  979. # CONFIG_VENDOR_AZZA is not set
  980. # CONFIG_VENDOR_BACHMANN is not set
  981. # CONFIG_VENDOR_BCOM is not set
  982. # CONFIG_VENDOR_BIFFEROS is not set
  983. # CONFIG_VENDOR_BIOSTAR is not set
  984. # CONFIG_VENDOR_BROADCOM is not set
  985. # CONFIG_VENDOR_COMPAQ is not set
  986. # CONFIG_VENDOR_CUBIETECH is not set
  987. # CONFIG_VENDOR_DIGITALLOGIC is not set
  988. # CONFIG_VENDOR_DMP is not set
  989. # CONFIG_VENDOR_EAGLELION is not set
  990. # CONFIG_VENDOR_ECS is not set
  991. # CONFIG_VENDOR_EMULATION is not set
  992. # CONFIG_VENDOR_GETAC is not set
  993. # CONFIG_VENDOR_GIGABYTE is not set
  994. # CONFIG_VENDOR_GIZMOSPHERE is not set
  995. # CONFIG_VENDOR_GOOGLE is not set
  996. # CONFIG_VENDOR_HP is not set
  997. # CONFIG_VENDOR_IBASE is not set
  998. # CONFIG_VENDOR_IBM is not set
  999. # CONFIG_VENDOR_IEI is not set
  1000. # CONFIG_VENDOR_INTEL is not set
  1001. # CONFIG_VENDOR_IWAVE is not set
  1002. # CONFIG_VENDOR_IWILL is not set
  1003. # CONFIG_VENDOR_JETWAY is not set
  1004. # CONFIG_VENDOR_KONTRON is not set
  1005. # CONFIG_VENDOR_LANNER is not set
  1006. CONFIG_VENDOR_LENOVO=y
  1007. # CONFIG_VENDOR_LINUTOP is not set
  1008. # CONFIG_VENDOR_LIPPERT is not set
  1009. # CONFIG_VENDOR_MITAC is not set
  1010. # CONFIG_VENDOR_MSI is not set
  1011. # CONFIG_VENDOR_NEC is not set
  1012. # CONFIG_VENDOR_NEWISYS is not set
  1013. # CONFIG_VENDOR_NOKIA is not set
  1014. # CONFIG_VENDOR_NVIDIA is not set
  1015. # CONFIG_VENDOR_PCENGINES is not set
  1016. # CONFIG_VENDOR_RCA is not set
  1017. # CONFIG_VENDOR_RODA is not set
  1018. # CONFIG_VENDOR_SAMSUNG is not set
  1019. # CONFIG_VENDOR_SIEMENS is not set
  1020. # CONFIG_VENDOR_SOYO is not set
  1021. # CONFIG_VENDOR_SUNW is not set
  1022. # CONFIG_VENDOR_SUPERMICRO is not set
  1023. # CONFIG_VENDOR_TECHNEXION is not set
  1024. # CONFIG_VENDOR_TECHNOLOGIC is not set
  1025. # CONFIG_VENDOR_TELEVIDEO is not set
  1026. # CONFIG_VENDOR_TI is not set
  1027. # CONFIG_VENDOR_THOMSON is not set
  1028. # CONFIG_VENDOR_TRAVERSE is not set
  1029. # CONFIG_VENDOR_TYAN is not set
  1030. # CONFIG_VENDOR_VIA is not set
  1031. # CONFIG_VENDOR_WINENT is not set
  1032. # CONFIG_VENDOR_WYSE is not set
  1033. CONFIG_BOARD_SPECIFIC_OPTIONS=y
  1034. CONFIG_MAINBOARD_DIR="lenovo/x60"
  1035. CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X60 / X60s"
  1036. CONFIG_IRQ_SLOT_COUNT=18
  1037. CONFIG_MAINBOARD_VENDOR="Lenovo"
  1038. CONFIG_MAX_CPUS=2
  1039. CONFIG_RAMTOP=0x200000
  1040. CONFIG_HEAP_SIZE=0x4000
  1041. CONFIG_RAMBASE=0x100000
  1042. CONFIG_VGA_BIOS_ID="8086,27a2"
  1043. CONFIG_DRIVERS_PS2_KEYBOARD=y
  1044. CONFIG_ONBOARD_VGA_IS_PRIMARY=y
  1045. CONFIG_VGA_BIOS=y
  1046. # CONFIG_CONSOLE_POST is not set
  1047. # CONFIG_UDELAY_IO is not set
  1048. CONFIG_DCACHE_RAM_BASE=0xffdf8000
  1049. CONFIG_DCACHE_RAM_SIZE=0x8000
  1050. CONFIG_SERIAL_CPU_INIT=y
  1051. CONFIG_ACPI_SSDTX_NUM=0
  1052. CONFIG_VGA_BIOS_FILE="vgabios.bin"
  1053. # CONFIG_PCI_64BIT_PREF_MEM is not set
  1054. CONFIG_MMCONF_BASE_ADDRESS=0xf0000000
  1055. CONFIG_ID_SECTION_OFFSET=0x80
  1056. # CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set
  1057. # CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set
  1058. # CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set
  1059. CONFIG_STACK_SIZE=0x1000
  1060. CONFIG_XIP_ROM_SIZE=0x10000
  1061. CONFIG_MMCONF_SUPPORT_DEFAULT=y
  1062. # CONFIG_VGA is not set
  1063. CONFIG_BOARD_LENOVO_X60=y
  1064. # CONFIG_BOARD_LENOVO_X201 is not set
  1065. # CONFIG_BOARD_LENOVO_X230 is not set
  1066. # CONFIG_BOARD_LENOVO_T60 is not set
  1067. CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="LENOVO"
  1068. CONFIG_SEABIOS_PS2_TIMEOUT=3000
  1069. CONFIG_MAINBOARD_VERSION="1.0"
  1070. CONFIG_CPU_ADDR_BITS=32
  1071. CONFIG_CACHE_ROM_SIZE_OVERRIDE=0
  1072. # CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
  1073. CONFIG_LOGICAL_CPUS=y
  1074. CONFIG_IOAPIC=y
  1075. CONFIG_SMP=y
  1076. CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
  1077. # CONFIG_USBDEBUG is not set
  1078. CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
  1079. CONFIG_BOARD_ROMSIZE_KB_2048=y
  1080. # CONFIG_COREBOOT_ROMSIZE_KB_64 is not set
  1081. # CONFIG_COREBOOT_ROMSIZE_KB_128 is not set
  1082. # CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
  1083. # CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
  1084. # CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
  1085. CONFIG_COREBOOT_ROMSIZE_KB_2048=y
  1086. # CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
  1087. # CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
  1088. # CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
  1089. # CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
  1090. CONFIG_COREBOOT_ROMSIZE_KB=2048
  1091. CONFIG_ROM_SIZE=0x200000
  1092. CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
  1093. CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad X60 / X60s"
  1094. CONFIG_ARCH_X86=y
  1095. # CONFIG_ARCH_ARMV7 is not set
  1096. #
  1097. # Architecture (x86)
  1098. #
  1099. CONFIG_X86_ARCH_OPTIONS=y
  1100. CONFIG_AP_IN_SIPI_WAIT=y
  1101. # CONFIG_SIPI_VECTOR_IN_ROM is not set
  1102. CONFIG_MAX_REBOOT_CNT=3
  1103. CONFIG_NUM_IPI_STARTS=2
  1104. CONFIG_X86_BOOTBLOCK_SIMPLE=y
  1105. # CONFIG_X86_BOOTBLOCK_NORMAL is not set
  1106. CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c"
  1107. # CONFIG_UPDATE_IMAGE is not set
  1108. # CONFIG_ROMCC is not set
  1109. CONFIG_PC80_SYSTEM=y
  1110. CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/i945/bootblock.c"
  1111. CONFIG_HAVE_CMOS_DEFAULT=y
  1112. CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
  1113. CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c"
  1114. CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
  1115. # CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
  1116. CONFIG_HPET_ADDRESS=0xfed00000
  1117. CONFIG_HAVE_ARCH_MEMSET=y
  1118. CONFIG_HAVE_ARCH_MEMCPY=y
  1119. CONFIG_HAVE_ARCH_MEMMOVE=y
  1120. # CONFIG_MAINBOARD_HAS_CHROMEOS is not set
  1121. #
  1122. # Chipset
  1123. #
  1124. #
  1125. # CPU
  1126. #
  1127. CONFIG_SOCKET_SPECIFIC_OPTIONS=y
  1128. # CONFIG_CPU_AMD_AGESA is not set
  1129. CONFIG_HAVE_INIT_TIMER=y
  1130. CONFIG_HIGH_SCRATCH_MEMORY_SIZE=0x0
  1131. CONFIG_CPU_INTEL_MODEL_6EX=y
  1132. CONFIG_CPU_INTEL_MODEL_6FX=y
  1133. CONFIG_SMM_TSEG_SIZE=0
  1134. CONFIG_CPU_INTEL_SOCKET_MFCPGA478=y
  1135. CONFIG_SSE2=y
  1136. # CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
  1137. # CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set
  1138. CONFIG_UDELAY_LAPIC=y
  1139. CONFIG_LAPIC_MONOTONIC_TIMER=y
  1140. # CONFIG_UDELAY_TSC is not set
  1141. # CONFIG_UDELAY_TIMER2 is not set
  1142. # CONFIG_TSC_CALIBRATE_WITH_IO is not set
  1143. # CONFIG_TSC_SYNC_LFENCE is not set
  1144. CONFIG_TSC_SYNC_MFENCE=y
  1145. # CONFIG_SMM_TSEG is not set
  1146. # CONFIG_SMM_MODULES is not set
  1147. # CONFIG_X86_AMD_FIXED_MTRRS is not set
  1148. # CONFIG_PARALLEL_MP is not set
  1149. # CONFIG_BACKUP_DEFAULT_SMM_REGION is not set
  1150. CONFIG_CACHE_AS_RAM=y
  1151. CONFIG_AP_SIPI_VECTOR=0xfffff000
  1152. CONFIG_MMX=y
  1153. CONFIG_SSE=y
  1154. CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
  1155. CONFIG_CPU_MICROCODE_ADDED_DURING_BUILD=y
  1156. CONFIG_CPU_MICROCODE_CBFS_GENERATE=y
  1157. # CONFIG_CPU_MICROCODE_CBFS_EXTERNAL is not set
  1158. # CONFIG_CPU_MICROCODE_CBFS_NONE is not set
  1159. #
  1160. # Northbridge
  1161. #
  1162. CONFIG_VIDEO_MB=0
  1163. # CONFIG_NORTHBRIDGE_AMD_AGESA is not set
  1164. # CONFIG_AMD_NB_CIMX is not set
  1165. # CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set
  1166. CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
  1167. CONFIG_NORTHBRIDGE_INTEL_I945=y
  1168. # CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC is not set
  1169. CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM=y
  1170. CONFIG_CHANNEL_XOR_RANDOMIZATION=y
  1171. # CONFIG_OVERRIDE_CLOCK_DISABLE is not set
  1172. # CONFIG_CHECK_SLFRCS_ON_RESUME is not set
  1173. CONFIG_CBFS_SIZE=0x200000
  1174. CONFIG_HPET_MIN_TICKS=0x80
  1175. CONFIG_MAX_PIRQ_LINKS=4
  1176. #
  1177. # Southbridge
  1178. #
  1179. CONFIG_EHCI_BAR=0xfef00000
  1180. # CONFIG_AMD_SB_CIMX is not set
  1181. # CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
  1182. # CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set
  1183. CONFIG_AMD_SB_SPI_TX_LEN=4
  1184. # CONFIG_SPI_FLASH is not set
  1185. CONFIG_SOUTHBRIDGE_INTEL_COMMON=y
  1186. CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
  1187. CONFIG_SOUTHBRIDGE_RICOH_RL5C476=y
  1188. #
  1189. # Super I/O
  1190. #
  1191. CONFIG_SUPERIO_NSC_PC87382=y
  1192. CONFIG_SUPERIO_NSC_PC87392=y
  1193. #
  1194. # Embedded Controllers
  1195. #
  1196. CONFIG_EC_ACPI=y
  1197. CONFIG_EC_LENOVO_H8=y
  1198. CONFIG_H8_DOCK_EARLY_INIT=y
  1199. CONFIG_EC_LENOVO_PMH7=y
  1200. #
  1201. # SoC
  1202. #
  1203. #
  1204. # Devices
  1205. #
  1206. CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y
  1207. # CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG is not set
  1208. CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
  1209. # CONFIG_VGA_ROM_RUN is not set
  1210. # CONFIG_ON_DEVICE_ROM_RUN is not set
  1211. # CONFIG_MULTIPLE_VGA_ADAPTERS is not set
  1212. CONFIG_PCI=y
  1213. # CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set
  1214. CONFIG_PCIX_PLUGIN_SUPPORT=y
  1215. CONFIG_PCIEXP_PLUGIN_SUPPORT=y
  1216. CONFIG_AGP_PLUGIN_SUPPORT=y
  1217. CONFIG_CARDBUS_PLUGIN_SUPPORT=y
  1218. # CONFIG_AZALIA_PLUGIN_SUPPORT is not set
  1219. # CONFIG_PCIEXP_COMMON_CLOCK is not set
  1220. # CONFIG_PCIEXP_ASPM is not set
  1221. CONFIG_PCI_BUS_SEGN_BITS=0
  1222. #
  1223. # VGA BIOS
  1224. #
  1225. #
  1226. # Display
  1227. #
  1228. #
  1229. # PXE ROM
  1230. #
  1231. # CONFIG_PXE_ROM is not set
  1232. CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
  1233. CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
  1234. #
  1235. # Generic Drivers
  1236. #
  1237. # CONFIG_DRIVERS_I2C_RTD2132 is not set
  1238. CONFIG_DRIVERS_ICS_954309=y
  1239. # CONFIG_INTEL_DP is not set
  1240. # CONFIG_INTEL_DDI is not set
  1241. CONFIG_INTEL_EDID=y
  1242. # CONFIG_IPMI_KCS is not set
  1243. # CONFIG_DRIVER_MAXIM_MAX77686 is not set
  1244. # CONFIG_DRIVERS_OXFORD_OXPCIE is not set
  1245. # CONFIG_DRIVER_PARADE_PS8625 is not set
  1246. # CONFIG_TPM is not set
  1247. # CONFIG_RTL8168_ROM_DISABLE is not set
  1248. # CONFIG_DRIVERS_SIL_3114 is not set
  1249. # CONFIG_DRIVER_TI_TPS65090 is not set
  1250. CONFIG_HAVE_UART_IO_MAPPED=y
  1251. # CONFIG_HAVE_UART_MEMORY_MAPPED is not set
  1252. # CONFIG_HAVE_UART_SPECIAL is not set
  1253. # CONFIG_DRIVER_XPOWERS_AXP209 is not set
  1254. CONFIG_MMCONF_SUPPORT=y
  1255. #
  1256. # Console
  1257. #
  1258. CONFIG_EARLY_CONSOLE=y
  1259. CONFIG_SQUELCH_EARLY_SMP=y
  1260. CONFIG_CONSOLE_SERIAL=y
  1261. CONFIG_CONSOLE_SERIAL8250=y
  1262. CONFIG_CONSOLE_SERIAL_COM1=y
  1263. # CONFIG_CONSOLE_SERIAL_COM2 is not set
  1264. # CONFIG_CONSOLE_SERIAL_COM3 is not set
  1265. # CONFIG_CONSOLE_SERIAL_COM4 is not set
  1266. CONFIG_TTYS0_BASE=0x3f8
  1267. CONFIG_CONSOLE_SERIAL_115200=y
  1268. # CONFIG_CONSOLE_SERIAL_57600 is not set
  1269. # CONFIG_CONSOLE_SERIAL_38400 is not set
  1270. # CONFIG_CONSOLE_SERIAL_19200 is not set
  1271. # CONFIG_CONSOLE_SERIAL_9600 is not set
  1272. CONFIG_TTYS0_BAUD=115200
  1273. CONFIG_TTYS0_LCS=3
  1274. # CONFIG_SPKMODEM is not set
  1275. CONFIG_HAVE_USBDEBUG=y
  1276. # CONFIG_HAVE_USBDEBUG_OPTIONS is not set
  1277. # CONFIG_CONSOLE_NE2K is not set
  1278. # CONFIG_CONSOLE_CBMEM is not set
  1279. CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
  1280. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
  1281. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
  1282. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
  1283. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
  1284. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
  1285. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
  1286. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
  1287. # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
  1288. # CONFIG_NO_POST is not set
  1289. # CONFIG_CMOS_POST is not set
  1290. CONFIG_IO_POST=y
  1291. CONFIG_IO_POST_PORT=0x80
  1292. CONFIG_HAVE_ACPI_RESUME=y
  1293. # CONFIG_HAVE_ACPI_SLIC is not set
  1294. CONFIG_HAVE_HARD_RESET=y
  1295. CONFIG_HAVE_MONOTONIC_TIMER=y
  1296. # CONFIG_TIMER_QUEUE is not set
  1297. CONFIG_HAVE_OPTION_TABLE=y
  1298. # CONFIG_PIRQ_ROUTE is not set
  1299. CONFIG_HAVE_SMI_HANDLER=y
  1300. # CONFIG_PCI_IO_CFG_EXT is not set
  1301. CONFIG_USE_WATCHDOG_ON_BOOT=y
  1302. CONFIG_GFXUMA=y
  1303. # CONFIG_RELOCATABLE_MODULES is not set
  1304. # CONFIG_HAVE_REFCODE_BLOB is not set
  1305. CONFIG_HAVE_ACPI_TABLES=y
  1306. CONFIG_HAVE_MP_TABLE=y
  1307. CONFIG_HAVE_PIRQ_TABLE=y
  1308. #
  1309. # System tables
  1310. #
  1311. CONFIG_GENERATE_ACPI_TABLES=y
  1312. CONFIG_GENERATE_MP_TABLE=y
  1313. CONFIG_GENERATE_PIRQ_TABLE=y
  1314. CONFIG_GENERATE_SMBIOS_TABLES=y
  1315. #
  1316. # Payload
  1317. #
  1318. # CONFIG_PAYLOAD_NONE is not set
  1319. # CONFIG_PAYLOAD_ELF is not set
  1320. # CONFIG_PAYLOAD_LINUX is not set
  1321. CONFIG_PAYLOAD_SEABIOS=y
  1322. # CONFIG_PAYLOAD_FILO is not set
  1323. # CONFIG_PAYLOAD_GRUB2 is not set
  1324. # CONFIG_PAYLOAD_TIANOCORE is not set
  1325. CONFIG_SEABIOS_STABLE=y
  1326. # CONFIG_SEABIOS_MASTER is not set
  1327. CONFIG_PAYLOAD_FILE="$(obj)/seabios/out/bios.bin.elf"
  1328. CONFIG_COMPRESSED_PAYLOAD_LZMA=y
  1329. #
  1330. # Debugging
  1331. #
  1332. # CONFIG_GDB_STUB is not set
  1333. # CONFIG_DEBUG_CBFS is not set
  1334. CONFIG_HAVE_DEBUG_RAM_SETUP=y
  1335. # CONFIG_DEBUG_RAM_SETUP is not set
  1336. # CONFIG_HAVE_DEBUG_CAR is not set
  1337. # CONFIG_DEBUG_PIRQ is not set
  1338. # CONFIG_HAVE_DEBUG_SMBUS is not set
  1339. # CONFIG_DEBUG_SMI is not set
  1340. # CONFIG_DEBUG_SMM_RELOCATION is not set
  1341. # CONFIG_DEBUG_MALLOC is not set
  1342. # CONFIG_DEBUG_ACPI is not set
  1343. # CONFIG_TRACE is not set
  1344. # CONFIG_ENABLE_APIC_EXT_ID is not set
  1345. CONFIG_WARNINGS_ARE_ERRORS=y
  1346. # CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
  1347. # CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
  1348. # CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
  1349. # CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
  1350. damo22:you need to still add the vgabios filename
  1351. damo22:CONFIG_VGA_BIOS_FILE="vgabios.bin" is the current setting
  1352. damo22:# CONFIG_CONSOLE_CBMEM is not set woops
  1353. vimuser: damo22 » register "gpu_lvds_is_dual_channel" = "1"
  1354. vimuser: on x60/devicetree.cb
  1355. damo22:vimuser: well check your VBT i think its correct though
  1356. vimuser: so 0 was wrong?
  1357. damo22:it might depend on panel
  1358. vimuser: Oh
  1359. vimuser: I get it now.
  1360. vimuser: I didn't see any code in 5868 that executes anything from the vgarom but,
  1361. vimuser: you set coreboot to load it into memory, but not execute it.
  1362. vimuser: I thought "load" only meant put it in cbfs
  1363. vimuser: is this a correct assessment?
  1364. vimuser: To let kernel find vbt tables.
  1365. vimuser: And then we "fake" it later (withotu vga rom loaded).
  1366. vimuser: damo22: are you testing 5868 on your X60t?
  1367. damo22:vimuser: its to make linux kernel detect lvds after native init, but if you can also test coreboot native framebuffer with grub too, that would be handy
  1368. vimuser: So, vgarom has nothing to do with that patch.
  1369. vimuser: ?
  1370. vimuser: All I see is a change of stolen memory address, and the backlight values added
  1371. damo22:vimuser: its tricky because the final vgabios in memory changes depending on the panel, because vgarom is self modifying
  1372. vimuser: So should I include the vgarunning.bin instead of vgabios.bin ?
  1373. damo22:yes
  1374. damo22:vimuser: if you can load grub as payload and you see something, its a success
  1375. vimuser: damo22: the problem is, without that patch I just use 5320 as-is, and I see grub as payload already.
  1376. vimuser: Hence my question above.
  1377. damo22:vimuser: also, if you can boot into linux after that and dont get any error messages from drm module, its a double success
  1378. vimuser: Which error messages (besides "Invalid ROM contents") am I looking for?
  1379. damo22:vimuser: stuff like, page fault
  1380. vimuser: And should I enable any specific debugging options (such as drm.debug=0x06)
  1381. damo22:yes that would help
  1382. vimuser: Ok: which logs do you want?
  1383. vimuser: I'll upload it for your reference
  1384. damo22:vimuser: kernel boot log and Xorg.0.log, coreboot log if possible
  1385. vimuser: probably kern.log and Xorg.0.log
  1386. vimuser: coreboot log is possible, i have dock.
  1387. vimuser: anything else?
  1388. damo22:that is all, thanks
  1389. vimuser: ok. will do.
  1390. vimuser: damo22: I could test this on T60 aswell by cherry picking 5345, right?
  1391. damo22:vimuser: idk
  1392. vimuser: (and addinf backlight value to deivcetree)
  1393. vimuser: We should devise a way to test this on T60 aswell.
  1394. damo22:vimuser: lets just see if the x60 fix works
  1395. damo22:it still needs work if the test passes
  1396. vimuser: Ok but, you just have that one line changed in gma.c, and backlight value changed it x60/devicetree.cb
  1397. damo22:yes
  1398. damo22:phcoder did most of the work
  1399. vimuser: So, I could run this same test on T60 by cherry picking 5345 on top of 5868, changing t60/devicetree.cb's backlight value and including T60 runningvga.bin and having that load (but not execute)
  1400. damo22:its a small bug i think
  1401. vimuser: I will do that above, after X60 is tested.
  1402. damo22:vimuser: youre always talking about more and more combinations of tests, lets just get one right
  1403. vimuser: Yes. Just a thought. We'll test X60 exclusively. T60 can easily be tested later.
  1404. vimuser: Ok..... back soon. I'll get you the results you wanted. I'll be using 3.14.4 (the one samnob made).
  1405. damo22:thanks
  1406. vimuser: We should do this with the latest runningvga.bin (from extracting with dd on the latest vgabios.bin)
  1407. vimuser: My one is older
  1408. damo22:vimuser: version number of vgabios is irrelevant if it was taken from a lenovo bios that used to run on your machine, and since pulled from ram
  1409. damo22:ie, it should have the correct VBT values
  1410. damo22:for your machine
  1411. </pre>
  1412. </p>