[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