This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Dreamcast bootup failed fix
- From: Yoshinori Sato <ysato at users dot sourceforge dot jp>
- To: eCos patches <ecos-patches at sources dot redhat dot com>
- Date: Thu, 22 Apr 2004 22:45:41 +0900
- Subject: Dreamcast bootup failed fix
Dreamcast cannot boot by some problems.
1. Because definitions of CYG_HAL_STARTUP is illegal,
cannot form jmp to reset_platform justly.
2. IPL starts execution from 0x8c010000, but cannot start
normally because _reset is 0x8c010200.
Correct a problem with this patch.
--
Yoshinori Sato
<ysato@users.sourceforge.jp>
Index: arch/current/ChangeLog
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/arch/current/ChangeLog,v
retrieving revision 1.1.1.8
retrieving revision 1.3
diff -u -r1.1.1.8 -r1.3
--- arch/current/ChangeLog 4 Mar 2004 05:15:21 -0000 1.1.1.8
+++ arch/current/ChangeLog 22 Apr 2004 13:07:47 -0000 1.3
@@ -1,3 +1,8 @@
+2004-04-22 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * src/vectors.S
+ * src/sh.ld: Add Dreamcast startup entry. fix bootup failed.
+
2004-02-05 Kelvin Lawson <klawson@ad-holdings.co.uk>
* include/hal_var_bank.inc: Fix build error on non-FPU systems due to
Index: arch/current/include/hal_var_bank.inc
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/arch/current/include/hal_var_bank.inc,v
retrieving revision 1.1.1.2
retrieving revision 1.3
diff -u -r1.1.1.2 -r1.3
Index: arch/current/src/sh.ld
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/arch/current/src/sh.ld,v
retrieving revision 1.1.1.4
retrieving revision 1.2
diff -u -r1.1.1.4 -r1.2
--- arch/current/src/sh.ld 27 Nov 2003 14:28:49 -0000 1.1.1.4
+++ arch/current/src/sh.ld 21 Apr 2004 17:01:17 -0000 1.2
@@ -203,6 +203,13 @@
CYG_LABEL_DEFN(_bss_end) = ABSOLUTE (.); } \
> _region_
+# define SECTION_entry(_region_, _vma_, _lma_) \
+ .entry _vma_ : _lma_ \
+ { \
+ KEEP(*(.entry)) \
+ } \
+ > _region_
+
#define SECTIONS_END . = ALIGN(4); CYG_LABEL_DEFN(end) = .; PROVIDE (end = .);
#include <pkgconf/system.h>
Index: arch/current/src/vectors.S
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/arch/current/src/vectors.S,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -u -r1.1.1.3 -r1.2
--- arch/current/src/vectors.S 4 Mar 2004 05:15:24 -0000 1.1.1.3
+++ arch/current/src/vectors.S 22 Apr 2004 13:07:47 -0000 1.2
@@ -73,6 +73,20 @@
#define n__DEBUG
+#ifdef CYGPKG_HAL_SH_SH7750_DREAMCAST
+#------------------------------------------------------------------------------
+# Dreamcast CD-ROM Boot entry
+ .section .entry,"ax"
+ .org 0
+FUNC_START(_dc_entry)
+ mov.l $reset,r0
+ jmp @r0
+ nop
+ .align 2
+$reset:
+ .long CYG_LABEL_DEFN(_reset)
+#endif
+
#===========================================================================
# Start by defining the exceptions vectors.
Index: dreamcast/current/ChangeLog
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/dreamcast/current/ChangeLog,v
retrieving revision 1.1.1.2
retrieving revision 1.4
diff -u -r1.1.1.2 -r1.4
--- dreamcast/current/ChangeLog 26 May 2002 12:29:07 -0000 1.1.1.2
+++ dreamcast/current/ChangeLog 22 Apr 2004 13:11:35 -0000 1.4
@@ -1,3 +1,11 @@
+2004-04-22 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * cdl/hal_sh_sh7750_dreamcast.cdl: typo fix.
+
+2004-04-21 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * include/plf_io.h: add macro "CYGARC_PCI_DMA_ADDRESS"
+
2001-11-21 Jesper Skov <jskov@redhat.com>
* cdl/hal_sh_sh7750_dreamcast.cdl: Added
Index: dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl 26 May 2002 12:29:07 -0000 1.1.1.2
+++ dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl 21 Apr 2004 17:01:17 -0000 1.2
@@ -82,8 +82,8 @@
cdl_component CYG_HAL_STARTUP {
display "Startup type"
flavor data
- legal_values "RAM"
- default_value "RAM"
+ legal_values {"RAM"}
+ default_value {"RAM"}
no_define
define -file system.h CYG_HAL_STARTUP
description "
Index: dreamcast/current/include/plf_io.h
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/dreamcast/current/include/plf_io.h,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- dreamcast/current/include/plf_io.h 26 May 2002 12:29:09 -0000 1.1.1.2
+++ dreamcast/current/include/plf_io.h 21 Apr 2004 16:53:58 -0000 1.2
@@ -117,6 +117,8 @@
#define HAL_PCI_PHYSICAL_MEMORY_BASE 0x00000000
#define HAL_PCI_PHYSICAL_IO_BASE 0x00000000
+#define CYGARC_PCI_DMA_ADDRESS(_x_) ((_x_) & 0x1fffffff)
+
//-----------------------------------------------------------------------------
#endif // ifndef CYGONCE_PLF_IO_H
// End of plf_io.h
Index: dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.ldi
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.ldi,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.ldi 21 Apr 2002 16:58:49 -0000 1.1.1.1
+++ dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.ldi 21 Apr 2004 17:01:17 -0000 1.2
@@ -12,6 +12,7 @@
SECTIONS
{
SECTIONS_BEGIN
+ SECTION_entry (ram, 0x8c010000, LMA_EQ_VMA)
SECTION_vectors (ram, 0x8c010200, LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
Index: dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.mlt
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/sh/dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.mlt,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.mlt 21 Apr 2002 16:58:49 -0000 1.1.1.1
+++ dreamcast/current/include/pkgconf/mlt_sh_sh7750_dreamcast_ram.mlt 21 Apr 2004 17:01:17 -0000 1.2
@@ -1,5 +1,6 @@
version 0
region ram 8c000000 1000000 0 !
+section entry 0 1 0 1 1 1 1 1 8c010000 8c010000 text text !
section vectors 0 1 0 1 1 1 1 1 8c010200 8c010200 text text !
section text 0 4 0 1 0 1 0 1 fini fini !
section fini 0 4 0 1 0 1 0 1 rodata1 rodata1 !