Hello list

   I have tried to port Linux 2.6 (xilinx git) to a XUPV2P board
running a system implemented with EDK10.1 (Linux Version). I have
fail, and I think I now why, this is a little report written for
saving you some time (and maybe solving my problem if I am doing
something wrong)

The board is not supported by EDK 10.1, but I have found a Board
Support File form https://wiki.ittc.ku.edu that seems to work. To
start I have created a design that consists on a ppc, the mpmc, an
uartlite, an interrupt manager and some bram. The "basic programs"
worked ok on it.

 I have downloaded the kernel form xilinx git and adapted the
xparameters file to fit my design.

 I have created a toolchain using OpenEmbedded and compiled the kernel
with it, then I have downloaded the binary to the board and everything
works fine until "Now booting the kernel"

  Debugging the kernel I have found that the system crashes (Exception
0x700) setting the mmu inside "start_here" (head_4xx.S)...

  Because it was a crash in the "very beginning" of my kernel live I
developed some simple apps to tests all my peripherals and they worked
ok in real mode: All of them worked OK

  BUT I have created a small piece of code that tests the peripherals
in virtual mode and when the program is linked to the ram the system
crashes!! Strangely, it works ok when it runs from bram.....

   The same code works perfectly on a design created with EDK 8.1 and
the kernel also works fine.

   I attach the source code of my test app and the OpenEmbedded
parameters I have used.



                                      Best Regards



-----------------

main:

.globl main

my_code:

bl uart

tlbia
isync

lis r3,[EMAIL PROTECTED]
ori r3,r3,[EMAIL PROTECTED]
mr r4,r3
iccci r0,r3

/*PID*/
li r0,0
mtpid r0
sync

mem_map:
/*RAM*/
lis r3,[EMAIL PROTECTED]
ori r3,r3,[EMAIL PROTECTED]
mr r4,r3
rlwinm  r4,r4,0,0,21
ori     r4,r4,768
rlwinm  r3,r3,0,0,21
ori     r3,r3,960  /*16M*/
li      r0,0
tlbwelo r4,r0
tlbwehi r3,r0

/*BRAM*/
lis r3,[EMAIL PROTECTED]
ori r3,r3,[EMAIL PROTECTED]
mr r4,r3
rlwinm  r4,r4,0,0,21
ori     r4,r4,768
rlwinm  r3,r3,0,0,21
ori     r3,r3,448 /* 64K */
li      r0,1
tlbwelo r4,r0
tlbwehi r3,r0

/*UARTLITE*/
lis r3,[EMAIL PROTECTED]
ori r3,r3,[EMAIL PROTECTED]
mr r4,r3
rlwinm  r4,r4,0,0,21
ori     r4,r4,263
rlwinm  r3,r3,0,0,21
ori     r3,r3,448 /*64K*/
li      r0,2
tlbwelo r4,r0
tlbwehi r3,r0

sync

on_mmu:
lis r0,0
ori r0,r0,4146
mtsrr1 r0
lis     r0,[EMAIL PROTECTED]
ori     r0,r0,[EMAIL PROTECTED]
mtsrr0  r0
rfi
b .


uart:
lis r11,[EMAIL PROTECTED]
ori r11,r11,[EMAIL PROTECTED]
li r14,0x0
stb r14,0x0(r11)
lis     r11,[EMAIL PROTECTED]
ori     r11,r11,[EMAIL PROTECTED]
busy:
lwz     r10,0(r11)
andi.   r12,r10,8
bne+ busy
lis r11,[EMAIL PROTECTED]
ori r11,r11,[EMAIL PROTECTED]
li r14,0x32
stb r14,0x0(r11)
br


rw_ram:
lis     r11,[EMAIL PROTECTED]
ori     r11,r11,[EMAIL PROTECTED]
lwz     r10,0(r11)
lis r11,[EMAIL PROTECTED]
ori r11,r11,[EMAIL PROTECTED]
li r10,0xcc
stb r10,0x0(r11)
br

rw_rom:
lis     r11,[EMAIL PROTECTED]
ori     r11,r11,[EMAIL PROTECTED]
lwz     r10,0(r11)
lis r11,[EMAIL PROTECTED]
ori r11,r11,[EMAIL PROTECTED]
li r10,0xcc
stb r10,0x0(r11)
br

bucle:
bl rw_ram
bl uart
bl rw_rom

bl bucle


-------------------


OpenEmbedded Parameters:
PREFERRED_VERSION_gcc = "4.2.1"
PREFERRED_VERSION_gcc-cross = "4.2.1"
PREFERRED_VERSION_gcc-cross-initial = "4.2.1"
PREFERRED_VERSION_binutils = "2.18"
PREFERRED_VERSION_binutils-cross = "2.18"
PREFERRED_VERSION_glibc = "2.5"
PREFERRED_VERSION_glibc-intermediate = "2.5"
PREFERRED_VERSION_linux-libc-headers = "2.6.25"

-- 
Ricardo Ribalda
http://www.eps.uam.es/~rribalda/
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to