I think I got it... It is pretty easy to enable the serial output. Just
define IDSOPT_TRACING_ENABLED to TRUE in
src/mainbaord/MAINBAORDDIR/OptionsIds.h . It will link the coreboot's
printk (debug level 7) to AGESA console. So if you enable serial port in
coreboot's Kconfig it will work out-of-the-box. But expect fixing the
vendorcode to get it compiled. In the end you should have full output
from AGESA.
--
Michał Żygowski
Firmware Engineer
https://3mdeb.com | @3mdeb_com
On 16.10.2020 10:19, Michal Zygowski wrote:
> Hi Paul,
>
> See inline repsonses.
>
> On 15.10.2020 20:04, Angel Pons wrote:
>>> Clay
>>>
>>>
>>> On Thu, Oct 15, 2020 at 3:54 AM Paul Menzel
pmenzel@molgen.mpg.de wrote:
>>>> Dear coreboot folks,
>>>>
>>>>
>>>> To get PCI bridge 0:15.2 enabled for the network device on the Asus
>>>> F2A85-M PRO, I want to debug the PCIe General Purpose Ports lane
>>>> configuration of the FCH.
>>>>
>>>> I’d like to print some variables in
>>>>
>>>> src/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcie/GppPortInit.c
>>>>
>>>> over the serial console. It looks like
>>>>
>>>> #include <console/console.h>
>>>>
>>>> and `printk(BIOS_DEBUG, …)` compiles, but the messages are not sent over
>>>> serial console. Is that expected?
>>>>
>>>> Do I need to use AGESA’s Integrated Debug Services (IDS) [1], and enable
>>>> the console in `src/mainboard/asus/f2a85-m/OptionsIds.h`?
>
> I got it once working for apu1 (agesa f14) but it took a lot to fix
> (printf formats, etc.). Yes it is compiled with IDS settings in the
> mainboard directory. I have to look if I have a branch with the code still.
>
>> I don't know if AGESA is compiled into a different stage, which would
>> be called `libagesa`. I've just seen some mentions of this in the
>> coreboot code. I suspect logging there might need to be handled
>> differently (similar to how we handle logging in SMM, which is
>> disabled by default).
>>
>> I'd be surprised if any of the IDS stuff still builds fine. No one
>> bothered to migrate the IDS controls in OptionsIds.h to Kconfig.
>> Should you want to do so, please add various config files in configs/
>> to ensure the IDS code gets build-tested.
>>
>>
> Angel,
>
> The basic IDS which are required to build are fine, but if you enable
> something additional, well... probably you will need to fix few more
> things in vendorcode :) Yes, it is compiled as libagesa, but it doesn't
> make any difference, since it is linked to each stage IIRC. The macros
> AGESA is using to print debug info (IDS_HTD_CONSOLE) is linked to
> coreboot's printk so it ends up in the same console.
>
> I don't think it is necessary to port IDS to Kconfig. i f you include
> config.h in the ids.h in the mainboard and bind the correct defines, it
> should work?
>
> Best regards,
>