

This is a set of tools to compare (extended) K8 memory settings.

Before you can use them, you need to massage the relevant BKDG sections into
useable data. Here's how.

First, you need to acquire a copy of the K8 BKDG. Go here:

  Rev F: http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/32559.pdf

Then make sure pdftotext is installed (it's in the poppler-utils package on Debian/Ubuntu).

Now run the bkdg through pdftotext:

  pdftotext -layout 32559.pdf 32559.txt

Now extract sections 4.5.15 - 4.5.19 from the file, and save it separately, say as bkdg-raw.data.

Finally run the txt file through the parse-bkdg.pl script like so:

  parse-bkdg.pl < bkdg-raw.data > bkdg.data

Now we have the bkdg.data file that is used by the other scripts.

If you want to test the scripts without doing all this work, you can use some
sample input files from the 'example_input/' directory.

--
Ward Vandewege, 2009-10-28.
ward@jhvc.com

