summaryrefslogtreecommitdiff
path: root/lib_i386
diff options
context:
space:
mode:
Diffstat (limited to 'lib_i386')
-rw-r--r--lib_i386/bios_setup.c6
-rw-r--r--lib_i386/board.c20
-rw-r--r--lib_i386/bootm.c5
-rw-r--r--lib_i386/video_bios.c3
4 files changed, 23 insertions, 11 deletions
diff --git a/lib_i386/bios_setup.c b/lib_i386/bios_setup.c
index 75f04a0..33c842c 100644
--- a/lib_i386/bios_setup.c
+++ b/lib_i386/bios_setup.c
@@ -140,8 +140,9 @@ int bios_setup(void)
{
static int done=0;
int vector;
+#ifdef CONFIG_PCI
struct pci_controller *pri_hose;
-
+#endif
if (done) {
return 0;
}
@@ -223,12 +224,13 @@ int bios_setup(void)
* (This, ofcause break on multi hose systems,
* but our PCI BIOS only support one hose anyway)
*/
+#ifdef CONFIG_PCI
pri_hose = pci_bus_to_hose(0);
if (NULL != pri_hose) {
/* fill in last pci bus number for use by the realmode
* PCI BIOS */
RELOC_16_BYTE(0xf000, pci_last_bus) = pri_hose->last_busno;
}
-
+#endif
return 0;
}
diff --git a/lib_i386/board.c b/lib_i386/board.c
index 55fa42a..1734f86 100644
--- a/lib_i386/board.c
+++ b/lib_i386/board.c
@@ -32,6 +32,7 @@
#include <watchdog.h>
#include <command.h>
#include <devices.h>
+#include <timestamp.h>
#include <version.h>
#include <malloc.h>
#include <net.h>
@@ -70,7 +71,7 @@ ulong i386boot_bios_size = (ulong)&_i386boot_bios_size; /* size of BIOS
const char version_string[] =
- U_BOOT_VERSION" (" __DATE__ " - " __TIME__ ")";
+ U_BOOT_VERSION" (" U_BOOT_DATE " - " U_BOOT_TIME ")";
/*
@@ -84,7 +85,7 @@ static int mem_malloc_init(void)
{
/* start malloc area right after the stack */
mem_malloc_start = i386boot_bss_start +
- i386boot_bss_size + CFG_STACK_SIZE;
+ i386boot_bss_size + CONFIG_SYS_STACK_SIZE;
mem_malloc_start = (mem_malloc_start+3)&~3;
/* Use all available RAM for malloc() */
@@ -137,7 +138,7 @@ static int display_banner (void)
i386boot_romdata_dest, i386boot_romdata_dest+i386boot_romdata_size-1,
i386boot_bss_start, i386boot_bss_start+i386boot_bss_size-1,
i386boot_bss_start+i386boot_bss_size,
- i386boot_bss_start+i386boot_bss_size+CFG_STACK_SIZE-1);
+ i386boot_bss_start+i386boot_bss_size+CONFIG_SYS_STACK_SIZE-1);
return (0);
@@ -213,7 +214,7 @@ init_fnc_t *init_sequence[] = {
NULL,
};
-gd_t *global_data;
+gd_t *gd;
void start_i386boot (void)
{
@@ -226,7 +227,7 @@ void start_i386boot (void)
show_boot_progress(0x21);
- gd = global_data = &gd_data;
+ gd = &gd_data;
/* compiler optimization barrier needed for GCC >= 3.4 */
__asm__ __volatile__("": : :"memory");
@@ -266,7 +267,7 @@ void start_i386boot (void)
int i;
ulong reg;
char *s, *e;
- uchar tmp[64];
+ char tmp[64];
i = getenv_r ("ethaddr", tmp, sizeof (tmp));
s = (i > 0) ? tmp : NULL;
@@ -412,7 +413,10 @@ void hang (void)
unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
{
/*
- * Nios function pointers are address >> 1
+ * TODO: Test this function - changed to fix compiler error.
+ * Original code was:
+ * return (entry >> 1) (argc, argv);
+ * with a comment about Nios function pointers are address >> 1
*/
- return (entry >> 1) (argc, argv);
+ return (entry) (argc, argv);
}
diff --git a/lib_i386/bootm.c b/lib_i386/bootm.c
index 522d7ad..ea19b3d 100644
--- a/lib_i386/bootm.c
+++ b/lib_i386/bootm.c
@@ -34,12 +34,15 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
void *base_ptr;
ulong os_data, os_len;
image_header_t *hdr;
- int ret;
+
#if defined(CONFIG_FIT)
const void *data;
size_t len;
#endif
+ if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
+ return 1;
+
if (images->legacy_hdr_valid) {
hdr = images->legacy_hdr_os;
if (image_check_type (hdr, IH_TYPE_MULTI)) {
diff --git a/lib_i386/video_bios.c b/lib_i386/video_bios.c
index 45f78e2..ce96a3e 100644
--- a/lib_i386/video_bios.c
+++ b/lib_i386/video_bios.c
@@ -136,6 +136,8 @@ static u32 probe_pci_video(void)
#endif
+#ifdef CONFIG_VIDEO
+
static int probe_isa_video(void)
{
u32 ptr;
@@ -217,3 +219,4 @@ int video_bios_init(void)
return 1;
}
+#endif