summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/cmd_bootm.c2
-rw-r--r--common/cmd_elf.c2
-rw-r--r--common/cmd_ide.c12
-rw-r--r--common/cmd_pcmcia.c3
4 files changed, 18 insertions, 1 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index e138d78b..2ac5763 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -192,6 +192,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
if (hdr->ih_arch != IH_CPU_ARM)
#elif defined(__I386__)
if (hdr->ih_arch != IH_CPU_I386)
+#elif defined(__mips__)
+ if (hdr->ih_arch != IH_CPU_MIPS)
#else
# error Unknown CPU type
#endif
diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index 149ffa3..7495762 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -252,11 +252,13 @@ int valid_elf_image (unsigned long addr)
return 0;
}
+#if 0
if (ehdr->e_machine != EM_PPC) {
printf ("## Not a PowerPC elf image at address 0x%08lx\n",
addr);
return 0;
}
+#endif
return 1;
}
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index d082d5e..94fc89b 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -489,11 +489,14 @@ void ide_init (void)
#ifdef CONFIG_IDE_8xx_PCCARD
extern int pcmcia_on (void);
+ extern int ide_devices_found; /* Initialized in check_ide_device() */
WATCHDOG_RESET();
+ ide_devices_found = 0;
/* initialize the PCMCIA IDE adapter card */
- if (pcmcia_on())
+ pcmcia_on();
+ if (!ide_devices_found)
return;
udelay (1000000); /* 1 s */
#endif /* CONFIG_IDE_8xx_PCCARD */
@@ -550,6 +553,13 @@ void ide_init (void)
int dev = bus * (CFG_IDE_MAXDEVICE / max_bus_scan);
#endif
+#ifdef CONFIG_IDE_8xx_PCCARD
+ /* Skip non-ide devices from probing */
+ if ((ide_devices_found & (1 << bus)) == 0) {
+ ide_led ((LED_IDE1 | LED_IDE2), 0); /* LED's off */
+ continue;
+ }
+#endif
printf ("Bus %d: ", bus);
ide_bus_ok[bus] = 0;
diff --git a/common/cmd_pcmcia.c b/common/cmd_pcmcia.c
index f9bd0ba..31abbaf 100644
--- a/common/cmd_pcmcia.c
+++ b/common/cmd_pcmcia.c
@@ -268,6 +268,7 @@ static int pcmcia_off (void)
#define MAX_TUPEL_SZ 512
#define MAX_FEATURES 4
+int ide_devices_found;
static int check_ide_device (int slot)
{
volatile uchar *ident = NULL;
@@ -347,6 +348,8 @@ static int check_ide_device (int slot)
return (1);
}
+ ide_devices_found |= (1 << slot);
+
/* set I/O area in config reg -> only valid for ARGOSY D5!!! */
*((uchar *)(addr + config_base)) = 1;