summaryrefslogtreecommitdiff
path: root/lib_m68k
diff options
context:
space:
mode:
Diffstat (limited to 'lib_m68k')
-rwxr-xr-x[-rw-r--r--]lib_m68k/bootm.c11
-rw-r--r--lib_m68k/interrupts.c4
2 files changed, 8 insertions, 7 deletions
diff --git a/lib_m68k/bootm.c b/lib_m68k/bootm.c
index 0798e07e3..958c5ce01 100644..100755
--- a/lib_m68k/bootm.c
+++ b/lib_m68k/bootm.c
@@ -111,11 +111,12 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
/*
* Linux Kernel Parameters (passing board info data):
- * r3: ptr to board info data
- * r4: initrd_start or 0 if no initrd
- * r5: initrd_end - unused if r4 is 0
- * r6: Start of command line string
- * r7: End of command line string
+ * sp+00: Ignore, side effect of using jsr to jump to kernel
+ * sp+04: ptr to board info data
+ * sp+08: initrd_start or 0 if no initrd
+ * sp+12: initrd_end - unused if initrd_start is 0
+ * sp+16: Start of command line string
+ * sp+20: End of command line string
*/
(*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);
/* does not return */
diff --git a/lib_m68k/interrupts.c b/lib_m68k/interrupts.c
index 2dc079bee..133494f6d 100644
--- a/lib_m68k/interrupts.c
+++ b/lib_m68k/interrupts.c
@@ -61,7 +61,7 @@ static __inline__ void set_sr (unsigned short sr)
*/
void irq_install_handler (int vec, interrupt_handler_t * handler, void *arg)
{
- if ((vec < 0) || (vec > NR_IRQS)) {
+ if ((vec < 0) || (vec >= NR_IRQS)) {
printf ("irq_install_handler: wrong interrupt vector %d\n",
vec);
return;
@@ -73,7 +73,7 @@ void irq_install_handler (int vec, interrupt_handler_t * handler, void *arg)
void irq_free_handler (int vec)
{
- if ((vec < 0) || (vec > NR_IRQS)) {
+ if ((vec < 0) || (vec >= NR_IRQS)) {
return;
}