tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

NetBSD/avr32 update



Hi all,

I'd like to share the state of my NetBSD/avr32 port. Since my previous
message [1] work was focused on executing a static 32-bit Linux
binary. Currently, the system has proved capable of executing simple
assembly programs involving _exit(2), getpid(2), and stack memory
growing dynamically, as well as handling system call errors such as
ENOSYS. Because console support is not yet available, the _exit(2)
code is being used for reviewing the output of the program.

This is an example of the binaries being executed:

        .text
        .align 1
        .globl _start
_start:
        mov     r8, LINUX_SYS_getpid
        scall
        mov     r8, LINUX_SYS_exit
        scall   # _exit(getpid())

In this case, the error code used by _exit is the current process id.
This value is printed as part of the kernel output:

panic: init died (signal 0, exit 1)
cpu_reboot: notyet

Since the system is able to execute simple static linux binaries, the
milestone that marked the end of my thesis has been achieved.

Right now, work is being focused on executing increasingly complex
binaries, working towards obtaining a working shell as planned with
the director of my thesis. These binaries will be aimed to exercise
console support, C functions such as main() and printf(), programs
crashing with SIGSEV and SIGBUS, and basic signaling capabilities such
as signal(2), sigaction(2) and alarm(2), as well as support for
fork(2) and pipe(2). The rationale being that its easier to debug
single process programs than multiprocess programs.

Current state of the port can be found here:
https://github.com/Tommmster/netbsd-avr32.git

U-Boot 1.1.4-at0 (Jan  3 2007 - 10:30:09)

U-Boot code: 00000000 -> 000144f7  data: 24000000 -> 24002d80
SDRAM: 32 MB at address 0x10000000
Testing SDRAM...OK
malloc: Using memory from 0x11fc0000 to 0x12000000
Flash:  8 MB at address 0x00000000
DRAM Configuration:
Bank #0: 10000000 32 MB
In:    serial
Out:   serial
Err:   serial
Net:   macb0, macb1
Press SPACE to abort autoboot in 5 seconds
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0xc5e1)
Using macb0 device
TFTP from server 10.0.0.2; our IP address is 10.0.0.1
Filename 'uImage'.
Load address: 0x10400000
Loading: T #################################################################
         #######################################
done
Bytes transferred = 529392 (813f0 hex)
## Booting image at 10400000 ...
   Image Name:   NetBSD
   Image Type:   AVR32 Linux Kernel Image (gzip compressed)
   Data Size:    529328 Bytes = 516.9 kB
   Load Address: 10000000
   Entry Point:  90000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel at 90000000 (params at 11fc0040)...

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.1.0_PATCH (MYKERNEL) #0: Thu Jan 12 20:05:02 ARST 2012
        root@netbsd-5-1:/tomas/new/src/sys/arch/i386/compile/MYKERNEL
Atmel AT32AP7000 SoC
total memory = 32768 KB
avail memory = 29640 KB
sysctl_createv: sysctl_locate(disknames) returned 2
sysctl_createv: sysctl_locate(iostatnames) returned 2
sysctl_createv: sysctl_locate(iostats) returned 2
mainbus0 (root)
cpu0 at mainbus0: Atmel AT32AP7000 SoC (0x1) Rev. 0, no FPU
cpu0: 16KB/32B 4-way set-associative Instruction cache
cpu0: 16KB/32B 4-way set-associative Data cache
cpu0: unified TLB, 32 entries
at32bus0 at mainbus0
at32pm0 at at32bus0
at32intc0 at at32bus0
at32clock0 at at32bus0
rn_init: radix functions require max_keylen be set
boot device: <unknown>
root on md0a dumps on md0b
root file system type: ext2fs
WARNING: no TOD clock present
WARNING: using filesystem time
WARNING: CHECK AND RESET THE DATE!
warning: no /dev/console
panic: init died (signal 0, exit 1)
cpu_reboot: notyet

Greetings,
Tomás

[1] http://blog.gmane.org/gmane.os.netbsd.devel.kernel/day=20130518


Home | Main Index | Thread Index | Old Index