start_init data abort

Chao Xie xiechao.mail at gmail.com
Mon Jul 20 04:46:19 UTC 2009


hi
I am trying to port Freebsd to pxa310. After I have compiled, and get
kernel.bin, i will directly download it to SDRAM, and begin to run it. The
SYSINITs are all right, and i get the final init - start_init. At this time,
a exception of data abort happens.
After i debug it, i find it is caused by subyte at the following code.
/*
         * Move out the boot flag argument.
         */
        options = 0;
        ucp = (char *)p->p_sysent->sv_usrstack;
        (void)subyte(--ucp, 0);        /* trailing zero */
        if (boothowto & RB_SINGLE) {
            (void)subyte(--ucp, 's');
            options = 1;
        }

It seems that subyte will store a byte to user stack of initproc. The user
stack of initproc is started at 0xC0000000. i have checked the page mapping,
and find the veirtual address 0xC0000000 - PAGESIZE to 0xC0000000 is not
mapped. So i get the data abort.
I am confuesed. Where should i map the user stack of initproc? I appreciate
that someone can help me.Thanks.


More information about the freebsd-arm mailing list