Hello,
Since r3482 I have not had any VGA or serial IO from libpayload. The reason seems to be that the CONFIG_ macros generated by kconfig are never made available to the C source files during compilation. Before r3482 the CONFIG_ macros were obtained by including autoconf.h in libpayload.h.
In the attached patch, config.h from the new kconfig is included in libpayload.h, but I'm not quite sure if this is the appropriate place.
Compile tested against libpayload+coreinfo svn HEAD. Runtime tested with libpayload+coreinfo+coreboot-v3 in QEMU.
/ulf
Ulf Jordan wrote:
Hello,
Since r3482 I have not had any VGA or serial IO from libpayload. The reason seems to be that the CONFIG_ macros generated by kconfig are never made available to the C source files during compilation. Before r3482 the CONFIG_ macros were obtained by including autoconf.h in libpayload.h.
In the attached patch, config.h from the new kconfig is included in libpayload.h, but I'm not quite sure if this is the appropriate place.
Compile tested against libpayload+coreinfo svn HEAD. Runtime tested with libpayload+coreinfo+coreboot-v3 in QEMU.
Not sure it matters; But when including libpayload.h in other projects, you will pull in these projects' config.h instead, which might or might not be there, or have a different meaning.
Including "config.h" is principally not a bad idea, though, as we might start to make function prototypes available on a CONFIG_XXX basis, too. Not just the functions themselfes.
Otoh, we might also add -imacros config.h or similar to the CFLAGS/INCLUDES
On 11/08/08 09:13 +0200, Stefan Reinauer wrote:
Ulf Jordan wrote:
Hello,
Since r3482 I have not had any VGA or serial IO from libpayload. The reason seems to be that the CONFIG_ macros generated by kconfig are never made available to the C source files during compilation. Before r3482 the CONFIG_ macros were obtained by including autoconf.h in libpayload.h.
In the attached patch, config.h from the new kconfig is included in libpayload.h, but I'm not quite sure if this is the appropriate place.
Compile tested against libpayload+coreinfo svn HEAD. Runtime tested with libpayload+coreinfo+coreboot-v3 in QEMU.
Not sure it matters; But when including libpayload.h in other projects, you will pull in these projects' config.h instead, which might or might not be there, or have a different meaning.
Including "config.h" is principally not a bad idea, though, as we might start to make function prototypes available on a CONFIG_XXX basis, too. Not just the functions themselfes.
Otoh, we might also add -imacros config.h or similar to the CFLAGS/INCLUDES
config.h should be included by the individual .c files, not the master header file.
Jordan