* I can read/write in virtio BLK Device, but I can't run a hello world program in it
@ 2015-07-07 1:52 Ganis Zulfa Santoso
2015-07-07 6:55 ` Thomas Huth
0 siblings, 1 reply; 3+ messages in thread
From: Ganis Zulfa Santoso @ 2015-07-07 1:52 UTC (permalink / raw)
To: virtualization
[-- Attachment #1.1: Type: text/plain, Size: 3606 bytes --]
Hi Linux Virtualization Mailing List Members,
I am trying to develop a driver for virtio blk device in guest. I can safely mount the virtual blk device with: mount /dev/vda /mnt/
in /mnt/ I can read & write the device. But when I run a simple hello world program in /mnt/root/, this error happens:
root@linux_guest:/mnt/root# ./helloworld_static
[ 23.003459] CPU: 0 PID: 491 Comm: helloworld_stat Not tainted 3.19.1+ #101
[ 23.007030] Hardware name: ARM-Versatile Express
[ 23.010102] task: 970f2400 ti: 9184e000 task.ti: 9184e000
[ 23.011645] PC is at 0x11d6a
[ 23.012801] LR is at 0x89b3
[ 23.013627] pc : [<00011d6a>] lr : [<000089b3>] psr: 80000030
[ 23.013627] sp : 7e932c10 ip : 00008e45 fp : 00000000
[ 23.017108] r10: 00000000 r9 : 00000000 r8 : 00000000
[ 23.023165] r7 : 00000000 r6 : 00053794 r5 : 7e932dd4 r4 : 0006a9b4
[ 23.026854] r3 : 0000022c r2 : 00000000 r1 : ffffffd0 r0 : 00000021
[ 23.031814] Flags: Nzcv IRQs on FIQs on Mode USER_32 ISA Thumb Segment user
[ 23.036225] Control: 10c5387d Table: 916f4059 DAC: 00000015
[ 23.040885] CPU: 0 PID: 491 Comm: helloworld_stat Not tainted 3.19.1+ #101
[ 23.043224] Hardware name: ARM-Versatile Express
[ 23.045168] [<80012c68>] (unwind_backtrace) from [<80010dc8>] (show_stack+0x10/0x14)
[ 23.050392] [<80010dc8>] (show_stack) from [<8030c9d0>] (__do_user_fault.isra.10+0x98/0xa8)
[ 23.052687] [<8030c9d0>] (__do_user_fault.isra.10) from [<80017c6c>] (do_page_fault+0x35c/0x3b8)
[ 23.055358] [<80017c6c>] (do_page_fault) from [<80008488>] (do_DataAbort+0x34/0x98)
[ 23.057510] [<80008488>] (do_DataAbort) from [<80011a5c>] (__dabt_usr+0x3c/0x40)
[ 23.065243] Exception stack(0x9184ffb0 to 0x9184fff8)
[ 23.069425] ffa0: 00000021 ffffffd0 00000000 0000022c
[ 23.073779] ffc0: 0006a9b4 7e932dd4 00053794 00000000 00000000 00000000 00000000 00000000
[ 23.079985] ffe0: 00008e45 7e932c10 000089b3 00011d6a 80000030 ffffffff
Can you tell me what I could probably miss? Thank you very much, I forever in debt for your time and effort to read this. I am writing the BLK Device based on Lguest's code.
some information that may help:
root@linux_guest:/mnt/root# file helloworld_static
helloworld_static: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.31, BuildID[sha1]=0xc63622efd65f635f2b93c05caa8a1302d60a8caa, not stripped
root@linux_guest:/mnt/root# uname -a
Linux linux_guest 3.19.1+ #101 Tue Jul 7 09:35:23 KST 2015 armv7l GNU/Linux
root@linux_guest:/mnt/root# ls -l helloworld_static
-rwxr-xr-x 1 root root 456218 Jul 7 2015 helloworld_static
during booting:
[ 0.202185] brd: module loaded
[ 0.262288] loop: module loaded
[ 0.304868] vda: unknown partition table
AtLFprofile: no performance counters
[ 0.399451] oprofile: using timer interrupt.
CP: cubic registered
[ 0.403361] NET: Registered protocol family 17
[ 0.405039] Registering SWP/SWPB emulation handler
[ 0.409375] RAMDISK: gzip image found at block 0
[ 0.572643] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[ 0.620201] VFS: Mounted root (ext2 filesystem) on device 1:0.
[ 0.622113] devtmpfs: mounted
[ 0.623328] Freeing unused kernel memory: 172K (80417000 - 80442000)
Starting logging: OK
Initializing random number generator...
[ 0.691483] random: dd urandom read with 0 bits of entropy available
done.
Starting network...
Starting dropbear sshd: OK
linux_guest login:
[-- Attachment #1.2: Type: text/html, Size: 5959 bytes --]
[-- Attachment #2: Type: text/plain, Size: 183 bytes --]
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: I can read/write in virtio BLK Device, but I can't run a hello world program in it
2015-07-07 1:52 I can read/write in virtio BLK Device, but I can't run a hello world program in it Ganis Zulfa Santoso
@ 2015-07-07 6:55 ` Thomas Huth
2015-07-07 7:33 ` Ganis Zulfa Santoso
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2015-07-07 6:55 UTC (permalink / raw)
To: virtualization; +Cc: Ganis Zulfa Santoso
On Tue, 7 Jul 2015 10:52:01 +0900
Ganis Zulfa Santoso <ganis.zulfa@gmail.com> wrote:
> Hi Linux Virtualization Mailing List Members,
>
> I am trying to develop a driver for virtio blk device in guest.
Why don't you simply use the driver that is already available in the
kernel?
> I can safely mount the virtual blk device with: mount /dev/vda /mnt/
> in /mnt/ I can read & write the device. But when I run a simple hello world program in /mnt/root/, this error happens:
Have you already verified that you can successfully read the _right_
data from your block device? I.e. something like
mount /dev/xxx /mnt
cp helloworld_static /mnt/root/helloworld_static
umount /mnt # just to make sure that it is not cached
mount /dev/xxx /mnt
md5sum helloworld_static
md5sum /mnt/root/helloworld_static
... and then compare the two md5sums whether they are the same?
Thomas
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: I can read/write in virtio BLK Device, but I can't run a hello world program in it
2015-07-07 6:55 ` Thomas Huth
@ 2015-07-07 7:33 ` Ganis Zulfa Santoso
0 siblings, 0 replies; 3+ messages in thread
From: Ganis Zulfa Santoso @ 2015-07-07 7:33 UTC (permalink / raw)
To: Thomas Huth; +Cc: virtualization
> Thomas Huth <huth@tuxfamily.org> wrote:
>
> Why don't you simply use the driver that is already available in the
> kernel?
I am using a custom hypervisor, the available driver is not suitable for it.
>
> Have you already verified that you can successfully read the _right_
> data from your block device? I.e. something like
>
> mount /dev/xxx /mnt
> cp helloworld_static /mnt/root/helloworld_static
> umount /mnt # just to make sure that it is not cached
> mount /dev/xxx /mnt
> md5sum helloworld_static
> md5sum /mnt/root/helloworld_static
>
> ... and then compare the two md5sums whether they are the same?
They are different. Thank you so much. I am truly thankful.
>
> Thomas
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-07-07 7:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-07 1:52 I can read/write in virtio BLK Device, but I can't run a hello world program in it Ganis Zulfa Santoso
2015-07-07 6:55 ` Thomas Huth
2015-07-07 7:33 ` Ganis Zulfa Santoso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox