Ken Fuchs wrote:
It would even be possible to use the JTAG connector to flash the system BIOS. All Opteron mainboards must include "JTAG" circuits, but
Jeff Carr wrote:
You don't say!
Yes, AMD requires all Opteron (probably uniprocessor AMD64 too) mainboards have the "JTAG" debugging circuits so AMD's Hardware Debug Tool (HDT - requies a host with MS Windows 2000/XP & NDA) will run on them. Any Opteron mainboard without "JTAG" circuits would have to be developed without AMD's support, so such mainboards probably don't exist.
usually don't include the two JTAG headers. Adding the headers is quite easy.
Hmmm. two headers? Interesting.
Yes, one per Opteron processor. Obviously only one would be needed to flash the BIOS.
An open source Opteron JTAG flash programmer probably won't happen any time soon,
Sorry, I was just being pessimistic here. I'm not even sure the Opteron JTAG chains support flashing the BIOS device, but I would be surprised if it didn't.
Holy (**& that's fantastic. It sure might happen soon! OK, I might be getting ahead of myself. Are you sure the Opteron doesn't require a ITP or similar debugging port? Or in other words: Can you single step/halt the processor/dump registers using the JTAG port. Lets hope so; otherwise you might not be able to do much via the JTAG port.
AMD requires a special JTAG port be used for the Opteron (AMD64). The AMD64 JTAG header is 2x13 with 0.05" spacing between pins.
The HDT software running on a MS Windows 2000/XP host can be used to single step/halt the processor, dump registers and a whole lot more.
The American Arium ECM-50 can be attached using an Opteron Personality Module via the JTAG (HDT) port. Provides nice source level debugging.
JTAG is a fantastic standard -- I'd expect it to be adopted for any new chip entering the market.
It has been used for several years, AFAIK.
although it shouldn't be too difficult to do. Anyone aware of an open source JTAG flash programmer of any kind?
Yes, there are at least two projects. I added a JTAG programming page to the FAQ: http://linuxbios.org/index.php/JTAG/BSDL_Guide
Thank you!
Macraigor Systems produces and sells the Raven or OCDemon device that is required to attach to the AMD Opteron JTAG. They also have GNU software that allows one to use their OCD adapters (Raven & OCDemon):
http://www.macraigor.com/full_gnu.htm
So here are some questions then:
Do you know of any motherboards that leave the JTAG connections populated?
I don't think any motherboards include JTAG headers, except possibly Reference Design mainboards produced by chipset makers to demonstate their chipsets to mainboard manufacturers. However, even my nVidia CK8-04 CRB mainboard did not come with JTAG headers. However, the toggle switch that enables JTAG access to one or both CPUs was included. Those 2x13 .05" headers must be expensive.
Do you have instructions for populating them on some motherboard I could pick up?
There are only two 2x13 .05" pads for the headers, so it should be easy to see where they. If the headers are keyed (have a missing pin), one may need to look at the mainboard schematic to get the right orientation. You would need that in any case to get the ribbon cables attached to the header with the proper orientation.
Do you have links to the Opteron JTAG docs (these docs will tell you what you can and can't do from the JTAG port)?
Clearly, the Opteron JTAG docs are available on the AMD NDA web site, but I suspect that the more basic JTAG information is available without need for an NDA from
We will need the BSDL files for the Opteron. Now if only that was the case for the Pentium M...
The closest I could find was BSDL files for K6:
http://www.amd.com/epd/designing/tsdocs/3.bsdfiles/
Maybe, if the right person nicely asks the right person at AMD, they would provide the BSDL files for the Opteron. Couldn't hurt to try.
Sincerely,
Ken Fuchs kfuchs@winternet.com