Hi Daniel,
Daniel Alomar wrote:
En/na Greg Ungerer ha escrit:
Applied. Some of the patches though didn't put there resulting
files in the correct places. For example ram.ld ended up at the
top of the linux-2.4.x directory, instead of down under
linux-2.4.x/arch/m68knommu/platform/5282/SERRA.
Yes, there was another little bug I notice now.... Here you have fixed
if you didn't fix it.
Yeah, I fix that before committing.
Regards
greg
The patch #8 is partial in binary mode because I added some images to
the webserver
I have only one question, on the patch #10 I have to modified the
telnetd Makefile form the user application to be able to start/stop
telnetd service. Now the inetd.conf is on flash, and we can modify.
Is this the correct way to start/stop telnetd?
I would do this in your vendor specific Makefile.
I'll try it
Regards
Greg
Regards,
------------------------------------------------------------------------
diff -Naur
/home/dani/uClinux/OuClinux-dist/linux-2.4.x/arch/m68knommu/platform/5282/SERRA/crt0_ram.S
SERRA/crt0_ram.S
--- linux-2.4.x/arch/m68knommu/platform/5282/SERRA/crt0_ram.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.4.x/arch/m68knommu/platform/5282/SERRA/crt0_ram.S 2007-06-13
13:23:32.000000000 +0200
@@ -0,0 +1,224 @@
+/*****************************************************************************/
+
+/*
+ * crt0_ram.S -- startup code for MCF5282 ColdFire based MOTOROLA boards.
+ *
+ * (C) Copyright 1999-2003, Greg Ungerer ([EMAIL PROTECTED]).
+ */
+
+/*****************************************************************************/
+
+#include "linux/autoconf.h"
+#include "asm/coldfire.h"
+#include "asm/mcfsim.h"
+
+/*****************************************************************************/
+
+/*
+ * Motorola M5282C3 ColdFire eval board, chip select and memory setup.
+ */
+
+#define MEM_BASE 0x00000000 /* Memory base at address 0 */
+#define VBR_BASE MEM_BASE /* Vector address */
+
+#if defined(CONFIG_RAM4MB)
+#define MEM_SIZE 0x00400000 /* Memory size 4Mb */
+#elif defined(CONFIG_RAM16MB)
+#define MEM_SIZE 0x01000000 /* Memory size 16Mb */
+#else
+#define MEM_SIZE 0x00800000 /* Memory size 8Mb */
+#endif
+
+/*****************************************************************************/
+
+.global _start
+.global _rambase
+.global _ramvec
+.global _ramstart
+.global _ramend
+
+/*****************************************************************************/
+
+.data
+
+/*
+ * Set up the usable of RAM stuff. Size of RAM is determined then
+ * an initial stack set up at the end.
+ */
+_rambase:
+.long 0
+_ramvec:
+.long 0
+_ramstart:
+.long 0
+_ramend:
+.long 0
+
+#if CONFIG_BLK_DEV_INITRD
+/*
+ * Setup initial RAM disk limits of using INITRD.
+ */
+.extern initrd_start
+.extern initrd_end
+#endif
+
+/*****************************************************************************/
+
+.text
+
+/*
+ * This is the codes first entry point. This is where it all
+ * begins...
+ */
+
+_start:
+ nop /* Filler */
+ move.w #0x2700, %sr /* No interrupts */
+
+ /*
+ * Setup VBR here, otherwise buserror remap will not work.
+ * if dBug was active before (on my SBC with dBug 1.1 of Dec 16 1996)
+ *
+ * [EMAIL PROTECTED] 19990306
+ *
+ * Note: this is because dBUG points VBR to ROM, making vectors read
+ * only, so the bus trap can't be changed. (RS)
+ */
+ move.l #VBR_BASE, %a7 /* Note VBR can't be read */
+ movec %a7, %VBR
+ move.l %a7, _ramvec /* Set up vector addr */
+ move.l %a7, _rambase /* Set up base RAM addr */
+
+ /*
+ * Set memory size.
+ */
+ move.l #MEM_SIZE, %a0
+
+ move.l %a0, %d0 /* Mem end addr is in a0 */
+ move.l %d0, %sp /* Set up initial stack ptr */
+ move.l %d0, _ramend /* Set end ram addr */
+
+#if 0
+ /*
+ * Enable CPU internal cache.
+ */
+ move.l #0x01000000, %d0
+ movec %d0, %CACR /* Invalidate cache */
+ nop
+
+ move.l #0x0000c000, %d0 /* Set SDRAM cached only */
+ movec %d0, %ACR0
+ move.l #0x00000000, %d0 /* No other regions cached */
+ movec %d0, %ACR1
+
+ move.l #0x80400100, %d0 /* Instruction cache bits */
+ movec %d0, %CACR /* Enable cache */
+ nop
+#endif
+
+ /*
+ * Move ROM filesystem above bss :-)
+ */
+ lea.l _sbss, %a0 /* Get start of bss */
+ lea.l _ebss, %a1 /* Set up destination */
+ move.l %a0, %a2 /* Copy of bss start */
+
+#if CONFIG_BLK_DEV_INITRD
+ move.l %a1, %d2
+ add.l #0xfff, %d2 /* Round ROMfs start to page */
+ and.l #0xfffff000, %d2
+ move.l %d2, %a1 /* Save result for later */
+#endif
+
+ move.l 8(%a0), %d1 /* Get size of ROMFS */
+ addq.l #8, %d1 /* Allow for rounding */
+ and.l #0xfffffffc, %d1 /* Whole words */
+
+ add.l %d1, %a0 /* Copy from end */
+ add.l %d1, %a1 /* Copy from end */
+ move.l %a1, _ramstart /* Set start of ram */
+
+_copy_romfs:
+ move.l -(%a0), %d0 /* Copy dword */
+ move.l %d0, -(%a1)
+ cmp.l %a0, %a2 /* Check if at end */
+ bne _copy_romfs
+
+ /*
+ * Zero out the bss region.
+ */
+ lea.l _sbss, %a0 /* Get start of bss */
+ lea.l _ebss, %a1 /* Get end of bss */
+ clr.l %d0 /* Set value */
+_clear_bss:
+ move.l %d0, (%a0)+ /* Clear each word */
+ cmp.l %a0, %a1 /* Check if at end */
+ bne _clear_bss
+
+#if CONFIG_BLK_DEV_INITRD
+ /*
+ * Setup up RAMdisk info if using it.
+ * (Must do this after clearing the bss :-)
+ */
+ move.l %d2, initrd_start /* Set up start of initrd */
+ add.l %d1, %d2 /* Calculate end of initrd */
+ move.l %d2, initrd_end
+#endif
+
+ /*
+ * Load the current task pointer and stack.
+ */
+ lea init_task_union, %a0
+ movel %a0, _current_task
+ lea 0x2000(%a0), %sp
+
+ /*
+ * Assember start up done, start code proper.
+ */
+ jsr start_kernel /* Start Linux kernel */
+
+_exit:
+ jmp _exit /* Should never get here */
+
+/*****************************************************************************/
+
+// // ================================================================
+// // LED test code
+//
+// //GPTASYSCR1 @ 0x401a0006 // GPTA Control reg 1
+// //GPTBSYSCR1 @ 0x401b0006
+// //GPTADR @ 0x401a001d // GPTA Data Reg
+// //GPTBDR @ 0x401b001d
+// //GPTADDR @ 0x401a001e // GPTA Data Direction
+// //GPTBDDR @ 0x401b001e
+// //PORT_TC @ 0x4010000f
+// //PORT_TD @ 0x40100010
+// //DDR_TC @ 0x40100023
+// //DDR_TD @ 0x40100024
+// //DR_TC @ 0x40100037
+// //DR_TD @ 0x40100038
+//
+// // LED (GPIO) initialization sequence:
+// moveq #0x00, d0
+// move.b d0, 0x401a0006 // Write GPTASYSCR1 := 0x00
+// moveq #0x00, d0
+// move.b d0, 0x401b0006 // Write GPTBSYSCR1 := 0x00
+//
+// moveq #0x00, d0
+// move.b d0, 0x401a001e // Write GPTADDR := 0x00
+// moveq #0x0f, d0
+// move.b d0, 0x401b001e // Write GPTBDDR := 0x0f
+//
+// moveq #0x05, d0
+// move.b d0, 0x40100023 // Write DDR_TC := 0x05
+// moveq #0x05, d0
+// move.b d0, 0x40100024 // Write DDR_TD := 0x05
+//
+// // ----------------------------------------------------------------
+// // Set some LED bits:
+// move.b 0x401b001d,d0 // Read GPTBDR
+// ori.l #0xe,d0 // Set bits
+// andi.l #0xfffffffe,d0 // Clear bits
+// move.b d0,0x401b001d // Write GPTBDR
+// // ----------------------------------------------------------------
+//
diff -Naur
/home/dani/uClinux/OuClinux-dist/linux-2.4.x/arch/m68knommu/platform/5282/SERRA/ram.ld
SERRA/ram.ld
--- linux-2.4.x/arch/m68knommu/platform/5282/SERRA/ram.ld 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.4.x/arch/m68knommu/platform/5282/SERRA/ram.ld 2007-06-13
13:23:32.000000000 +0200
@@ -0,0 +1,69 @@
+
+MEMORY {
+ ram : ORIGIN = 0x10000, LENGTH = 0x3e0000
+}
+
+SECTIONS {
+
+ .text : {
+ _stext = . ;
+ *(.text)
+ *(.text.exit)
+ *(.text.lock)
+ *(.exitcall.exit)
+ *(.rodata)
+ *(.rodata.str1.1)
+ *(.modinfo)
+ . = ALIGN(0x4) ;
+ *(.kstrtab)
+ . = ALIGN(16); /* Exception table */
+ __start___ex_table = .;
+ *(__ex_table)
+ __stop___ex_table = .;
+
+ __start___ksymtab = .; /* Kernel symbol table */
+ *(__ksymtab)
+ __stop___ksymtab = .;
+ . = ALIGN(4) ;
+ _etext = . ;
+ } > ram
+
+ .data BLOCK(0x4) : {
+ . = ALIGN(4);
+ _sdata = . ;
+ __data_start = . ;
+ *(.data)
+ *(.data.exit)
+ . = ALIGN(8192) ;
+ *(.data.init_task)
+ . = ALIGN(8192) ;
+ _edata = . ;
+ } > ram
+
+ .init BLOCK(4096) : {
+ . = ALIGN(4096);
+ __init_begin = .;
+ *(.text.init)
+ *(.data.init)
+ . = ALIGN(16);
+ __setup_start = .;
+ *(.setup.init)
+ __setup_end = .;
+ __initcall_start = .;
+ *(.initcall.init)
+ . = ALIGN(4);
+ __initcall_end = .;
+ __init_end = .;
+ } > ram
+
+ .bss BLOCK(0x4) : {
+ . = ALIGN(4);
+ _sbss = . ;
+ *(.bss)
+ *(COMMON)
+ . = ALIGN(4) ;
+ _ebss = . ;
+ _end = . ;
+ } > ram
+}
+
------------------------------------------------------------------------
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [EMAIL PROTECTED]
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev