mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
and create a valid LAR header with an entry value. This will fix the problems Ron is having on the ALIX 1C and probably allow it to boot. It also sets the text base of the .o to 0, instead of whatever wacky value gld is choosing, so all platforms will have the same value. Get away from worrying about potential gld bugs, now and in the future. As added benefit, we obsolete a lot of code without introducing new code. Qemu target entry point debugging has been added to be able to spot problems with entry points in the future. This patch is a joint work of Ron and Carl-Daniel. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@523 f3766cd6-281f-0410-b1cd-43a5c92072e9
44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
/*
|
|
* This file is part of the LinuxBIOS project.
|
|
*
|
|
* Copyright (C) 2007 Stefan Reinauer <stepan@coresystems.de>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#define _MAINOBJECT
|
|
|
|
#include <console.h>
|
|
|
|
/* printktest1() is here to increase the likelihood of main() not ending up at
|
|
* the beginning of the file, so we can check whether the entry point at main()
|
|
* was honored.
|
|
*/
|
|
int printktest1(void)
|
|
{
|
|
printk(BIOS_INFO, "printktest1: If the immediately preceding line does"
|
|
" not say \"Nothing to do.\", then execution did not start at"
|
|
" main()\n");
|
|
|
|
return 0;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
printk(BIOS_INFO, "RAM init code started.\n");
|
|
printk(BIOS_INFO, "Nothing to do.\n");
|
|
printktest1();
|
|
|
|
return 0;
|
|
}
|