|
对中断控制寄存器的访问有问题,环境为ubuntu 9.10 , skyeye-1.3.0
init_sparc_register_defs: Registering the GDB stub for remote debugging
(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0x581910
uart_mod:3, desc_in:, desc_out:, converter:
In create_uart_console
SKYEYE: use arm920t mmu ops
s3c2410x_io_reset
exec file "build/images/image.boot"'s format is elf32-little.
load section kernel.text: addr = 0x30000000 size = 0x00014cbc.
load section kernel.rodata: addr = 0x30014cbc size = 0x0000873f.
load section kernel.kdebug: addr = 0x3001d3fb size = 0x00004275.
load section kernel.init: addr = 0x30021670 size = 0x00001eec.
load section kernel.roinit: addr = 0x3002355c size = 0x00000004.
load section kernel.elfweaver_info: addr = 0x30023560 size = 0x00000068.
load section kernel.data: addr = 0x30023800 size = 0x000015cc.
load section kernel.got: addr = 0x30024dcc size = 0x00000004.
load section kernel.got.plt: addr = 0x30024dd0 size = 0x0000000c.
load section kernel.kdebug-data: addr = 0x30024ddc size = 0x000003b0.
not load section kernel.bss: addr = 0x3002518c size = 0x00002b78 .
load section kernel.kspace: addr = 0x30028000 size = 0x00004000.
load section kernel.traps: addr = 0x3002c000 size = 0x00001000.
load section kernel.utcb_page: addr = 0x3002d000 size = 0x00001000.
load section ig_server.data: addr = 0x3002e024 size = 0x00000224.
load section ig_server.got: addr = 0x3002e248 size = 0x00000010.
not load section ig_server.bss: addr = 0x3002e258 size = 0x00000130 .
load section event.data: addr = 0x3002fa30 size = 0x00000108.
load section event.got: addr = 0x3002fb38 size = 0x00000010.
not load section event.bss: addr = 0x3002fb48 size = 0x00000120 .
load section ig_server.text: addr = 0x30030000 size = 0x0000c754.
load section ig_server.rodata: addr = 0x3003c754 size = 0x000018cd.
load section vtimer.data: addr = 0x3003f5c4 size = 0x00000244.
load section vtimer.got: addr = 0x3003f808 size = 0x00000010.
not load section vtimer.bss: addr = 0x3003f818 size = 0x00000174 .
load section event.text: addr = 0x30040000 size = 0x00005200.
load section event.rodata: addr = 0x30045200 size = 0x0000082d.
load section vtimer.text: addr = 0x30048000 size = 0x000067d0.
load section vtimer.rodata: addr = 0x3004e7d0 size = 0x00000df1.
load section vserial.data: addr = 0x30063000 size = 0x00000434.
load section vserial.got: addr = 0x30063434 size = 0x00000010.
not load section vserial.bss: addr = 0x30063444 size = 0x000003fc .
load section vserial.text: addr = 0x30064000 size = 0x0000611c.
load section vserial.rodata: addr = 0x3006a11c size = 0x00000aa1.
load section multi_thread.data: addr = 0x3006d9a8 size = 0x00000108.
load section multi_thread.got: addr = 0x3006dab0 size = 0x00000010.
not load section multi_thread.bss: addr = 0x3006dac0 size = 0x000000f0 .
load section iguana_server.cell_environment: addr = 0x3006e000 size = 0x00000176.
load section initscript: addr = 0x30082000 size = 0x00001000.
load section multi_thread.text: addr = 0x30084000 size = 0x0000512c.
load section multi_thread.rodata: addr = 0x3008912c size = 0x00000879.
load section bootinfo: addr = 0x3008c000 size = 0x00003000.
not load section elfweaver.notes: addr = 0x00000000 size = 0x0000038a .
In SIM_start, Set PC to the address 0x30000000
(skyeye)run
(running)io_write_word(0x4a000000) = 0x00000000
io_write_word(0x4a000004) = 0x00000000
io_read_word(0x4a000010) = 0xffffffff
io_write_word(0x4a000010) = 0x00008000
io_write_word(0x4a00000 = 0xefffffff
io_write_word(0x4a00001 = 0x00000000
io_write_word(0x4a00001c) = 0x00000000
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a00000 = 0xffffffff
io_write_word(0x4a00000 = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000001
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000003
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x00000007
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000000f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000001f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000003f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x0000007f
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000000ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000001ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000003ff
io_read_word(0x4a00001c) = 0xffffffff
io_write_word(0x4a00001c) = 0x000007ff
io_write_word(0x51000000) = 0x00000700
timer_write(0x00000000) = 0x00000700
io_read_word(0x51000000) = 0xffffffff
timer_read(0x00000000) = 0xffffffff
io_write_word(0x51000004) = 0x00000700
timer_write(0x00000004) = 0x00000700
io_write_word(0x5100003c) = 0x00009eb0
timer_write(0x0000003c) = 0x00009eb0
io_write_word(0x51000008) = 0x00200000
timer_write(0x00000008) = 0x00200000
io_read_word(0x4a000008) = 0xffffffff
io_write_word(0x4a000008) = 0x6f7f3fff
io_write_word(0x51000008) = 0x00500000
timer_write(0x00000008) = 0x00500000
比如,
io_write_word(0x4a000008) = 0x6f7f7fff
io_read_word(0x4a000008) = 0xffffffff
注意到写入0x41000008的时候是0x6f7f7fff,而读出则成0xffffffff。从log看出,中间并没有别的访问。
以上的log只是在s3c2410x_io_read_word与s3c2410x_io_write_word中增加。
[ 本帖最后由 goosen 于 2010-3-12 20:30 编辑 ] |
|