Discussion:
Issue: Trap due to TLB miss (store) in user mode (init process)
Vennila
2013-09-09 15:37:32 UTC
Permalink
Issue description:
1. We are trying to load NetBSD image in Atheros AR934x proto with MIPs 74Kc
processor.
2. Proto is flashed with uBoot bootloader and openWrt kernel and rootfs
images.
3. We tried to load NetBSD image in RAM using the existing uBoot bootloader
with tftpboot command in boot prompt.
4. NetBSD image is build for MIPs architecture (-m evbmips -a mipseb) using
DB120 conf (for AR9344 SoC).
5. In order to build a netbsd.ub image with Ramdisk fs inserted into it, we
enabled the below "Root on Memory disk" options.
pseudo-device md # memory disk device
options MEMORY_DISK_HOOKS
options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=0 # no userspace memory disk
options MEMORY_DISK_ROOT_SIZE=12288 # size of memory disk, in blocks
config netbsd root on md0a type ?
Note:
i) We observed netbsd.ub image size =(kernel size + ramdisk fs size)
ii) MEMORY_DISK_ROOT_SIZE=8192 is also tried for 4MB ramdisk fs.
iii) NetBSD version 6.1 or 6.99 (current)
6. On loading the image in uBoot prompt with tftpboot command, memory disk
(md0a) is considered as root device with (ffs) file system.
tftpboot 0x80060000 netbsd.ub
.....
bootm 0x80060000
...
Issue observed:
We could observe the trap signal due to TLB miss (store) in user mode on
init process.

Please find below the log traces of the same. If someone have inputs, please
help us to resolve this issue.

<Log traces> Please find attached log.

init: copying out path `/sbin/init' 11
pid 1(init): ABI set to O32 (e_flags=0x1007)
....
trap:In T_TLB_ST_MISS case va 0xc2a37000
trap:going to kernelfault va 0xc2a37000
trap:in rv=0 condtion
trap:In T_TLB_ST_MISS case va 0x6bb000
trap:going to pagefault va 0x6bb000
trap:In T_TLB_ST_MISS case va 0x7fff6f40
trap:going to pagefault va 0x7fff6f40
trap:In T_TLB_ST_MISS case va 0x7fff7fe8
trap:going to pagefault va 0x7fff7fe8
...
Process (pid 1) got sig 11
trap: T_TLB_ST_MISS+T_USER & going to pagefault va 0
trap: pid 1(init): sig 11: cause=0xc epc=0x400244 va=0 trap name TLB miss
(store): mode user
registers:
[ 0]=00000000 [ 1]=00000000 [ 2]=7fff6f44 [ 3]=7fff7fe8
[ 4]=00000000 [ 5]=00000000 [ 6]=7fff7ff0 [ 7]=7fff6f4c
[ 8]=00000000 [ 9]=00000000 [10]=00000000 [11]=00000000
[12]=00000000 [13]=00000000 [14]=00000000 [15]=00000000
[16]=00000000 [17]=00000000 [18]=00000000 [19]=00000000
[20]=00000000 [21]=00000000 [22]=00000000 [23]=00000000
[24]=00000000 [25]=004001f0 [26]=00000000 [27]=00000000
[28]=006bec10 [29]=7fff6f10 [30]=00000000 [31]=00000000
Log_trap_TLB_miss_init.txt
<http://netbsd.2816.n7.nabble.com/file/n286726/Log_trap_TLB_miss_init.txt>



--
View this message in context: http://netbsd.2816.n7.nabble.com/Issue-Trap-due-to-TLB-miss-store-in-user-mode-init-process-tp286726.html
Sent from the port-mips mailing list archive at Nabble.com.
Vennila
2013-09-11 11:51:41 UTC
Permalink
It would be really helpful if someone can share few inputs to resolve this
issue.



--
View this message in context: http://netbsd.2816.n7.nabble.com/Issue-Trap-due-to-TLB-miss-store-in-user-mode-init-process-tp286726p286837.html
Sent from the port-mips mailing list archive at Nabble.com.
Neil Zhao
2013-09-13 07:42:30 UTC
Permalink
for the cache, try to use write-through?
Post by Vennila
It would be really helpful if someone can share few inputs to resolve this
issue.
--
http://netbsd.2816.n7.nabble.com/Issue-Trap-due-to-TLB-miss-store-in-user-mode-init-process-tp286726p286837.html
Sent from the port-mips mailing list archive at Nabble.com.
--
Best Wishes,
Neil Zhao
Vennila
2013-10-16 04:47:14 UTC
Permalink
Thanks for the reply.

However, this trap issue is observed only on the 6.99 (current) release.
Kindly check wherther there is any issue in current release.

This panic issue is NOT observed in 6.1 final release. Instead we observed
device boot up struck up while booting kernel image with file system.
With the below modification in console (com.c), the Netbsd ub kernel get
booted and shell prompt is displayed.
In 6.1 release, the "Divisor Latch Access Bit" or DLAB is set to high (1)
for console type COM_TYPE_NORMAL. As per 8250 UART, this bit is set to low
(0) in com_loadchannelregs() API.

This change booted the kernel till shell prompt.

Thanks,
Vennila



--
View this message in context: http://netbsd.2816.n7.nabble.com/Issue-Trap-due-to-TLB-miss-store-in-user-mode-init-process-tp286726p289045.html
Sent from the port-mips mailing list archive at Nabble.com.

Loading...