This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 !


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]