Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jul 2009 11:38:15 +0800
From:      Chao Xie <xiechao.mail@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   start_init data abort
Message-ID:  <c11a0ecf0907192038t6ba7ba11g2b41591fe4285e3@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c11a0ecf0907192038t6ba7ba11g2b41591fe4285e3>