[uClinux-dev] ARM7TDMI Linux 2.6.19 patch or port for TI chips / Where to find Srcs ?

Nalin Gupta nalingupta2000 at gmail.com
Wed Jan 3 05:29:54 EST 2007


I found under arch/arm/configs atmel_defconfig and s3c3410_defconfig,
which are ARM NO MMU.  I tried compiling them. There are atleast
compile time problems. Runtime I do not know. I tried resolving
compile time problems. My work is not neat or sure, so can not give
patch. But below I have listed what I found and did to resolve them. I
did for 2.6.17-uc1 (uClinux-dist-20060803.tar.gz), but "guess" is
valid for 2.6.19 post applying relevant big patch.
---------------------------------------------------------------------------------------------------------------------
==========
ATMEL
==========
1.   MODE_SVC is SVC_MODE (ptrace.h)

2.   PTRS_PER_PTE is undefined pgtable-nommu.h (it is there in pgtable.h)
     Correct arch/arm/mm/Makefile and edit
	consistent.o -> consistent$(MMUEXT).o

3.   NPTL support issue
     arch/arm/kernel/entry-armv.S:337:2: warning: #warning "NPTL on
non MMU needs fixing"

4.   uClinux-dist/vendors/config/armnommu/config.arch
     Edit
          CROSS_COMPILE = arm-linux-   to
          CROSS_COMPILE ?= arm-linux-
     Conditional initialization done.

5.  Compilation Problm with arm-uclinux-gcc 3.4.0

arm-uclinux-gcc -Wp,-MD,mm/.page_alloc.o.d  -nostdinc -isystem
/home/nalin/crossarm/usr/local/arm-uclinux-tools/bin/../lib/gcc/arm-uclinux/3.4.0/include
-D__KERNEL__ -Iinclude  -include include/linux/autoconf.h
-mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common -Os -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -fno-omit-frame-pointer -mapcs
-mno-sched-prolog -mapcs-32 -mno-thumb-interwork
-D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=arm7tdmi -malignment-traps
-msoft-float -Uarm -Wdeclaration-after-statement
-D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(page_alloc)"
-D"KBUILD_MODNAME=KBUILD_STR(page_alloc)" -c -o mm/page_alloc.o
mm/page_alloc.c
/tmp/cc3EJu47.s: Assembler messages:
/tmp/cc3EJu47.s:6420: Error: .err encountered
make[2]: *** [mm/page_alloc.o] Error 1
make[1]: *** [mm] Error 2

[use is 3.4.3 arm-uclinux-elf-gcc compiler]

=========
s3c3410
=========
1.   s3c3410
     entry-macro.S -
     include asm/hardware.h and asm/arch/irqs.h

2.   arch/arm/mach-s3c3410/arch.c
     include asm/mach/time.h and sys_timer s3c3410_timer definition

      extern unsigned long s3c3410_gettimeoffset (void);
      static struct sys_timer s3c3410_timer = {
		.init	= s3c3410_time_init,
		.offset	=s3c3410_gettimeoffset,
      };

3.   arch/arm/mach-s3c3410/arch.c
     #if 0
	MAINTAINER("Hyok S. Choi <hyok.choi at samsung.com>")
	FIXUP(fixup_s3c3410)
	INITIRQ(s3c3410_init_irq)
	INITTIME(s3c3410_time_init)
     #else
	/* Maintainer: Hyok S. Choi <hyok.choi at samsung.com> */
        .fixup = fixup_s3c3410,
        .init_irq = s3c3410_init_irq,
        .timer = &s3c3410_timer
     #endif



4. drivers/serial/dcc.c
	#if 0
                if (tty->flip.count < TTY_FLIPBUF_SIZE) {
                        *tty->flip.char_buf_ptr++ = ch;
                        *tty->flip.flag_buf_ptr++ = TTY_NORMAL;
                        port->icount.rx++;
                        tty->flip.count++;
                }
       #else
                if(tty_buffer_request_room(tty, 1) > 0) {
                        tty_insert_flip_char(tty, ch, TTY_NORMAL);
                        port->icount.rx++;
                }
       #endif


More information about the uClinux-dev mailing list