[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Basic bare metal ARM domain interface





On 07/06/16 00:31, Ivan Pavic wrote:
Hello Julien,

Hello Ivan,

On Fri, Jun 03, 2016 at 11:23:33AM +0100, Julien Grall wrote:


On 02/06/16 20:09, Ivan Pavic wrote:
Hello Julien,

Hello Ivan,

On Thu, Jun 02, 2016 at 12:41:02PM +0100, Julien Grall wrote:

Which compiler led to use a data abort? And where was the data
abort? In Xen or the guest?


When I compile app directly on ODROID I used:
arm-linux-gnueabihf
gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1)

HVC instruction works form assembler, but when I call it from main, for
example:
HYPERVISOR_console_io (HYPERCALL_WRITE, SYSTEM_UP_LEN, SYSTEM_UP_MSG);
then I get this in xl dmesg:
traps.c:2450:d2v0 HSR=0x90000046 pc=0x40008250 gva=0 gpa=0000000000000000

To be honest this looks like a latent issue in your app rather than
a bug in the compiler.

I would try to find which instruction is causing the data abort.
Also is your app running with page table and cache enabled?


Page table and cache are related to MMU, right? I didn't initialize MMU
so far.

All the memory buffer passed to the hypercall should be cacheable (see xen/include/public/asm-arm.h for more details). I.e the MMU should be enabled.

Otherwise, the behavior is unreliable because the memory attribute will be different in Xen and the guest. Xen is mapping the region cacheable.

Regards,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.