[coreboot] AMD AGESA: How to access an indexed register?

Paul Menzel paulepanter at users.sourceforge.net
Mon May 13 18:56:59 CEST 2013


Dear coreboot folks,


to read the value of the BIOS Timer (section 2.11.4 of the BIOS and
Kernel Developer’s Guide (BKDG) for the AMD Family 14 processors [1]), I
am stuck at how to do that.

Below is the register description from the BKDG.

        D0F0xE4_x0130_80F0 BIOS Timer
        -----------------------------
        Reset: 0000_0000h.
        -----------------------------
        Bits
                31:0
        Description
                MicroSeconds. Read-write; updated-by hardware. This
                field increments once every microsecond when the timer
                is enabled. The counter rolls over and continues
                counting when it reaches FFFF_FFFFh. A write to this
                register causes the counter to reset and begin counting
                from the value written.

I could not find any wrapper(?) function in the non-vendor code for
that. In the vendor code directory `src/vendorcode/amd/agesa/f14/`, I
found only `PcieRegisterRead`, which looks “hard” to access from
outside.

        $ git grep -i iocf8
        $ git grep -i d0f0xe4 src/vendorcode/amd/agesa/f14

Any pointers to code already dealing with such indexed registers or
instructions how to do that would help me very much.


Thanks,

Paul


[1] http://www.coreboot.org/Datasheets#AMD_Fam14
    BKDG 43170 Rev 3.13 – February 17, 2012

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20130513/a5ea3e1f/attachment.sig>


More information about the coreboot mailing list