summaryrefslogtreecommitdiff
path: root/payloads
AgeCommit message (Collapse)Author
2008-08-11these use CONFIG_ variables, too.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3495 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-11video.c uses CONFIG_ variables, so it needs config.h (trivial)Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3494 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-09Bugfixes to serial output functions: vt100 has bold with \e[1m,Ulf Jordan
upper left corner is (0,0) in curses, but (1,1) on the vt100. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3493 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-09Fix garbage characters on screen. mvwaddch inserts one character,Ulf Jordan
not a character array. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3492 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-09Fix signedness problem in memcmp.Ulf Jordan
Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3491 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08i messed this up.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3490 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08compile fix (trivial)Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3489 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08new menu structure for libpayloadStefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3488 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08fix some more warnings.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3487 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08fix warnings when starting make menuconfigStefan Reinauer
(trivial) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3486 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08Drop useless .gitignore files.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3484 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08Drop useless .gitignore files.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3483 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-08Update the kconfig copy in libpayload to a much more recent one. AmongUwe Hermann
other things this supposedly also fixes a number of build issues on Mac OS X. This is more or less the same version (i.e. equally recent) as we have in coreinfo and buildrom now. This patch also includes the libintl.h fix from r3475 (coreinfo). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3482 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07Add a full set of pci access functions.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3479 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07fix stack protection detection with Jordan's suggestionStefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3478 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07fix cross compilationor libpayload / coreinfo by honoringStefan Reinauer
the setting of CC in the payload (coreinfo) when calling make CC=i386-elf-gcc AS=i386-elf-as AR=i386-elf-ar STRIP=i386-elf-strip This still does not cope with the hardcoded -fno-stack-protector in libpayload's Makefile. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3477 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07Cosmetic fixes (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3476 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07fix make menuconfig if no libintl.h is found. (trivial)Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3475 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-07add get_option to libpayload, so coreboot cmos options can be queried.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3474 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-05Move out some hardcoded strings in coreinfo to become Kconfig variables.Uwe Hermann
This is useful for use with (e.g.) Bayou in order let the user customize the payload name, description, version, etc. For instance, instead of using stock coreinfo and calling the payload "coreinfo" and the Bayou menu item "Show system information" a user might only be interested in an NVRAM dump payload. Thus, he/she can enable only the NVRAM coreinfo module via Kconfig, and tell Kconfig to call the payload "NVRAMdumper" and the Bayou menu item "Show NVRAM contents". This is build-tested, and tested against Bayou in QEMU. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3472 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-04Remove duplicated code which is already in libpayload (trivial).Uwe Hermann
Build-tested against the latest libpayload. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3471 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-04Add missing #include.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3470 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-07-18Random coding style fixes and simplifications (trivial).Uwe Hermann
This will even reduce the final payload size a bit. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3427 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-07-08Add a coreinfo module which can hexdump arbitrary RAM regions andUwe Hermann
allows you to scroll through the RAM contents. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3419 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-06-20coreinfo: Enable serial supportJordan Crouse
Remove the lines preventing serial + curses thanks to r3370. Trivial. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3371 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-06-20libpayload: Support curses for serialJordan Crouse
Support the curses interface over serial by supporting a minimal vt100 terminal. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3370 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-27coreinfo: Specify a name, listname and desc item for coreinfoJordan Crouse
These values are consumed by the chooser payload. listname is presented on the chooser menu. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3355 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-27libpayload: Add PAYLOAD_INFO macroJordan Crouse
Adds the PAYLOAD_INFO macro to store payload information in a data section in the ELF which can be consumed by other entities. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3354 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-27libpayload: Add a function to verify the checksum on a LAR fileJordan Crouse
This function verifies the checksum on a LAR file. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3352 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-21Add KEY_ESC (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3342 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20coreinfo: Use the ESC key to exit the payloadJordan Crouse
Enable the ESC key to close coreinfo - useful if you are using a chooser and want to return to it. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3340 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20coreinfo: Fix the subwindow refresh based on the libpayload changesJordan Crouse
Changes to libpayload to fix subwindows broke coreinfo. This fixes it, and improves performance by eliminating the entire screen refresh every second. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3339 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20libpayload: Add an exec() and i386_do_exec() functionJordan Crouse
Add functions for libpayload to execute other payloads in memory, and have those functions return cleanly. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3338 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20libpayload: Add larfptr functionJordan Crouse
Add a function to get a pointer to the start of a LAR entry. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3337 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20libpayload: Fix curses subwindowsJordan Crouse
This fixes subwindows in curses so that they draw and refresh correctly. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3336 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-14libpayload: implement wborder functionJordan Crouse
Implement the wborder function for curses to draw a box around a window. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3317 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-14libpayload: Fix the putc functionJordan Crouse
Reverse rows and columns on the video putc() function, and watch printf work again. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3316 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-13This is a trivial patch which fixes the tint build by removing the extraMyles Watson
typedef for time_t. The other half bumps the tint patch revision in buildrom to take advantage of it. Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3303 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-11Fix the build when serial console support is disabled (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3298 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-11Quickfix to repair 'make clean; make menuconfig' (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3297 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-07coreinfo: Add a module for browsing the boot LARJordan Crouse
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3289 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-07libpayload: Add LAR walking supportJordan Crouse
Add suport for walking LARs. These try to emulate the f* functions from POSIX, though they are obviously different in their behavior. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3288 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-06coreinfo: Show the current time and date in the menuJordan Crouse
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3286 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-06We were in the risk of running out of space in the option menu atJordan Crouse
the bottom of the screen - this turns the function keys into categories and then list specific items as part of the category. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3285 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-06The previous commit had more in it then I wanted - so I am revertingJordan Crouse
this and re-commiting so that the history and comments are correct. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3284 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-06coreinfo: Move the rdtsc.h include into the #ifdef CONFIG_MODULE_CPUINFOJordan Crouse
rdtsc.h shouldn't be included unless we really need it (and use it). Trivial. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3283 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-25libpayload: Add gettimeofday() and friendsJordan Crouse
Add a gettimeofday() implementation - it works pretty well, but it drifts a little bit so its not very suitable for keeping time. It works best to track changes in time over small periods of time. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3272 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-25libpayload: Fix a small but aggressive bug in printf()Jordan Crouse
This was causing the returned counter value to be one more then it should be when printing a single character. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Ward Vandewege <ward@gnu.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3271 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-25libpayload: Enable keyboard translation so that we can use scancode set 1Jordan Crouse
The qemu keyboard controller defaults to using scancode set 2, we use set 1. Turn on the translate mode in the keyboard controller to force the issue. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3270 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-25libpayload: Fix malloc allocationJordan Crouse
Apparently the previous version worked on luck. Fix the allocation and add parens to better guide the compiler. Also, halt() if the heap is poisoned (like by an overrun). Finally, fix calloc() so that it actually works. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3269 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-25libpayload: Add the null terminator to the end of the duplicated stringJordan Crouse
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3268 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-22Add support for a 'bootlog' module to coreinfo.Uwe Hermann
It displays the coreboot printk buffer in RAM and let's you scroll through it. This feature is only available for coreboot v3 though, as v2 doesn't have a printk-buffer feature, yet. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3247 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-22Show index numbers in the NVRAM dump, similar to the PCI config space dump.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3246 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-21libpayload: Fix keyboard bugletJordan Crouse
This solves the multiple keystroke issue that popped up recently. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3245 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-15Move curses/speaker.c to drivers/ as it's not curses-specific (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3240 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-15Add the patch for building tint as payload, as well as a small README,Uwe Hermann
into the payloads/external/tint directory. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3239 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-12Correct upper boundary for isxdigit.Ulf Jordan
Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3238 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-11Drop unneeded #includes, add EXIT_SUCCESS/EXIT_FAILURE (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3237 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-11Rewrite and filling of libc/ctype.c (thus adjusting copyright line).Uwe Hermann
Use a simple one-liner for each of the functions. You can surely optimize the code some more, but I chose not to do that in order to keep it readable. When compiling with -Os the size differences are minimal. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3236 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-11Convert BIN2HEX/HEX2BIN to functions and add the abs() familyUwe Hermann
of functions while we're at it. hex2bin() now also supports upper-case input characters. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3235 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-11Various small consistency fixes (trivial):Uwe Hermann
- Use _FOO_H include guard format everywhere. - Add missing speaker.c prototypes to libpayload.h. - Consistently use short form u8/u16/u32 instead of uint8_t et. al. - kcofig: Use 'depends on' instead of 'depends', which seems deprecated. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3234 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-11libpayload: Add a Geode video driverJordan Crouse
Add a Geode video driver in lieu of VGA on Geode LX devices Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3233 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-10libpayload: Support functions for GeodeJordan Crouse
The Geode video driver will require a number of support functions, including udelay(), PCI bus walking and MSRs. This adds those functions in preparation for the actual code. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3231 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-10libpayload: Add video console frameworkJordan Crouse
Add a framework for multiple video console drivers. This is to prepare for the Geode driver. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3230 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-10libpayload: Avoid .svn files in the header installJordan Crouse
Slight tweak to to the install target to avoid copying .svn files. Trivial self ack. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3229 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-10coreinfo: Make coreinfo use the gcc-wrappers from libpayloadJordan Crouse
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3228 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-09Make the sample Makefile a bit more generic, so it can be adapted moreUwe Hermann
easily for other payloads. Also, add a 'distclean' target (trivial). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3227 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-09libpayload: Implement gcc wrappers for libpayloadJordan Crouse
libpayload uses a ton of flags and other scary gcc and ld options. These wrappers hide most of that from the user, so that using libpayload is as easy as lpgcc -o hello hello.c Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3226 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-08Add missing prototypes for libc/rand.c functions (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3225 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-08Small curses fixes/additions for libpayload (trivial).Uwe Hermann
- Properly set LINES and COLS, needed for a real curses application. - Implement notimeout() and wtimeout(), which are trivial. - Implement a dummy flushinp() for now as it's needed by a curses application I'm porting, will be replaced by something useful later. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3224 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-08libpayload: Add a timeout function for getchar and getchJordan Crouse
Implement a timeout option for getchar() to return after so many milliseconds. Also implement the same thing for curses using the halfdelay() function. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-07Add rand/rand_r/srand functions for generating pseudo-random bytes.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3222 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-05libpayload: remove unneeded stack stuffJordan Crouse
Following on the previous code to streamline the libpayload init code, this removes the now unneeded stack structures. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3217 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-04Fix the case where the user selects no modules in Kconfig at all.Uwe Hermann
Until now, the build would break, and even if it didn't the ELF would triple-fault in QEMU. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3216 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-04Document a rough estimate of how much space in the ELF file each of theUwe Hermann
coreinfo features / modules will consume (trivial). The measurements were done with libpayload r3213 (but compiled with -Os), and coreinfo r3211 (also compiled with -Os). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3214 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-04Add BIN2HEX and HEX2BIN macros (trivial).Uwe Hermann
They're generally useful for lots of stuff, but especially for converting to/from the compact 160 bit (20 byte) representation of SHA-1 hashes to the "hex" representation (same as 'sha1sum' output), which is 40 bytes long. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3213 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-03Add a SHA-1 implementation to libpayload.Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3212 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-03Doing another 'make' after a 'make clean' was broken until now. Fix itUwe Hermann
by not deleting build/config.h during 'make clean' (only in 'make distclean'). Also, change the default behaviour of 'make' from asking the user to run 'make config' (or similar) to actually _run_ 'make config' without asking questions. It's always possible to explicitly invoke 'make menuconfig' or 'make xconfig' and so on, of course. Finally, make _all_ targets (allyesconfig, randconfig, and so on) generate a build/config.h file, as we always #include it. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3211 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-02Add missing snprintf() to libc/printf.c (trivial).Uwe Hermann
This is also taken from the HelenOS project. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3210 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Libpayload fixes to prevent triple-faults when running in QEMU.Klaus Schnass
Let the linker figure out the correct address and just CALL the start_main entry point. Signed-off-by: Klaus Schnass <dev@stuffit.at> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3204 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Add support for an "NVRAM Dump" screen in coreinfo (optional), as well as forUwe Hermann
displaying the current date/time in the lower-right corner (optional). Also, only build/use coreinfo modules which were selected in kconfig. This makes coreinfo truly modular, and you can save quite a bit of ROM space by disabling unwanted parts of coreinfo. Finally, simplify the Makefile a bit by getting rid of MODULES (and only using OBJECTS). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3203 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Fix the NVRAM access functions to work correctly for theUwe Hermann
upper 128 bytes of NVRAM (if enabled). For most chipsets this means using I/O ports 0x72/0x73, but at least on some VIA chipsets (I tested the VIA VT8237R on actual hardware) these ports won't work and you have to use 0x74/0x75. Thus, make this a Kconfig option for now. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3202 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Whitespace fixes (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3201 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Rename drivers/cmos.c to drivers/nvram.c (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3200 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-31Due to popular demand, rename "CMOS" to "NVRAM" (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3199 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-29[libpayload] Work around sign-extending issueJordan Crouse
Somewhere characters are getting sign-extended, meaning that the attributes of the drawing chars (>= 128) are wrong. Cast the value before sending it to VGA. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3195 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-27Add initial support for some basic CMOS read/write functions and theUwe Hermann
bcd2dec()/dec2bcd() functions we'll need for (among other things) converting some date/time parameters in CMOS. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3192 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-27Various tiny fixes (trivial):Uwe Hermann
- Show PCI IDs as 4-digit numbers always. - Cosmetic changes to make UI look more consistent. - Drop MODULE_COUNT #define and use ARRAY_SIZE() where needed. - Small fix to improve build system (create build/ when not there). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3191 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-27Drop -Os in libpayload for now, it causes run-time problems for someUwe Hermann
strange reason (broken curses/VGA display, maybe others). It'll be re-enabled when we fixed that. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3190 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-24Add a recent kconfig version to coreinfo, in order to make theUwe Hermann
supported features configurable later (currently unused). Store all build files and results (coreinfo.elf) in build/ now. I'm self-acking this as (though non-"trivial") it doesn't affect coreinfo in its functionality, this is more or less a "cosmetic" change to the build interface ("make" -> "make menuconfig && make"). This is a kconfig checkout from the Linux kernel (where kconfig is being actively maintained) from 03/2008. The hash identifying the last commit to kconfig is 587c90616a5b44e6ccfac38e64d4fecee51d588c. The amount of changes to kconfig itself has been kept as small as possible to keep the diff small and to ease updating/porting to newer kconfig versions. The following changes were performed on the upstream Linux kconfig: - s/kernel/coreinfo/, and s/Linux/coreinfo/ in various strings. - Consistently use the env. variable KERNELVERSION in all kconfig interfaces -- e.g. config/menuconfig/gconfig/xconfig -- as version number. - Hardcode our paths/filenames in some places (could be improved upstream). - Always write .config and build/config.h, no matter which kconfig interface is used (config/menuconfig/gconfig/xconfig). We want to include build/config.h in our code. - Adapt the kconfig Makefile for our purposes (build/ directory, rules, etc). In addition, a few items in the coreinfo Makefile are needed for this to work. This kconfig setup is successfully tested with all targets from 'make help': config - Update current config utilising a line-oriented program menuconfig - Update current config utilising a menu based program xconfig - Update current config utilising a QT based front-end gconfig - Update current config utilising a GTK based front-end oldconfig - Update current config utilising a provided .config as base silentoldconfig - Same as oldconfig, but quietly randconfig - New config with random answer to all options defconfig - New config with default answer to all options allmodconfig - New config selecting modules when possible allyesconfig - New config where all options are accepted with yes allnoconfig - New config where all options are answered with no For 'make defconfig' to work you have to do (which we don't need in coreinfo): $ mkdir configs; touch configs/defconfig You can also use 'make foo_defconfig' in which case kconfig will use a file called 'configs/foo_defconfig' as basis. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3188 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-23Make functions static (where possible) to reduce code size (trivial).Uwe Hermann
Also, disable header() for now, as it's not being used. Here are some stats on size differences: - ls 23820 coreinfo.old.elf 23564 coreinfo.new.elf - size *elf text data bss dec hex filename 15199 2468 181904 199571 30b93 coreinfo.old.elf 14934 2468 181912 199314 30a92 coreinfo.new.elf Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3187 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-22Make cursor positioning work by using both halves of theJonathan A. Kollasch
VGA cursor position register. Have vga_scroll_up() and vga_clear_line() present row/column arguments to the VIDEO() macro in the right order. Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net> Acked-by: Jordan Crouse <jordan.crouse@amd.com> -This line, and those below, will be ignored-- M libpayload/drivers/vga.c git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3186 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-21Cosmetics, fix typos (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3185 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-21Quickfix for libpayload's strcpy() to properly NUL-terminate strings (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3184 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Fix code to allow usage of -Wall in libpayload and the sample (trivial).Uwe Hermann
This even fixes two bugs: - get_cpu_speed() didn't return a value. - The line win->_color - PAIR_NUMBER(0); should actually be win->_color = PAIR_NUMBER(0); Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3182 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Smaller fixes to allow using -Wall (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3181 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Cosmetics, coding style fixes (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3180 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Change kconfig references from 'buildrom' to 'libpayload'.Christopher Kilgour
Signed-off-by: Christopher Kilgour <techie@whiterocker.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3179 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Allow 'make menuconfig' to function within libpayload.Christopher Kilgour
Removes reference to BusyBox. Signed-off-by: Christopher Kilgour <techie@whiterocker.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3178 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Make the list of functions in libpayload.h more complete (trivial).Uwe Hermann
We need to think about the exact API we want to expose later, though. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3177 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1