[Xen-devel] Possible bug on ARM with irq passthrough

2017-07-04 Thread Ivan Pavić2
Hello,

I'm testing IRQ latency on exynos5422. I'm using Xen 4.10-unstable. I used 
device passthrough for SPI irq 64. For guest domain I used  FreeRTOS. When I 
use credit scheduler after destruction of domain, IRQ is released. I changed 
scheduler to credit2 and rtds at boot time and IRQ wasn't released after 
destruction. xl create dom-free-rtos.cfg fails with:

libxl: error: libxl_create.c:1278:domcreate_launch_dm: Domain 5:failed give 
domain access to irq 64: Device or resource busy

This is very strange because it doesn't happen with credit scheduler. This is 
output of xl dmesg:

(XEN) IRQ 64 is already used by domain 1

Everything works first time but when I destroy domain and try to create again 
it fails. It works normally with credit scheduler. In dom-free-rtos.cfg:
...
irqs = [64]


Regards,
Ivan Pavic

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


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

2016-05-30 Thread Ivan Pavić2
Hello, 

>> I used FreeRTOS code for console output. It is based on Mini OS code. There 
>> are two problems as I've >determined
>> with debugging. First is that vsnprintf blocks for some reason in print 
>> function so i commented it out. After the

>snprintf blocks...

>> hypercall function blocked as well. I modified hypercall function so it 
>> looks like this:
>>(void)HYPERVISOR_console_io(CONSOLEIO_write, 3, "yes");

>As the call failed I decided to make hypervisor call directly in boot 
>procedure, so I put this assembler code just >before
>branch to main:

>mov r12, #18 ; console io code
>mov r0, #0 ; write operation(first parameter)
>mov r1, #5 ; length of message (second parameter)
>   ldr r2, =msg ; message address (third parameter)
>.long 0xe140ea71 ; hvc instruction
>b main ; branch to main

>msg is defined as:

>msg:
>.asciz "hello"

>I get deadbeef in registers, apperently something happened (xenctx output):
>PC:   4000c5bc
>CPSR: 61f3
>USR:   SP: LR:
>SVC: SPSR: SP:4011c200 LR:400080a8
>FIQ: SPSR: SP:40124200 LR:
>IRQ: SPSR: SP:40120200 LR:
>ABT: SPSR: SP:40128200 LR:
>UND: SPSR: SP:4012c200 LR:

 >r0_usr: r1_usr: deadbeefr2_usr: deadbeef
 >r3_usr: r4_usr: r5_usr: 
 >r6_usr: r7_usr: r8_usr: 
 >r9_usr: 0064   r10_usr: 0064   r11_usr: 
>r12_usr: deadbeef


>According to arch-arm.h r0 is return value of call. It is 0, operation 
>successful Still I don't get output on
>console...

>Thank you in advance,

>Regards,

>Ivan Pavic

I still didn't solve why I don't see no output on emergency console, I think I 
should because if deadbeef in registers it 
do_console_io should have been called. However new problem emerged i tried to 
add iomem 
parameter in configuration file to get access over gpio but domain won't start 
because operation is not permitted. 
Should I somehow release disable that memory space for dom0, perhaps in dts for 
dom0? 

Snippet from dom.cfg file:

iomem = ["0x1340,1@0x4140"]

0x1340 is base address of GPIO that I want to use.

I get this error: (snippet from xl -vvv create -c dom.cfg)

libxl: debug: libxl_create.c:1213:domcreate_launch_dm: dom4 iomem 
1340-1340
libxl: error: libxl_create.c:1220:domcreate_launch_dm: failed give dom4 access 
to iomem range 1340-1340: Operation not permitted
libxl: debug: libxl.c:1719:devices_destroy_cb: forked pid 3835 for destroy of 
domain 4

Thank you in advance,

Ivan Pavic
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

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


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

2016-05-28 Thread Ivan Pavić2
Hello, 

> I used FreeRTOS code for console output. It is based on Mini OS code. There 
> are two problems as I've determined
> with debugging. First is that vsnprintf blocks for some reason in print 
> function so i commented it out. After the 

snprintf blocks...

> hypercall function blocked as well. I modified hypercall function so it looks 
> like this:
> (void)HYPERVISOR_console_io(CONSOLEIO_write, 3, "yes");

As the call failed I decided to make hypervisor call directly in boot 
procedure, so I put this assembler code just before
branch to main: 

mov r12, #18 ; console io code
mov r0, #0 ; write operation(first parameter)
mov r1, #5 ; length of message (second parameter)
ldr r2, =msg ; message address (third parameter)
.long 0xe140ea71 ; hvc instruction
b main ; branch to main

msg is defined as:

msg:
.asciz "hello"

I get deadbeef in registers, apperently something happened (xenctx output):
PC:   4000c5bc
CPSR: 61f3
USR:   SP: LR:
SVC: SPSR: SP:4011c200 LR:400080a8
FIQ: SPSR: SP:40124200 LR:
IRQ: SPSR: SP:40120200 LR:
ABT: SPSR: SP:40128200 LR:
UND: SPSR: SP:4012c200 LR:

 r0_usr: r1_usr: deadbeefr2_usr: deadbeef
 r3_usr: r4_usr: r5_usr: 
 r6_usr: r7_usr: r8_usr: 
 r9_usr: 0064   r10_usr: 0064   r11_usr: 
r12_usr: deadbeef


According to arch-arm.h r0 is return value of call. It is 0, operation 
successful Still I don't get output on 
console...

Thank you in advance,

Regards,

Ivan Pavic 



 




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


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

2016-05-27 Thread Ivan Pavić2
Hello, 

Jullien, thanks for docs and references. 

I used FreeRTOS code for console output. It is based on Mini OS code. There are 
two problems as I've determined with debugging. First is that vsnprintf blocks 
for some reason in print function so i commented it out. After the hypercall 
function blocked as well. I modified hypercall function so it looks like this:

(void)HYPERVISOR_console_io(CONSOLEIO_write, 3, "yes");

hoping to get "yes" as output..., but this blocked as well.

xenctx output after HYPERVISOR_console_io:

PC:   4000828c
CPSR: 21d7
USR:   SP: LR:
SVC: SPSR: SP:4011bff4 LR:4000a37f
FIQ: SPSR: SP:40124200 LR:
IRQ: SPSR: SP:40120200 LR:
ABT: SPSR:21f7 SP:40008140 LR:3f741306
UND: SPSR: SP:4012c200 LR:

 r0_usr: 4000815fr1_usr: r2_usr: 40008160
 r3_usr: 4000815cr4_usr: a338r5_usr: 4000c948
 r6_usr: r7_usr: 4000a53cr8_usr: 
 r9_usr:    r10_usr: 0065   r11_usr: 
r12_usr: 

 r8_fiq: 
 r9_fiq:    r10_fiq:    r11_fiq: 
r12_fiq: 

SCTLR: 00c50078
TTBCR: 
TTBR0: 
TTBR1: 

r10 = 101, I used it for debugging, to locate code where it is stuck. What 
could it be?

Thanks in advance,

Ivan Pavic.


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


[Xen-devel] Basic bare metal ARM domain interface

2016-05-25 Thread Ivan Pavić2
Hello,

I'm working on bare metal application for ARM Cortex A7/15 on Odroid XU3 
platform. I'm using Xen 4.6.

After successfully creating bare metal example(by successful I mean I've stuck 
processor in while loop in main function), I probably should initialize memory
management unit and similiar. I've found FreeRTOS project on Github where 
similiar stuff was done for ARM Cortex A15. Project is done for Xen 4.4. 
Xen FreeRTOS project: https://github.com/GaloisInc/FreeRTOS-Xen/ .

1) I'm using 4.6. so I don't know if code from  is fully compatible? (I had to 
comment out lot of things because they block program, printing for example) 

2) Additionally , I would like to implement basic serial output to dom0 from my 
bare metal domU. What is the minimum one should do for implementing console 
output?  

3) Furthermore, as this should be bare metal application, I would like at least 
to be able to toggle LED. How can interface hardware from domU? My first guess
would be to directly address Exynos 5422 GPIO registers but I don't know if
that would work beacause application is running on VCPU (probably not??) ??

Any answer, example of implementation, specific documentation or advice would
be very helpful.

Thank you in advance...

Regards,
Ivan Pavić
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Hello,

> I don't think toolstack tries to load kernel to that guest physical
> address -- reading from Ivan's log it suggests toolstack loaded the
> kernel to 0x40008000.

> That (0x8000800) is the address set in PC, right?  I don't think
> toolstack is in a position to sanitise that nor should it care.


I posted xl create output when i changed address in linker script. This output 
when it is set to 0x80008000:
PC is incorrect?

Parsing config from dom.cfg
libxl: debug: libxl_create.c:1557:do_domain_create: ao 0x3c1c8: create: 
how=(nil) callback=(nil) poller=0x3c228
libxl: debug: libxl_arm.c:59:libxl__arch_domain_prepare_config: Configure the 
domain
libxl: debug: libxl_arm.c:62:libxl__arch_domain_prepare_config:  - Allocate 0 
SPIs
libxl: debug: libxl_create.c:945:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:330:libxl__bootloader_run: no bootloader 
configured, using user supplied kernel
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch w=0x363a0: 
deregister unregistered
domainbuilder: detail: xc_dom_allocate: cmdline="(null)", features="(null)"
libxl: debug: libxl_dom.c:624:libxl__build_pv: pv kernel mapped 0 path 
kernel.bin
domainbuilder: detail: xc_dom_kernel_file: filename="kernel.bin"
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.6, caps xen-3.0-armv7l 
domainbuilder: detail: xc_dom_rambase_init: RAM starts at 4
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM64) loader 
... 
domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel image too small
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32) loader 
... 
domainbuilder: detail: loader probe OK
domainbuilder: detail: xc_dom_parse_zimage32_kernel: called
domainbuilder: detail: xc_dom_parse_zimage32_kernel: xen-3.0-armv7l: 0x40008000 
-> 0x40008034
libxl: debug: libxl_arm.c:776:libxl__arch_domain_init_hw_description: 
constructing DTB for Xen version 4.6 guest
libxl: debug: libxl_arm.c:777:libxl__arch_domain_init_hw_description:  - vGIC 
version: V2
libxl: debug: libxl_arm.c:380:make_memory_nodes: Creating placeholder node 
/memory@4000
libxl: debug: libxl_arm.c:380:make_memory_nodes: Creating placeholder node 
/memory@2
libxl: debug: libxl_arm.c:871:libxl__arch_domain_init_hw_description: fdt total 
size 1237
domainbuilder: detail: xc_dom_devicetree_mem: called
domainbuilder: detail: xc_dom_mem_init: mem 32 MB, pages 0x2000 pages, 4k each
domainbuilder: detail: xc_dom_mem_init: 0x2000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: set_mode: guest xen-3.0-armv7l, address size 32
domainbuilder: detail: populate_guest_memory: populating RAM @ 
4000-4200 (32MB)
domainbuilder: detail: populate_one_size: populated 0x10/0x10 entries with 
shift 9
domainbuilder: detail: arch_setup_meminit: placing boot modules at 0x41fff000
domainbuilder: detail: arch_setup_meminit: devicetree: 0x41fff000 -> 0x4200
libxl: debug: libxl_arm.c:902:finalise_one_memory_node: Populating placeholder 
node /memory@4000
libxl: debug: libxl_arm.c:896:finalise_one_memory_node: Nopping out placeholder 
node /memory@2
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel   : 0x40008000 -> 
0x40009000  (pfn 0x40008 + 0x1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
0x40008+0x1 at 0xb6eef000
domainbuilder: detail: xc_dom_load_zimage_kernel: called
domainbuilder: detail: xc_dom_load_zimage_kernel: kernel seg 
0x40008000-0x40009000
domainbuilder: detail: xc_dom_load_zimage_kernel: copy 52 bytes from blob 
0xb6ef to dst 0xb6eef000
domainbuilder: detail: xc_dom_alloc_segment:   devicetree   : 0x41fff000 -> 
0x4200  (pfn 0x41fff + 0x1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
0x41fff+0x1 at 0xb6eee000
domainbuilder: detail: alloc_magic_pages: called
domainbuilder: detail: count_pgtables_arm: called
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0x4200
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0x0
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type: 
xen-3.0-armv7l <= matches
domainbuilder: detail: setup_pgtables_arm: called
domainbuilder: detail: clear_page: pfn 0x39000, mfn 0x39000
domainbuilder: detail: clear_page: pfn 0x39001, mfn 0x39001
domainbuilder: detail: start_info_arm: called
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:allocated
domainbuilder: detail:   malloc : 66 kB
domainbuilder: detail:   anon mmap  : 0 bytes
domainbuilder: 

[Xen-devel] ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Hello Julien,

Julien Grall wrote: 
> Guest are booting with MMU disabled, so 0x80008000 will be the physical
> address.

> The toolstack will load the kernel at this physical address. However,
> the start of the guest RAM for Xen 4.7 is 0x4000 (see
> include/public/arch-arm.h). Can you try to use 0x40008000 for the guest
> address?

I changed address. It seems the problem is solved because PC is now 
40008030 (that is address of "work: b work" i think). 

> By the way, how much RAM did you give to the guest?

I wrote "memory = 32" in cfg file, I think that stands for 32 MB? 

I will continue working on this. 

Thank you very much,
Ivan Pavić.

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


[Xen-devel] Odgovor: ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Hello,

> Correct, so the end of the RAM bank would be 0x4200. I am a bit
> surprised that the toolstack does not complain when trying to load the
> kernel at 0x80008000.

> Can you paste the dump of xl -vvv create... ?

$ xl -vvv create dom.cfg
Parsing config from dom.cfg
libxl: debug: libxl_create.c:1557:do_domain_create: ao 0x3c1c8: create: 
how=(nil) callback=(nil) poller=0x3c228
libxl: debug: libxl_arm.c:59:libxl__arch_domain_prepare_config: Configure the 
domain
libxl: debug: libxl_arm.c:62:libxl__arch_domain_prepare_config:  - Allocate 0 
SPIs
libxl: debug: libxl_create.c:945:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:330:libxl__bootloader_run: no bootloader 
configured, using user supplied kernel
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch w=0x363a0: 
deregister unregistered
domainbuilder: detail: xc_dom_allocate: cmdline="(null)", features="(null)"
libxl: debug: libxl_dom.c:624:libxl__build_pv: pv kernel mapped 0 path 
kernel.bin
domainbuilder: detail: xc_dom_kernel_file: filename="kernel.bin"
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.6, caps xen-3.0-armv7l 
domainbuilder: detail: xc_dom_rambase_init: RAM starts at 4
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... 
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM64) loader 
... 
domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel image too small
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32) loader 
... 
domainbuilder: detail: loader probe OK
domainbuilder: detail: xc_dom_parse_zimage32_kernel: called
domainbuilder: detail: xc_dom_parse_zimage32_kernel: xen-3.0-armv7l: 0x40008000 
-> 0x40008034
libxl: debug: libxl_arm.c:776:libxl__arch_domain_init_hw_description: 
constructing DTB for Xen version 4.6 guest
libxl: debug: libxl_arm.c:777:libxl__arch_domain_init_hw_description:  - vGIC 
version: V2
libxl: debug: libxl_arm.c:380:make_memory_nodes: Creating placeholder node 
/memory@4000
libxl: debug: libxl_arm.c:380:make_memory_nodes: Creating placeholder node 
/memory@2
libxl: debug: libxl_arm.c:871:libxl__arch_domain_init_hw_description: fdt total 
size 1237
domainbuilder: detail: xc_dom_devicetree_mem: called
domainbuilder: detail: xc_dom_mem_init: mem 32 MB, pages 0x2000 pages, 4k each
domainbuilder: detail: xc_dom_mem_init: 0x2000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: set_mode: guest xen-3.0-armv7l, address size 32
domainbuilder: detail: populate_guest_memory: populating RAM @ 
4000-4200 (32MB)
domainbuilder: detail: populate_one_size: populated 0x10/0x10 entries with 
shift 9
domainbuilder: detail: arch_setup_meminit: placing boot modules at 0x41fff000
domainbuilder: detail: arch_setup_meminit: devicetree: 0x41fff000 -> 0x4200
libxl: debug: libxl_arm.c:902:finalise_one_memory_node: Populating placeholder 
node /memory@4000
libxl: debug: libxl_arm.c:896:finalise_one_memory_node: Nopping out placeholder 
node /memory@2  
  [0/47]
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel   : 0x40008000 -> 
0x40009000  (pfn 0x40008 + 0x1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
0x40008+0x1 at 0xb6f82000
domainbuilder: detail: xc_dom_load_zimage_kernel: called
domainbuilder: detail: xc_dom_load_zimage_kernel: kernel seg 
0x40008000-0x40009000
domainbuilder: detail: xc_dom_load_zimage_kernel: copy 52 bytes from blob 
0xb6f83000 to dst 0xb6f82000
domainbuilder: detail: xc_dom_alloc_segment:   devicetree   : 0x41fff000 -> 
0x4200  (pfn 0x41fff + 0x1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
0x41fff+0x1 at 0xb6f81000
domainbuilder: detail: alloc_magic_pages: called
domainbuilder: detail: count_pgtables_arm: called
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0x4200
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0x0
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type: 
xen-3.0-armv7l <= matches
domainbuilder: detail: setup_pgtables_arm: called
domainbuilder: detail: clear_page: pfn 0x39000, mfn 0x39000
domainbuilder: detail: clear_page: pfn 0x39001, mfn 0x39001
domainbuilder: detail: start_info_arm: called
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:allocated
domainbuilder: detail:   malloc : 66 kB
domainbuilder: detail:   anon mmap  : 0 bytes
domainbuilder: detail:mapped
domainbuilder: detail:   file mmap  : 52 bytes
domainbuilder: detail:   domU mmap  

[Xen-devel] Odgovor: ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Konrad Rzeszutek Wilk wrote:

> OK, but that makes an ELF file. I believe (based on the Booting) you need to 
> extract
> the binary code out and also fixup the branch instructions (maybe make 
> __Start = 0;?).

> The Booting says:

> - The boot loader is expected to call the kernel image by jumping
> directly to the first instruction of the kernel image.

> So if it is ELF it will jump in the ELF header, not the cod

Ok,

this is objdump -h app.elf

Sections:
Idx Name  Size  VMA   LMA   File off  Algn
  0 .text 0034  80008000  80008000  8000  2**2
  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .ARM.attributes 001f      8034  2**0
  CONTENTS, READONLY

I extracted binary with objcopy and used it to start domain:
Segment of output of: xl -vvv create dom.cfg

...
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32) loader 
... 
domainbuilder: detail: loader probe OK
domainbuilder: detail: xc_dom_parse_zimage32_kernel: called
...
domainbuilder: detail: vcpu_arm32: called
domainbuilder: detail: Initial state CPSR 0x1d3 PC 0x80008000
...

Only thing I can think of is that I'm accessing memory I can't access by 
default of MMU and that causes
prefetch abort but I don't know which memory segment I can use?

Regards, 
Ivan Pavic.



 



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


[Xen-devel] ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Julien Grail wrote:

> You can dump the registers of a vCPU with xenctx.

> $PREFIX/lib/xen/bin/xenctx domid

> $PREFIX is the path where xen tools have been installed (i.e --prefix on
> the configure). The default path is /usr/local/

Thanks for advice. I discovered that the PC has value 0x0C and SPSR of ABT mode 
is same
as CPSR so I think that is prefetch abort. But I don't understand why it 
happens? Invalid memory
access? I'm using simple linker script:

...
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
  _start = 0x80008000;

  . = _start;

  .text : {
*(.start);
*(.text);
  }
...
 
Thanks in advance.
Ivan Pavić

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


[Xen-devel] ARM bare metal application test

2016-05-09 Thread Ivan Pavić2
Hello,

I'm trying to build simple bare metal application on ARM Cortex A7.
I reached the phase in which I successfully created domain. Now,
I would like to check if application is really running (it runs according
xl list). But i need some simple interaction or at least console output.

So far this is my code:

.section ".start", "x"
.align
.globl_start

_start:
@ zImage header
.rept   8
mov r0, r0
.endr
b   work
.word   0x016f2818  @ Magic numbers to help the loader
.word   _start  @ absolute load/run zImage address
.word   _end - _start   @ zImage size
@ end of zImage header

work:  b work

I've made linker script so that entry point is at address _start and
it is initial value of PC (it is 0x80008000). So is there any quick
way to check registers from dom0 so I can be sure that "work" is
being done? I'm testing this on Odroid XU3 platform...





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


Re: [Xen-devel] Odroid XU3 support

2016-04-28 Thread Ivan Pavić2

> Xen is not ready for big.LITTLE, so I would highly recommend you to
> disable either all the Cortex-A15 or Cortex-A7.

> For your information, I am planning to send a patch to park any CPUs
> whose MIDR is not matching the boot CPU one.

> Julien Grall

Ok, 

I decided to use A15s... How can I  disable A7s in software and use
only A15s... Additionally how can I be sure that I'm using A15 cluster?

This maybe more ODROID related:

Suriyan Ramasami wrote:

> The Odroid XU3/XU4 afaict has a hardware pin which dictates if a A7
> or an A15 core should boot up. It is currently set to boot up from the A7s.

This may sound silly but where is that PIN on XU3 board.? Can 
this be modfied(is it accessible)? If not, how can I do it in software... 
Where to change order? Where to disable A7s? Probably in uBoot? 

Regards, Ivan Pavic.
  
 

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


[Xen-devel] Odroid XU3 support

2016-04-25 Thread Ivan Pavić2
Hello,

i'm trying to boot dom0 linux on exynos5422 platform on A15 (big cpu cluster). 
From the past mailing lists on this link: 
http://lists.xen.org/archives/html/xen-devel/2016-02/msg02275.html) 
I'm not sure that is well defined how to change A7's for A15's. 
Should change be in DTS or should one change cpu power up routines in linux? 
So far every time it boots from A7's. 
Additionally, I found this in xen boot.ini file:

# use the A7s for dom0 and pin them to it
setenv xen_bootargs sync_console console=dtuart dtuart=/serial@12C2 \
dom0_mem=800M dom0_max_vcpus=4 dom0_vcpus_pin

How this defines A7s for dom0?

How can I check which core is currently active? 
Judging by this link on big.LITTLE architecture:
http://forum.odroid.com/viewtopic.php?f=65=2580

result of: cat /proc/cpuinfo | grep "CPU part" is
CPU part: 0xc07

which stands for A7.

Regards,

Ivan Pavic.
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel