User:GNUtoo
- I did the port to the M4A785T-M
- I've an x60
- I've an alix.1C
scripts to help getting rid of the vbios of the x60
Script 1: generate the io access for the coreboot driver
- follow "Case study: new laptop (not complete, sorry)" in https://docs.google.com/document/d/1g8FMob25VZYxbWri2iFB8YiSL8gwF9vKJH3HGxr0xQU/edit?pli=1
- pacman -S plan9port
- cp /opt/plan9/bin/ssam ./
- replace the following line in ./ssam:
#!/usr/local/plan9/bin/rc
by the following line:
#!/opt/plan9/bin/rc
- create the ssamfix file with:
,s/\[ *[0-9]+\..[0-9]+\]//g ,s/^ *//g y/^[RWU]/s/^/M /g ,s/\nU/ ;;;UDELAY/g ,|uniq -c ,s/^ *//g ,s/(^[0-9]+) ([MRW])/\2 \1/g ,s/"/\\"/g ,s/^M ([0-9]+) *(\[.*)/{M, \1, "\2"},/g ,s/^M ([0-9]+) *(.*)/{M, \1, "\2"},/g ,s/: */:/g ,s/...UDELAY *([0-9]+)/\1/g ,s/^([RW]) ([0-9]+) (.*):0x([0-9a-f]+)(.*)/{\1, \2, "", \3, 0x\4, \5},/g
- run the following commands:
. /etc/profile.d/plan9.sh cat dmesg| ./ssam -f ssamfix > foo.c
Script2: compare the io access that were too fast
- Replace {V,0,}, with {V,7,}, in src/mainboard/vendor/device/i915io.c
- cat /dev/ttyUSB0 > accesses.txt
- Use that script against accesses.txt to find the guilty accesses:
#!/usr/bin/env python2 import sys,re def main(args): try: f = open(args[1],'ro') except: print args[0], " <file>" for line in f: if re.match("0x[0-9]*: Got .*, expect .*",line): line = line.replace('\r\n',).replace(", expect ",':').replace(": Got ",':') split = line.split(':') #print split if split[1] != split[2]: print line if __name__ == '__main__': main(sys.argv)
How to get semantic IOs
In i915tool:
- import your IOs in prettyregs.c
- compile prettyregs.c
- run prettyregs
How to get rid of the vbios of the x60 [New Version]
use picocom -b 115200 /dev/ttyUSB0 or stty to set the bauds of the Serial port. Then get logs:
$ cat /dev/ttyUSB0 | tee coreboot.log
Then remove the binary symbols, dos2unix will help identifying where they are:
$ dos2unix coreboot.log dos2unix: Binary symbol found at line 136332 dos2unix: Skipping binary file coreboot.log
Then do:
$ dos2unix coreboot.log
Then remove the lines before and after the log, the log looks like that:
[0047229e]c000:51cb outl(0x80001014, 0x0cf8) [0047325f]c000:51d4 inw(0x0cfc) = 0x50a1