All of lore.kernel.org
 help / color / mirror / Atom feed
* Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
@ 2015-10-15 14:17 Ferger, Max
  2015-10-15 14:27 ` Ian Campbell
  0 siblings, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-15 14:17 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 4559 bytes --]

Hi!

I just managed to get Xen 4.6.0 on my R-Car H2 LAGER board to show up boot messages, as appended.
But it refuses my intended Dom0 kernel - some Yocto/Poky built with meta-renesas configuration.

Is there a known-good Dom0 kernel for this board?
Hopefully one that I may re-create with something like bitbake?
What about an automotive solution?

Thank you very much in advance!

Max Ferger


----- 8< -----
Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f3000 - 00000000407fd000 Device Tree
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0a000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f3000 - 00000000407fd000
(XEN)
(XEN) Command line: <NULL>
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) No dtuart path configured
(XEN) Bad console= option 'dtuart'
__  __            _  _    __    ___
\ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
/_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Thu Oct 15 15:17:47 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) Flask:  Access controls disabled until policy is loaded.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Missing kernel boot module?
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Could not set up DOM0 guest OS
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
[Nothing happens any more]
----- 8< -----




Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann


[-- Attachment #1.2: Type: text/html, Size: 14009 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-15 14:17 Dom0 kernel for Xen4.6 on R-Car H2 (LAGER) Ferger, Max
@ 2015-10-15 14:27 ` Ian Campbell
  2015-10-19 12:09   ` Ferger, Max
  0 siblings, 1 reply; 17+ messages in thread
From: Ian Campbell @ 2015-10-15 14:27 UTC (permalink / raw)
  To: Ferger, Max, xen-devel; +Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On Thu, 2015-10-15 at 14:17 +0000, Ferger, Max wrote:
> 
> I just managed to get Xen 4.6.0 on my R-Car H2 LAGER board to show up
> boot messages, as appended.
> But it refuses my intended Dom0 kernel – some Yocto/Poky built with meta
> -renesas configuration.
>  
> Is there a known-good Dom0 kernel for this board?
> Hopefully one that I may re-create with something like bitbake?
> What about an automotive solution?
>  
> Thank you very much in advance!
>  
> Max Ferger
[...]
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f3000 - 00000000407fd000 Device Tree
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0a000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f3000 - 00000000407fd000
> [...]
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Missing kernel boot module?

You don't appear to have passed a dom0 kernel to Xen. e.g. it is not listed
as a MODULE[N].

See 
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions#Booting_Xen
 which describes how to setup the DTB to reference the kernel boot module
etc.

It would also be useful if you would post your complete boot script.

Also, I'm CCing the original contributors of the Lager support, since we
don't have much knowledge of this specific platform or where to get kernels
from etc.

Ian.

> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Could not set up DOM0 guest OS
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...
> [Nothing happens any more]
> ----- 8< -----
>  
>  
>  
> Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn
> HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht
> Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
> Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid *
> Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
> Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm.
> Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.
> -Kfm. Ulrich Zimmermann
>  
> _______________________________________________
> 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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-15 14:27 ` Ian Campbell
@ 2015-10-19 12:09   ` Ferger, Max
  2015-10-19 12:44     ` Julien Grall
  0 siblings, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-19 12:09 UTC (permalink / raw)
  To: Ian Campbell, xen-devel; +Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Hello Ian Campbell, Iurii Konavalenko, Oleksandr Tyshchenko,
Hello xen-devel!

Thanks for the earlier help.  I managed to get further, but still cannot see Dom0 booting.
There is also an error in configuring the console.
Here comes my boot-log, including setting up the U-Boot configuration.

Thanks again!

Max Ferger

----- 8< -----

LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Please set MAC address
sh_eth
Error: sh_eth address not set.

=> env default -a -f
## Resetting to default environment
=> env set baudrate 38400
=> env set stderr serial
=> env set stdin serial
=> env set stdout serial
=>
=> env set ethaddr 2e:09:0a:00:6d:c9
=> env set ipaddr 192.168.0.5
=> env set serverip 192.168.0.15
=> env set gatewayip 192.168.0.15
=> env set netmask 255.255.255.0
=> env set hostname lager
=> env set dnsip
=> env set dnsip2
=> env set ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0::${dnsip}:${dnsip2}
=>
=> env set load_xen  'tftp 0x70007fc0 xen-uImage;            env set xen_addr ${fileaddr}; env set xen_size ${filesize}'
=> env set load_dtb  'tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize}'
=> env set load_dom0 'tftp 0x72000000 zImage-uImage;         env set dom0_addr ${fileaddr}; env set dom0_size ${filesize}'
=> env set load_xsm  'tftp 0x74000000 xenpolicy;             env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}'
=>
=>
=> env set fdt_addr_resize    'fdt addr ${dtb_addr}; fdt resize'
=> env set dtb 'run load_dtb fdt_addr_resize'
=>
=> # env set fdt_dom0_mknode 'fdt mknode /chosen/modules module@0x${dom0_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_dom0_compat 'fdt set /chosen/modules/module@0x${dom0_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_dom0_reg    'fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}>'
=> env set dom0 'run load_dom0 fdt_dom0_reg'
=>
=> # env set fdt_xsm_mknode 'fdt mknode /chosen/modules module@0x${xsm_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_xsm_compat 'fdt set /chosen/modules/module@0x${xsm_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_xsm_reg    'fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>'
=> env set xsm 'run load_xsm fdt_xsm_reg'
=>
=> env set fdt_print 'fdt print /chosen'
=>
=> env set xen 'run load_xen; bootm ${xen_addr} - ${dtb_addr}'
=>
=> env set bootcmd  run dtb dom0 xsm fdt_print xen
=> env print
baudrate=38400
bootcmd=run dtb dom0 xsm fdt_print xen
bootdelay=3
dom0=run load_dom0 fdt_dom0_reg
dtb=run load_dtb fdt_addr_resize
ethaddr=2e:09:0a:00:6d:c9
fdt_addr_resize=fdt addr ${dtb_addr}; fdt resize
fdt_dom0_reg=fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}>
fdt_print=fdt print /chosen
fdt_xsm_reg=fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>
gatewayip=192.168.0.15
hostname=lager
ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0:::
ipaddr=192.168.0.5
load_dom0=tftp 0x72000000 zImage-uImage; env set dom0_addr ${fileaddr}; env set dom0_size ${filesize}
load_dtb=tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize}
load_xen=tftp 0x70007fc0 xen-uImage; env set xen_addr ${fileaddr}; env set xen_size ${filesize}
load_xsm=tftp 0x74000000 xenpolicy; env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}
netmask=255.255.255.0
serverip=192.168.0.15
stderr=serial
stdin=serial
stdout=serial
xen=run load_xen; bootm ${xen_addr} - ${dtb_addr}
xsm=run load_xsm fdt_xsm_reg

Environment size: 1161/262140 bytes
=> run bootcmd
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         378.9 KiB/s
done
Bytes transferred = 42399 (a59f hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'zImage-uImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         702.1 KiB/s
done
Bytes transferred = 3133784 (2fd158 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         132.8 KiB/s
done
Bytes transferred = 9561 (2559 hex)
chosen {
        bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
        stdout-path = "/serial@e6c40000";
        xen,xen-bootargs = "console=dtuart dtuart=/soc/serial@e6c50000 dom0_mem=1G";
        xen,dom0-bootargs = "console=hvc0 vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootwait clk_ignore_unused";
        modules {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                module@0x72000000 {
                        reg = <0x72000000 0x002fd158>;
                        compatible = "multiboot,kernel", "multiboot,module";
                };
                module@0x74000000 {
                        reg = <0x74000000 0x00002559>;
                        compatible = "xen,xsm-policy", "multiboot,module";
                };
        };
};
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         650.4 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dtuart=/soc/serial@e6c50000 dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Looking for dtuart at "/soc/serial@e6c50000", options ""
(XEN) Unable to find device "/soc/serial@e6c50000"
(XEN) Bad console= option 'dtuart'
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Thu Oct 15 15:17:47 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) DT: no ranges; cannot enumerate
(XEN) Device tree generation failed (-22).
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Could not set up DOM0 guest OS
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
----- 8< -----


Mit freundlichen Grüßen / Kind regards

Leopold Kostal GmbH & Co. KG
Automobil Elektrik / Automotive Electrical Systems 

Max Ferger 
AEN5 Vorentwicklung Produktinnovationen
Advance Development Innovative Products

Hauert 16, 44227 Dortmund
Deutschland / Germany
Telefon: +49 231 7588 965
E-Mail: m.ferger@kostal.com

Internet: http://www.kostal.com

-----Original Message-----
From: Ian Campbell [mailto:ian.campbell@citrix.com]
Sent: Donnerstag, 15. Oktober 2015 16:28
To: Ferger, Max <M.Ferger@KOSTAL.COM>; xen-devel@lists.xen.org
Cc: Iurii Konovalenko <iurii.konovalenko@globallogic.com>; Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>
Subject: Re: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

On Thu, 2015-10-15 at 14:17 +0000, Ferger, Max wrote:
> 
> I just managed to get Xen 4.6.0 on my R-Car H2 LAGER board to show up 
> boot messages, as appended.
> But it refuses my intended Dom0 kernel – some Yocto/Poky built with 
> meta -renesas configuration.
>  
> Is there a known-good Dom0 kernel for this board?
> Hopefully one that I may re-create with something like bitbake?
> What about an automotive solution?
>  
> Thank you very much in advance!
>  
> Max Ferger
[...]
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f3000 - 00000000407fd000 Device Tree
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0a000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f3000 - 00000000407fd000 [...]
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Missing kernel boot module?

You don't appear to have passed a dom0 kernel to Xen. e.g. it is not listed as a MODULE[N].

See
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions#Booting_Xen
 which describes how to setup the DTB to reference the kernel boot module etc.

It would also be useful if you would post your complete boot script.

Also, I'm CCing the original contributors of the Lager support, since we don't have much knowledge of this specific platform or where to get kernels from etc.

Ian.

> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Could not set up DOM0 guest OS
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...
> [Nothing happens any more]
> ----- 8< -----
>  [...]



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-19 12:09   ` Ferger, Max
@ 2015-10-19 12:44     ` Julien Grall
  2015-10-20  8:48       ` Ferger, Max
  2015-10-20 11:23       ` Ferger, Max
  0 siblings, 2 replies; 17+ messages in thread
From: Julien Grall @ 2015-10-19 12:44 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Hello Max,

On 19/10/15 13:09, Ferger, Max wrote:
> - UART enabled -
> - CPU 00000000 booting -
> - Xen starting in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
> (XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
> (XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
> (XEN)
> (XEN) Command line: console=dtuart dtuart=/soc/serial@e6c50000 dom0_mem=1G
> (XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
> (XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
> (XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
> (XEN) Dom heap: 1015808 pages
> (XEN) Domain heap initialised
> (XEN) Platform: Renesas R-Car Gen2
> (XEN) Looking for dtuart at "/soc/serial@e6c50000", options ""
> (XEN) Unable to find device "/soc/serial@e6c50000"

You provided the wrong path to the UART. Xen will use earlyprintk rather
than the console.

If you use the upstream DT (arch/arm/boot/dts/r8a7790-lager.dts), it
contains a property stdout-path in the chosen node. As Xen is able to
understand it, you can drop "dtuart=/soc/...." and only keep console=dtuart
on the command line.

[...]

> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000072000000
> (XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
> (XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
> (XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
> (XEN) DT: no ranges; cannot enumerate
> (XEN) Device tree generation failed (-22).

Can you turn on DEBUG_DT in xen/arch/arm/domain_build.c (see patch [1])
and paste the log here?

Also, can you send the device tree you are using?

Regards,

[1]
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0c3441a..bdb8b1f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -40,7 +40,7 @@ static void __init parse_dom0_mem(const char *s)
 }
 custom_param("dom0_mem", parse_dom0_mem);
 
-//#define DEBUG_DT
+#define DEBUG_DT
 
 #ifdef DEBUG_DT
 # define DPRINT(fmt, args...) printk(XENLOG_DEBUG fmt, ##args)

-- 
Julien Grall

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-19 12:44     ` Julien Grall
@ 2015-10-20  8:48       ` Ferger, Max
  2015-10-20 10:05         ` Julien Grall
  2015-10-20 11:23       ` Ferger, Max
  1 sibling, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-20  8:48 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

[-- Attachment #1: Type: text/plain, Size: 39789 bytes --]

Many thanks for the attention, and the help so far!

* There are still warnings about the console not being properly configured. This issue seems not urgent to me, also I would appreciate a fix.

* Something goes wrong while booting Dom0.  Please help me in understanding why?

* I still don't know too much about how to modify Dom0.  I just try to run a Poky I created with Renesas' help, which has been successfully running on the board without Xen.

The device tree I used to get the following log (with DEBUG_DT defined) is attached:
My  r8a7790-lager-xen.dts  includes  r8a7790-lager.dts,  which originates from git://xenbits.xen.org/people/ianc/device-tree-rebasing.git
Thanks to Ian for this!


----- 8< -----

LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Please set MAC address
sh_eth
Error: sh_eth address not set.

=> env default -a -f
## Resetting to default environment
=> env set baudrate 38400
=> env set stderr serial
=> env set stdin serial
=> env set stdout serial
=>
=> env set ethaddr 2e:09:0a:00:6d:c9
=> env set ipaddr 192.168.0.5
=> env set serverip 192.168.0.15
=> env set gatewayip 192.168.0.15
=> env set netmask 255.255.255.0
=> env set hostname lager
=> env set dnsip
=> env set dnsip2
=> env set ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0::${dnsip}:${dnsip2}
=>
=> env set load_xen  'tftp 0x70007fc0 xen-uImage;            env set xen_addr ${fileaddr}; env set xen_size ${filesize}'
=> env set load_dtb  'tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize}'
=> env set load_dom0 'tftp 0x72000000 zImage-uImage;         env set dom0_addr ${fileaddr}; env set dom0_size ${filesize}'
=> env set load_xsm  'tftp 0x74000000 xenpolicy;             env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}'
=>
=>
=> env set fdt_addr_resize    'fdt addr ${dtb_addr}; fdt resize'
=> env set dtb 'run load_dtb fdt_addr_resize'
=>
=> # env set fdt_dom0_mknode 'fdt mknode /chosen/modules module@0x${dom0_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_dom0_compat 'fdt set /chosen/modules/module@0x${dom0_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_dom0_reg    'fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}>'
=> env set dom0 'run load_dom0 fdt_dom0_reg'
=>
=> # env set fdt_xsm_mknode 'fdt mknode /chosen/modules module@0x${xsm_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_xsm_compat 'fdt set /chosen/modules/module@0x${xsm_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_xsm_reg    'fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>'
=> env set xsm 'run load_xsm fdt_xsm_reg'
=>
=> env set fdt_print 'fdt print /chosen'
=>
=> env set xen 'run load_xen; bootm ${xen_addr} - ${dtb_addr}'
=>
=> env set bootcmd  run dtb dom0 xsm fdt_print xen
=> env print
baudrate=38400
bootcmd=run dtb dom0 xsm fdt_print xen
bootdelay=3
dom0=run load_dom0 fdt_dom0_reg
dtb=run load_dtb fdt_addr_resize
ethaddr=2e:09:0a:00:6d:c9
fdt_addr_resize=fdt addr ${dtb_addr}; fdt resize
fdt_dom0_reg=fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}>
fdt_print=fdt print /chosen
fdt_xsm_reg=fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>
gatewayip=192.168.0.15
hostname=lager
ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0:::
ipaddr=192.168.0.5
load_dom0=tftp 0x72000000 zImage-uImage; env set dom0_addr ${fileaddr}; env set dom0_size ${filesize}
load_dtb=tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize}
load_xen=tftp 0x70007fc0 xen-uImage; env set xen_addr ${fileaddr}; env set xen_size ${filesize}
load_xsm=tftp 0x74000000 xenpolicy; env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}
netmask=255.255.255.0
serverip=192.168.0.15
stderr=serial
stdin=serial
stdout=serial
xen=run load_xen; bootm ${xen_addr} - ${dtb_addr}
xsm=run load_xsm fdt_xsm_reg

Environment size: 1161/262140 bytes
=> run bootcmd
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         382.8 KiB/s
done
Bytes transferred = 42371 (a583 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'zImage-uImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         606.4 KiB/s
done
Bytes transferred = 3133784 (2fd158 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         198.2 KiB/s
done
Bytes transferred = 9561 (2559 hex)
chosen {
        bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
        stdout-path = "/serial@e6c40000";
        xen,xen-bootargs = "console=dtuart dom0_mem=1G";
        xen,dom0-bootargs = "console=hvc0 vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootwait clk_ignore_unused";
        modules {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                module@0x72000000 {
                        reg = <0x72000000 0x002fd158>;
                        compatible = "multiboot,kernel", "multiboot,module";
                };
                module@0x74000000 {
                        reg = <0x74000000 0x00002559>;
                        compatible = "xen,xsm-policy", "multiboot,module";
                };
        };
};
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         611.3 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Taking dtuart configuration from /chosen/stdout-path
(XEN) Looking for dtuart at "/serial@e6c40000", options ""
(XEN) Unable to initialize dtuart: -9
(XEN) Bad console= option 'dtuart'
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Tue Oct 20 10:12:41 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b-dirty
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) handle /
(XEN) / passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /aliases
(XEN) /aliases passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /cpus
(XEN)   Skip it (matched)
(XEN) handle /interrupt-controller@f1001000
(XEN) Create gic node
(XEN)   Set phandle = 0x1
(XEN) handle /gpio@e6050000
(XEN) /gpio@e6050000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 36
(XEN)   - MMIO: 00e6050000 - 00e6050050
(XEN) handle /gpio@e6051000
(XEN) /gpio@e6051000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 37
(XEN)   - MMIO: 00e6051000 - 00e6051050
(XEN) handle /gpio@e6052000
(XEN) /gpio@e6052000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 38
(XEN)   - MMIO: 00e6052000 - 00e6052050
(XEN) handle /gpio@e6053000
(XEN) /gpio@e6053000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 39
(XEN)   - MMIO: 00e6053000 - 00e6053050
(XEN) handle /gpio@e6054000
(XEN) /gpio@e6054000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 40
(XEN)   - MMIO: 00e6054000 - 00e6054050
(XEN) handle /gpio@e6055000
(XEN) /gpio@e6055000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 41
(XEN)   - MMIO: 00e6055000 - 00e6055050
(XEN) handle /thermal@e61f0000
(XEN) /thermal@e61f0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 101
(XEN)   - MMIO: 00e61f0000 - 00e61f0014
(XEN)   - MMIO: 00e61f0100 - 00e61f0138
(XEN) handle /timer
(XEN) Create timer node
(XEN)   Secure interrupt 29
(XEN)   Non secure interrupt 30
(XEN)   Virt interrupt 27
(XEN) handle /timer@ffca0000
(XEN) /timer@ffca0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 174
(XEN)   - IRQ: 175
(XEN)   - MMIO: 00ffca0000 - 00ffca1004
(XEN) handle /timer@e6130000
(XEN) /timer@e6130000 passthrough = 1 nirq = 8 naddr = 1
(XEN)   - IRQ: 152
(XEN)   - IRQ: 153
(XEN)   - IRQ: 154
(XEN)   - IRQ: 155
(XEN)   - IRQ: 156
(XEN)   - IRQ: 157
(XEN)   - IRQ: 158
(XEN)   - IRQ: 159
(XEN)   - MMIO: 00e6130000 - 00e6131004
(XEN) handle /interrupt-controller@e61c0000
(XEN) /interrupt-controller@e61c0000 passthrough = 1 nirq = 4 naddr = 1
(XEN)   - IRQ: 32
(XEN)   - IRQ: 33
(XEN)   - IRQ: 34
(XEN)   - IRQ: 35
(XEN)   - MMIO: 00e61c0000 - 00e61c0200
(XEN) handle /dma-controller@e6700000
(XEN) /dma-controller@e6700000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 229
(XEN)   - IRQ: 232
(XEN)   - IRQ: 233
(XEN)   - IRQ: 234
(XEN)   - IRQ: 235
(XEN)   - IRQ: 236
(XEN)   - IRQ: 237
(XEN)   - IRQ: 238
(XEN)   - IRQ: 239
(XEN)   - IRQ: 240
(XEN)   - IRQ: 241
(XEN)   - IRQ: 242
(XEN)   - IRQ: 243
(XEN)   - IRQ: 244
(XEN)   - IRQ: 245
(XEN)   - IRQ: 246
(XEN)   - MMIO: 00e6700000 - 00e6720000
(XEN) handle /dma-controller@e6720000
(XEN) /dma-controller@e6720000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 252
(XEN)   - IRQ: 248
(XEN)   - IRQ: 249
(XEN)   - IRQ: 250
(XEN)   - IRQ: 251
(XEN)   - IRQ: 340
(XEN)   - IRQ: 341
(XEN)   - IRQ: 342
(XEN)   - IRQ: 343
(XEN)   - IRQ: 344
(XEN)   - IRQ: 345
(XEN)   - IRQ: 346
(XEN)   - IRQ: 347
(XEN)   - IRQ: 348
(XEN)   - IRQ: 349
(XEN)   - IRQ: 350
(XEN)   - MMIO: 00e6720000 - 00e6740000
(XEN) handle /dma-controller@ec700000
(XEN) /dma-controller@ec700000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 378
(XEN)   - IRQ: 352
(XEN)   - IRQ: 353
(XEN)   - IRQ: 354
(XEN)   - IRQ: 355
(XEN)   - IRQ: 356
(XEN)   - IRQ: 357
(XEN)   - IRQ: 358
(XEN)   - IRQ: 359
(XEN)   - IRQ: 360
(XEN)   - IRQ: 361
(XEN)   - IRQ: 362
(XEN)   - IRQ: 363
(XEN)   - IRQ: 364
(XEN)   - MMIO: 00ec700000 - 00ec710000
(XEN) handle /dma-controller@ec720000
(XEN) /dma-controller@ec720000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 379
(XEN)   - IRQ: 365
(XEN)   - IRQ: 366
(XEN)   - IRQ: 367
(XEN)   - IRQ: 368
(XEN)   - IRQ: 369
(XEN)   - IRQ: 370
(XEN)   - IRQ: 371
(XEN)   - IRQ: 372
(XEN)   - IRQ: 373
(XEN)   - IRQ: 374
(XEN)   - IRQ: 375
(XEN)   - IRQ: 376
(XEN)   - IRQ: 377
(XEN)   - MMIO: 00ec720000 - 00ec730000
(XEN) handle /dma-controller@e65a0000
(XEN) /dma-controller@e65a0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 141
(XEN)   - IRQ: 141
(XEN)   - MMIO: 00e65a0000 - 00e65a0100
(XEN) handle /dma-controller@e65b0000
(XEN) /dma-controller@e65b0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 142
(XEN)   - IRQ: 142
(XEN)   - MMIO: 00e65b0000 - 00e65b0100
(XEN) handle /i2c@e6508000
(XEN) /i2c@e6508000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 319
(XEN)   - MMIO: 00e6508000 - 00e6508040
(XEN) handle /i2c@e6518000
(XEN) /i2c@e6518000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 320
(XEN)   - MMIO: 00e6518000 - 00e6518040
(XEN) handle /i2c@e6530000
(XEN) /i2c@e6530000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 318
(XEN)   - MMIO: 00e6530000 - 00e6530040
(XEN) handle /i2c@e6540000
(XEN) /i2c@e6540000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 322
(XEN)   - MMIO: 00e6540000 - 00e6540040
(XEN) handle /i2c@e6500000
(XEN) /i2c@e6500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 206
(XEN)   - MMIO: 00e6500000 - 00e6500425
(XEN) handle /i2c@e6510000
(XEN) /i2c@e6510000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 207
(XEN)   - MMIO: 00e6510000 - 00e6510425
(XEN) handle /i2c@e6520000
(XEN) /i2c@e6520000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 208
(XEN)   - MMIO: 00e6520000 - 00e6520425
(XEN) handle /i2c@e6520000/codec@12
(XEN) /i2c@e6520000/codec@12 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20
(XEN) /i2c@e6520000/composite-in@20 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port
(XEN) /i2c@e6520000/composite-in@20/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port/endpoint
(XEN) /i2c@e6520000/composite-in@20/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39
(XEN) /i2c@e6520000/hdmi@39 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /gpio@e6051000
(XEN) handle /i2c@e6520000/hdmi@39/ports
(XEN) /i2c@e6520000/hdmi@39/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0
(XEN) /i2c@e6520000/hdmi@39/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1
(XEN) /i2c@e6520000/hdmi@39/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000
(XEN) /i2c@e60b0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 205
(XEN)   - MMIO: 00e60b0000 - 00e60b0425
(XEN) handle /i2c@e60b0000/pmic@58
(XEN) /i2c@e60b0000/pmic@58 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /i2c@e60b0000/pmic@58/rtc
(XEN) /i2c@e60b0000/pmic@58/rtc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/pmic@58/wdt
(XEN) /i2c@e60b0000/pmic@58/wdt passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/regulator@68
(XEN) /i2c@e60b0000/regulator@68 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /mmc@ee200000
(XEN) /mmc@ee200000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 201
(XEN)   - MMIO: 00ee200000 - 00ee200080
(XEN) handle /mmc@ee220000
(XEN) /mmc@ee220000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 202
(XEN)   - MMIO: 00ee220000 - 00ee220080
(XEN) handle /pfc@e6060000
(XEN) /pfc@e6060000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6060000 - 00e6060250
(XEN) handle /pfc@e6060000/du
(XEN) /pfc@e6060000/du passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial0
(XEN) /pfc@e6060000/serial0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/ether
(XEN) /pfc@e6060000/ether passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/phy1
(XEN) /pfc@e6060000/phy1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial1
(XEN) /pfc@e6060000/serial1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd0
(XEN) /pfc@e6060000/sd0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd2
(XEN) /pfc@e6060000/sd2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/mmc1
(XEN) /pfc@e6060000/mmc1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi0
(XEN) /pfc@e6060000/spi0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi2
(XEN) /pfc@e6060000/spi2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic1
(XEN) /pfc@e6060000/iic1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic2
(XEN) /pfc@e6060000/iic2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic3
(XEN) /pfc@e6060000/iic3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/hsusb
(XEN) /pfc@e6060000/hsusb passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb0
(XEN) /pfc@e6060000/usb0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb1
(XEN) /pfc@e6060000/usb1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb2
(XEN) /pfc@e6060000/usb2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/vin
(XEN) /pfc@e6060000/vin passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound
(XEN) /pfc@e6060000/sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound_clk
(XEN) /pfc@e6060000/sound_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sd@ee100000
(XEN) /sd@ee100000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 197
(XEN)   - MMIO: 00ee100000 - 00ee100328
(XEN) handle /sd@ee120000
(XEN) /sd@ee120000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 198
(XEN)   - MMIO: 00ee120000 - 00ee120328
(XEN) handle /sd@ee140000
(XEN) /sd@ee140000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 199
(XEN)   - MMIO: 00ee140000 - 00ee140100
(XEN) handle /sd@ee160000
(XEN) /sd@ee160000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 200
(XEN)   - MMIO: 00ee160000 - 00ee160100
(XEN) handle /serial@e6c40000
(XEN) /serial@e6c40000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 176
(XEN)   - MMIO: 00e6c40000 - 00e6c40040
(XEN) handle /serial@e6c50000
(XEN) /serial@e6c50000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 177
(XEN)   - MMIO: 00e6c50000 - 00e6c50040
(XEN) handle /serial@e6c60000
(XEN) /serial@e6c60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 183
(XEN)   - MMIO: 00e6c60000 - 00e6c60040
(XEN) handle /serial@e6c20000
(XEN) /serial@e6c20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 180
(XEN)   - MMIO: 00e6c20000 - 00e6c20040
(XEN) handle /serial@e6c30000
(XEN) /serial@e6c30000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 181
(XEN)   - MMIO: 00e6c30000 - 00e6c30040
(XEN) handle /serial@e6ce0000
(XEN) /serial@e6ce0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 182
(XEN)   - MMIO: 00e6ce0000 - 00e6ce0040
(XEN) handle /serial@e6e60000
(XEN) /serial@e6e60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 184
(XEN)   - MMIO: 00e6e60000 - 00e6e60040
(XEN) handle /serial@e6e68000
(XEN) /serial@e6e68000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 185
(XEN)   - MMIO: 00e6e68000 - 00e6e68040
(XEN) handle /serial@e62c0000
(XEN) /serial@e62c0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 186
(XEN)   - MMIO: 00e62c0000 - 00e62c0060
(XEN) handle /serial@e62c8000
(XEN) /serial@e62c8000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 187
(XEN)   - MMIO: 00e62c8000 - 00e62c8060
(XEN) handle /ethernet@ee700000
(XEN) /ethernet@ee700000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 194
(XEN)   - MMIO: 00ee700000 - 00ee700400
(XEN) handle /ethernet@ee700000/ethernet-phy@1
(XEN) /ethernet@ee700000/ethernet-phy@1 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /sata@ee300000
(XEN) /sata@ee300000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 137
(XEN)   - MMIO: 00ee300000 - 00ee302000
(XEN) handle /sata@ee500000
(XEN) /sata@ee500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 138
(XEN)   - MMIO: 00ee500000 - 00ee502000
(XEN) handle /usb@e6590000
(XEN) /usb@e6590000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 139
(XEN)   - MMIO: 00e6590000 - 00e6590100
(XEN) handle /usb-phy@e6590100
(XEN) /usb-phy@e6590100 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6590100 - 00e6590200
(XEN) handle /usb-phy@e6590100/usb-channel@0
(XEN) /usb-phy@e6590100/usb-channel@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /usb-phy@e6590100/usb-channel@2
(XEN) /usb-phy@e6590100/usb-channel@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef0000
(XEN) /video@e6ef0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 220
(XEN)   - MMIO: 00e6ef0000 - 00e6ef1000
(XEN) handle /video@e6ef1000
(XEN) /video@e6ef1000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 221
(XEN)   - MMIO: 00e6ef1000 - 00e6ef2000
(XEN) handle /video@e6ef1000/port
(XEN) /video@e6ef1000/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef1000/port/endpoint
(XEN) /video@e6ef1000/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef2000
(XEN) /video@e6ef2000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 222
(XEN)   - MMIO: 00e6ef2000 - 00e6ef3000
(XEN) handle /video@e6ef3000
(XEN) /video@e6ef3000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 223
(XEN)   - MMIO: 00e6ef3000 - 00e6ef4000
(XEN) handle /vsp1@fe920000
(XEN) /vsp1@fe920000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 298
(XEN)   - MMIO: 00fe920000 - 00fe928000
(XEN) handle /vsp1@fe928000
(XEN) /vsp1@fe928000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 299
(XEN)   - MMIO: 00fe928000 - 00fe930000
(XEN) handle /vsp1@fe930000
(XEN) /vsp1@fe930000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 278
(XEN)   - MMIO: 00fe930000 - 00fe938000
(XEN) handle /vsp1@fe938000
(XEN) /vsp1@fe938000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 279
(XEN)   - MMIO: 00fe938000 - 00fe940000
(XEN) handle /display@feb00000
(XEN) /display@feb00000 passthrough = 1 nirq = 3 naddr = 3
(XEN)   - IRQ: 288
(XEN)   - IRQ: 300
(XEN)   - IRQ: 301
(XEN)   - MMIO: 00feb00000 - 00feb70000
(XEN)   - MMIO: 00feb90000 - 00feb9001c
(XEN)   - MMIO: 00feb94000 - 00feb9401c
(XEN) handle /display@feb00000/ports
(XEN) /display@feb00000/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0
(XEN) /display@feb00000/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0/endpoint
(XEN) /display@feb00000/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1
(XEN) /display@feb00000/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1/endpoint
(XEN) /display@feb00000/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2
(XEN) /display@feb00000/ports/port@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2/endpoint
(XEN) /display@feb00000/ports/port@2/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /can@e6e80000
(XEN) /can@e6e80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 218
(XEN)   - MMIO: 00e6e80000 - 00e6e81000
(XEN) handle /can@e6e88000
(XEN) /can@e6e88000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 219
(XEN)   - MMIO: 00e6e88000 - 00e6e89000
(XEN) handle /clocks
(XEN) /clocks passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/extal_clk
(XEN) /clocks/extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/pcie_bus_clk
(XEN) /clocks/pcie_bus_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_a
(XEN) /clocks/audio_clk_a passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_b
(XEN) /clocks/audio_clk_b passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_c
(XEN) /clocks/audio_clk_c passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/usb_extal_clk
(XEN) /clocks/usb_extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/can_clk
(XEN) /clocks/can_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cpg_clocks@e6150000
(XEN) /clocks/cpg_clocks@e6150000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150000 - 00e6151000
(XEN) handle /clocks/sd2_clk@e6150078
(XEN) /clocks/sd2_clk@e6150078 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150078 - 00e615007c
(XEN) handle /clocks/sd3_clk@e615026c
(XEN) /clocks/sd3_clk@e615026c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615026c - 00e6150270
(XEN) handle /clocks/mmc0_clk@e6150240
(XEN) /clocks/mmc0_clk@e6150240 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150240 - 00e6150244
(XEN) handle /clocks/mmc1_clk@e6150244
(XEN) /clocks/mmc1_clk@e6150244 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150244 - 00e6150248
(XEN) handle /clocks/ssp_clk@e6150248
(XEN) /clocks/ssp_clk@e6150248 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150248 - 00e615024c
(XEN) handle /clocks/ssprs_clk@e615024c
(XEN) /clocks/ssprs_clk@e615024c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615024c - 00e6150250
(XEN) handle /clocks/pll1_div2_clk
(XEN) /clocks/pll1_div2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/z2_clk
(XEN) /clocks/z2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zg_clk
(XEN) /clocks/zg_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zx_clk
(XEN) /clocks/zx_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zs_clk
(XEN) /clocks/zs_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/hp_clk
(XEN) /clocks/hp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/i_clk
(XEN) /clocks/i_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/b_clk
(XEN) /clocks/b_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/p_clk
(XEN) /clocks/p_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cl_clk
(XEN) /clocks/cl_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/m2_clk
(XEN) /clocks/m2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/imp_clk
(XEN) /clocks/imp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/rclk_clk
(XEN) /clocks/rclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/oscclk_clk
(XEN) /clocks/oscclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3_clk
(XEN) /clocks/zb3_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3d2_clk
(XEN) /clocks/zb3d2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/ddr_clk
(XEN) /clocks/ddr_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mp_clk
(XEN) /clocks/mp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cp_clk
(XEN) /clocks/cp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mstp0_clks@e6150130
(XEN) /clocks/mstp0_clks@e6150130 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150130 - 00e6150134
(XEN)   - MMIO: 00e6150030 - 00e6150034
(XEN) handle /clocks/mstp1_clks@e6150134
(XEN) /clocks/mstp1_clks@e6150134 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150134 - 00e6150138
(XEN)   - MMIO: 00e6150038 - 00e615003c
(XEN) handle /clocks/mstp2_clks@e6150138
(XEN) /clocks/mstp2_clks@e6150138 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150138 - 00e615013c
(XEN)   - MMIO: 00e6150040 - 00e6150044
(XEN) handle /clocks/mstp3_clks@e615013c
(XEN) /clocks/mstp3_clks@e615013c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615013c - 00e6150140
(XEN)   - MMIO: 00e6150048 - 00e615004c
(XEN) handle /clocks/mstp4_clks@e6150140
(XEN) /clocks/mstp4_clks@e6150140 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150140 - 00e6150144
(XEN)   - MMIO: 00e615004c - 00e6150050
(XEN) handle /clocks/mstp5_clks@e6150144
(XEN) /clocks/mstp5_clks@e6150144 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150144 - 00e6150148
(XEN)   - MMIO: 00e615003c - 00e6150040
(XEN) handle /clocks/mstp7_clks@e615014c
(XEN) /clocks/mstp7_clks@e615014c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615014c - 00e6150150
(XEN)   - MMIO: 00e61501c4 - 00e61501c8
(XEN) handle /clocks/mstp8_clks@e6150990
(XEN) /clocks/mstp8_clks@e6150990 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150990 - 00e6150994
(XEN)   - MMIO: 00e61509a0 - 00e61509a4
(XEN) handle /clocks/mstp9_clks@e6150994
(XEN) /clocks/mstp9_clks@e6150994 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150994 - 00e6150998
(XEN)   - MMIO: 00e61509a4 - 00e61509a8
(XEN) handle /clocks/mstp10_clks@e6150998
(XEN) /clocks/mstp10_clks@e6150998 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150998 - 00e615099c
(XEN)   - MMIO: 00e61509a8 - 00e61509ac
(XEN) handle /spi@e6b10000
(XEN) /spi@e6b10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 216
(XEN)   - MMIO: 00e6b10000 - 00e6b1002c
(XEN) handle /spi@e6b10000/flash@0
(XEN) /spi@e6b10000/flash@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@0
(XEN) /spi@e6b10000/flash@0/partition@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@40000
(XEN) /spi@e6b10000/flash@0/partition@40000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@440000
(XEN) /spi@e6b10000/flash@0/partition@440000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e20000
(XEN) /spi@e6e20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 188
(XEN)   - MMIO: 00e6e20000 - 00e6e20064
(XEN) handle /spi@e6e10000
(XEN) /spi@e6e10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 189
(XEN)   - MMIO: 00e6e10000 - 00e6e10064
(XEN) handle /spi@e6e10000/pmic@0
(XEN) /spi@e6e10000/pmic@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e00000
(XEN) /spi@e6e00000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 190
(XEN)   - MMIO: 00e6e00000 - 00e6e00064
(XEN) handle /spi@e6c90000
(XEN) /spi@e6c90000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 191
(XEN)   - MMIO: 00e6c90000 - 00e6c90064
(XEN) handle /usb@ee000000
(XEN) /usb@ee000000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 133
(XEN)   - MMIO: 00ee000000 - 00ee000c00
(XEN) handle /pci@ee090000
(XEN) /pci@ee090000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee090000 - 00ee090c00
(XEN)   - MMIO: 00ee080000 - 00ee081100
(XEN) Mapping children of /pci@ee090000 to guest
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee080000 - 00ee090000
(XEN) handle /pci@ee090000/usb@0,1
(XEN) /pci@ee090000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee090000/usb@0,1 to guest
(XEN) DT: no ranges; cannot enumerate
(XEN) Device tree generation failed (-22).
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Could not set up DOM0 guest OS
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
----- 8< -----

Mit freundlichen Grüßen / Kind regards

Leopold Kostal GmbH & Co. KG
Automobil Elektrik / Automotive Electrical Systems 

Max Ferger 
AEN5 Vorentwicklung Produktinnovationen
Advance Development Innovative Products

Hauert 16, 44227 Dortmund
Deutschland / Germany
Telefon: +49 231 7588 965
E-Mail: m.ferger@kostal.com

Internet: http://www.kostal.com

-----Ursprüngliche Nachricht-----
Von: Julien Grall [mailto:julien.grall@citrix.com] 
Gesendet: Montag, 19. Oktober 2015 14:44
An: Ferger, Max <M.Ferger@KOSTAL.COM>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: Re: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

Hello Max,

On 19/10/15 13:09, Ferger, Max wrote:
> - UART enabled -
> - CPU 00000000 booting -
> - Xen starting in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
> (XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
> (XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
> (XEN)
> (XEN) Command line: console=dtuart dtuart=/soc/serial@e6c50000 
> dom0_mem=1G
> (XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
> (XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 
> 000000007fc00000-000000007fd1b701
> (XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
> (XEN) Dom heap: 1015808 pages
> (XEN) Domain heap initialised
> (XEN) Platform: Renesas R-Car Gen2
> (XEN) Looking for dtuart at "/soc/serial@e6c50000", options ""
> (XEN) Unable to find device "/soc/serial@e6c50000"

You provided the wrong path to the UART. Xen will use earlyprintk rather than the console.

If you use the upstream DT (arch/arm/boot/dts/r8a7790-lager.dts), it contains a property stdout-path in the chosen node. As Xen is able to understand it, you can drop "dtuart=/soc/...." and only keep console=dtuart on the command line.

[...]

> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000072000000
> (XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
> (XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
> (XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
> (XEN) DT: no ranges; cannot enumerate
> (XEN) Device tree generation failed (-22).

Can you turn on DEBUG_DT in xen/arch/arm/domain_build.c (see patch [1]) and paste the log here?

Also, can you send the device tree you are using?

Regards,

[1]
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 0c3441a..bdb8b1f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -40,7 +40,7 @@ static void __init parse_dom0_mem(const char *s)  }  custom_param("dom0_mem", parse_dom0_mem);
 
-//#define DEBUG_DT
+#define DEBUG_DT
 
 #ifdef DEBUG_DT
 # define DPRINT(fmt, args...) printk(XENLOG_DEBUG fmt, ##args)

--
Julien Grall



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann


[-- Attachment #2: r8a7790-lager-xen.dts --]
[-- Type: application/octet-stream, Size: 977 bytes --]

/*
 * Device Tree Source for the Lager board
 *
 * Adding Xen4.6 configuration to boot some Linux as Dom0
 *
 */

#include "r8a7790-lager.dts"

/ {
	chosen {

		/* bootargs are present and used for native Linux without Xen, see
		 * http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt
		 */
		xen,xen-bootargs = "console=dtuart dom0_mem=1G";

		/* Dom0 kernel */
		xen,dom0-bootargs = "console=hvc0 vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootwait clk_ignore_unused";

		modules {
			#address-cells = <1>;
			#size-cells = <1>;

			module@0x72000000 {
				compatible = "multiboot,kernel", "multiboot,module";
				/* reg = <0x72000000 0x2fd158>; */
			};

			/* XSM Xen Security Policy */
			module@0x74000000 {
				compatible = "xen,xsm-policy", "multiboot,module";
				/* reg = <0x74000000 0x2559>; */
			};
		};
	};
};

[-- Attachment #3: r8a7790-lager.dts --]
[-- Type: application/octet-stream, Size: 12073 bytes --]

/*
 * Device Tree Source for the Lager board
 *
 * Copyright (C) 2013-2014 Renesas Solutions Corp.
 * Copyright (C) 2014 Cogent Embedded, Inc.
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/*
 * SSI-AK4643
 *
 * SW1: 1: AK4643
 *      2: CN22
 *      3: ADV7511
 *
 * This command is required when Playback/Capture
 *
 *	amixer set "LINEOUT Mixer DACL" on
 *	amixer set "DVC Out" 100%
 *	amixer set "DVC In" 100%
 *
 * You can use Mute
 *
 *	amixer set "DVC Out Mute" on
 *	amixer set "DVC In Mute" on
 *
 * You can use Volume Ramp
 *
 *	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
 *	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
 *	amixer set "DVC Out Ramp" on
 *	aplay xxx.wav &
 *	amixer set "DVC Out"  80%  // Volume Down
 *	amixer set "DVC Out" 100%  // Volume Up
 */

/dts-v1/;
#include "r8a7790.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Lager";
	compatible = "renesas,lager", "renesas,r8a7790";

	aliases {
		serial0 = &scifa0;
		serial1 = &scifa1;
	};

	chosen {
		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
		stdout-path = &scifa0;
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x40000000>;
	};

	memory@140000000 {
		device_type = "memory";
		reg = <1 0x40000000 0 0xc0000000>;
	};

	lbsc {
		#address-cells = <1>;
		#size-cells = <1>;
	};

	keyboard {
		compatible = "gpio-keys";

		button@1 {
			linux,code = <KEY_1>;
			label = "SW2-1";
			gpio-key,wakeup;
			debounce-interval = <20>;
			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
		};
		button@2 {
			linux,code = <KEY_2>;
			label = "SW2-2";
			gpio-key,wakeup;
			debounce-interval = <20>;
			gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
		};
		button@3 {
			linux,code = <KEY_3>;
			label = "SW2-3";
			gpio-key,wakeup;
			debounce-interval = <20>;
			gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
		};
		button@4 {
			linux,code = <KEY_4>;
			label = "SW2-4";
			gpio-key,wakeup;
			debounce-interval = <20>;
			gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
		};
	};

	leds {
		compatible = "gpio-leds";
		led6 {
			gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
		};
		led7 {
			gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
		};
		led8 {
			gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
		};
	};

	fixedregulator3v3: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	vcc_sdhi0: regulator@1 {
		compatible = "regulator-fixed";

		regulator-name = "SDHI0 Vcc";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vccq_sdhi0: regulator@2 {
		compatible = "regulator-gpio";

		regulator-name = "SDHI0 VccQ";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;

		gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
		gpios-states = <1>;
		states = <3300000 1
			  1800000 0>;
	};

	vcc_sdhi2: regulator@3 {
		compatible = "regulator-fixed";

		regulator-name = "SDHI2 Vcc";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vccq_sdhi2: regulator@4 {
		compatible = "regulator-gpio";

		regulator-name = "SDHI2 VccQ";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;

		gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
		gpios-states = <1>;
		states = <3300000 1
			  1800000 0>;
	};

	sound {
		compatible = "simple-audio-card";

		simple-audio-card,format = "left_j";
		simple-audio-card,bitclock-master = <&sndcodec>;
		simple-audio-card,frame-master = <&sndcodec>;

		sndcpu: simple-audio-card,cpu {
			sound-dai = <&rcar_sound>;
		};

		sndcodec: simple-audio-card,codec {
			sound-dai = <&ak4643>;
			system-clock-frequency = <11289600>;
		};
	};

	vga-encoder {
		compatible = "adi,adv7123";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				adv7123_in: endpoint {
					remote-endpoint = <&du_out_rgb>;
				};
			};
			port@1 {
				reg = <1>;
				adv7123_out: endpoint {
					remote-endpoint = <&vga_in>;
				};
			};
		};
	};

	vga {
		compatible = "vga-connector";

		port {
			vga_in: endpoint {
				remote-endpoint = <&adv7123_out>;
			};
		};
	};

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_con: endpoint {
				remote-endpoint = <&adv7511_out>;
			};
		};
	};

	x2_clk: x2-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <148500000>;
	};

	x13_clk: x13-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <148500000>;
	};
};

&du {
	pinctrl-0 = <&du_pins>;
	pinctrl-names = "default";
	status = "okay";

	clocks = <&mstp7_clks R8A7790_CLK_DU0>,
		 <&mstp7_clks R8A7790_CLK_DU1>,
		 <&mstp7_clks R8A7790_CLK_DU2>,
		 <&mstp7_clks R8A7790_CLK_LVDS0>,
		 <&mstp7_clks R8A7790_CLK_LVDS1>,
		 <&x13_clk>, <&x2_clk>;
	clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
		      "dclkin.0", "dclkin.1";

	ports {
		port@0 {
			endpoint {
				remote-endpoint = <&adv7123_in>;
			};
		};
		port@1 {
			endpoint {
				remote-endpoint = <&adv7511_in>;
			};
		};
		port@2 {
			lvds_connector: endpoint {
			};
		};
	};
};

&extal_clk {
	clock-frequency = <20000000>;
};

&pfc {
	du_pins: du {
		renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
		renesas,function = "du";
	};

	scifa0_pins: serial0 {
		renesas,groups = "scifa0_data";
		renesas,function = "scifa0";
	};

	ether_pins: ether {
		renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
		renesas,function = "eth";
	};

	phy1_pins: phy1 {
		renesas,groups = "intc_irq0";
		renesas,function = "intc";
	};

	scifa1_pins: serial1 {
		renesas,groups = "scifa1_data";
		renesas,function = "scifa1";
	};

	sdhi0_pins: sd0 {
		renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
		renesas,function = "sdhi0";
	};

	sdhi2_pins: sd2 {
		renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
		renesas,function = "sdhi2";
	};

	mmc1_pins: mmc1 {
		renesas,groups = "mmc1_data8", "mmc1_ctrl";
		renesas,function = "mmc1";
	};

	qspi_pins: spi0 {
		renesas,groups = "qspi_ctrl", "qspi_data4";
		renesas,function = "qspi";
	};

	msiof1_pins: spi2 {
		renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
				 "msiof1_tx";
		renesas,function = "msiof1";
	};

	iic1_pins: iic1 {
		renesas,groups = "iic1";
		renesas,function = "iic1";
	};

	iic2_pins: iic2 {
		renesas,groups = "iic2";
		renesas,function = "iic2";
	};

	iic3_pins: iic3 {
		renesas,groups = "iic3";
		renesas,function = "iic3";
	};

	hsusb_pins: hsusb {
		renesas,groups = "usb0_ovc_vbus";
		renesas,function = "usb0";
	};

	usb0_pins: usb0 {
		renesas,groups = "usb0";
		renesas,function = "usb0";
	};

	usb1_pins: usb1 {
		renesas,groups = "usb1";
		renesas,function = "usb1";
	};

	usb2_pins: usb2 {
		renesas,groups = "usb2";
		renesas,function = "usb2";
	};

	vin1_pins: vin {
		renesas,groups = "vin1_data8", "vin1_clk";
		renesas,function = "vin1";
	};

	sound_pins: sound {
		renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
		renesas,function = "ssi";
	};

	sound_clk_pins: sound_clk {
		renesas,groups = "audio_clk_a";
		renesas,function = "audio_clk";
	};
};

&ether {
	pinctrl-0 = <&ether_pins &phy1_pins>;
	pinctrl-names = "default";

	phy-handle = <&phy1>;
	renesas,ether-link-active-low;
	status = "okay";

	phy1: ethernet-phy@1 {
		reg = <1>;
		interrupt-parent = <&irqc0>;
		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
		micrel,led-mode = <1>;
	};
};

&cmt0 {
	status = "okay";
};

&mmcif1 {
	pinctrl-0 = <&mmc1_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&fixedregulator3v3>;
	bus-width = <8>;
	non-removable;
	status = "okay";
};

&sata1 {
	status = "okay";
};

&qspi {
	pinctrl-0 = <&qspi_pins>;
	pinctrl-names = "default";

	status = "okay";

	flash: flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spansion,s25fl512s", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <30000000>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
		spi-cpha;
		spi-cpol;
		m25p,fast-read;

		partition@0 {
			label = "loader";
			reg = <0x00000000 0x00040000>;
			read-only;
		};
		partition@40000 {
			label = "user";
			reg = <0x00040000 0x00400000>;
			read-only;
		};
		partition@440000 {
			label = "flash";
			reg = <0x00440000 0x03bc0000>;
		};
	};
};

&scifa0 {
	pinctrl-0 = <&scifa0_pins>;
	pinctrl-names = "default";

	status = "okay";
};

&scifa1 {
	pinctrl-0 = <&scifa1_pins>;
	pinctrl-names = "default";

	status = "okay";
};

&msiof1 {
	pinctrl-0 = <&msiof1_pins>;
	pinctrl-names = "default";

	status = "okay";

	pmic: pmic@0 {
		compatible = "renesas,r2a11302ft";
		reg = <0>;
		spi-max-frequency = <6000000>;
		spi-cpol;
		spi-cpha;
	};
};

&sdhi0 {
	pinctrl-0 = <&sdhi0_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&vcc_sdhi0>;
	vqmmc-supply = <&vccq_sdhi0>;
	cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&sdhi2 {
	pinctrl-0 = <&sdhi2_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&vcc_sdhi2>;
	vqmmc-supply = <&vccq_sdhi2>;
	cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&cpu0 {
	cpu0-supply = <&vdd_dvfs>;
};

&iic0	{
	status = "okay";
};

&iic1	{
	status = "okay";
	pinctrl-0 = <&iic1_pins>;
	pinctrl-names = "default";
};

&iic2	{
	status = "okay";
	pinctrl-0 = <&iic2_pins>;
	pinctrl-names = "default";

	clock-frequency = <100000>;

	ak4643: codec@12 {
		compatible = "asahi-kasei,ak4643";
		#sound-dai-cells = <0>;
		reg = <0x12>;
	};

	composite-in@20 {
		compatible = "adi,adv7180";
		reg = <0x20>;
		remote = <&vin1>;

		port {
			adv7180: endpoint {
				bus-width = <8>;
				remote-endpoint = <&vin1ep0>;
			};
		};
	};

	hdmi@39 {
		compatible = "adi,adv7511w";
		reg = <0x39>;
		interrupt-parent = <&gpio1>;
		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;

		adi,input-depth = <8>;
		adi,input-colorspace = "rgb";
		adi,input-clock = "1x";
		adi,input-style = <1>;
		adi,input-justification = "evenly";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				adv7511_in: endpoint {
					remote-endpoint = <&du_out_lvds0>;
				};
			};

			port@1 {
				reg = <1>;
				adv7511_out: endpoint {
					remote-endpoint = <&hdmi_con>;
				};
			};
		};
	};
};

&iic3 {
	pinctrl-names = "default";
	pinctrl-0 = <&iic3_pins>;
	status = "okay";

	pmic@58 {
		compatible = "dlg,da9063";
		reg = <0x58>;
		interrupt-parent = <&irqc0>;
		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;

		rtc {
			compatible = "dlg,da9063-rtc";
		};

		wdt {
			compatible = "dlg,da9063-watchdog";
		};
	};

	vdd_dvfs: regulator@68 {
		compatible = "dlg,da9210";
		reg = <0x68>;
		interrupt-parent = <&irqc0>;
		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;

		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <1000000>;
		regulator-boot-on;
		regulator-always-on;
	};
};

&pci0 {
	status = "okay";
	pinctrl-0 = <&usb0_pins>;
	pinctrl-names = "default";
};

&pci1 {
	status = "okay";
	pinctrl-0 = <&usb1_pins>;
	pinctrl-names = "default";
};

&xhci {
	status = "okay";
	pinctrl-0 = <&usb2_pins>;
	pinctrl-names = "default";
};

&pci2 {
	status = "okay";
	pinctrl-0 = <&usb2_pins>;
	pinctrl-names = "default";
};

&hsusb {
	status = "okay";
	pinctrl-0 = <&hsusb_pins>;
	pinctrl-names = "default";
	renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>;
};

&usbphy {
	status = "okay";
};

/* composite video input */
&vin1 {
	pinctrl-0 = <&vin1_pins>;
	pinctrl-names = "default";

	status = "okay";

	port {
		#address-cells = <1>;
		#size-cells = <0>;

		vin1ep0: endpoint {
			remote-endpoint = <&adv7180>;
			bus-width = <8>;
		};
	};
};

&rcar_sound {
	pinctrl-0 = <&sound_pins &sound_clk_pins>;
	pinctrl-names = "default";

	/* Single DAI */
	#sound-dai-cells = <0>;

	status = "okay";

	rcar_sound,dai {
		dai0 {
			playback = <&ssi0 &src2 &dvc0>;
			capture  = <&ssi1 &src3 &dvc1>;
		};
	};
};

&ssi1 {
	shared-pin;
};

[-- Attachment #4: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-20  8:48       ` Ferger, Max
@ 2015-10-20 10:05         ` Julien Grall
  2015-10-20 10:47           ` Julien Grall
  0 siblings, 1 reply; 17+ messages in thread
From: Julien Grall @ 2015-10-20 10:05 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Hi,

On 20/10/2015 09:48, Ferger, Max wrote:
> Many thanks for the attention, and the help so far!
>
> * There are still warnings about the console not being properly configured. This issue seems not urgent to me, also I would appreciate a fix.
>
> * Something goes wrong while booting Dom0.  Please help me in understanding why?
>
> * I still don't know too much about how to modify Dom0.  I just try to run a Poky I created with Renesas' help, which has been successfully running on the board without Xen.

> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
> (XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
> (XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
> (XEN)
> (XEN) Command line: console=dtuart dom0_mem=1G
> (XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
> (XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
> (XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
> (XEN) Dom heap: 1015808 pages
> (XEN) Domain heap initialised
> (XEN) Platform: Renesas R-Car Gen2
> (XEN) Taking dtuart configuration from /chosen/stdout-path
> (XEN) Looking for dtuart at "/serial@e6c40000", options ""
> (XEN) Unable to initialize dtuart: -9

It looks like your platform is using an UART compatible with 
"renesas,scifa".

Although, for the moment, the driver in Xen is only supporting 
"renesas,scif".

Looking to the Linux drivers (drivers/tty/serial/sh-sci.c), there is few 
differences between the two UART, mostly about the register offsets.

Meanwhile, you can stay on the earlyprintk until you get DOM0 to boot. 
It only means that Xen won't be able to receive character and interact 
with you.

> (XEN) Bad console= option 'dtuart'
>   __  __            _  _    __    ___
>   \ \/ /___ _ __   | || |  / /_  / _ \
>    \  // _ \ '_ \  | || |_| '_ \| | | |
>    /  \  __/ | | | |__   _| (_) | |_| |
>   /_/\_\___|_| |_|    |_|(_)___(_)___/

[..]

> (XEN) handle /pci@ee090000/usb@0,1
> (XEN) /pci@ee090000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
> (XEN) Mapping children of /pci@ee090000/usb@0,1 to guest
> (XEN) DT: no ranges; cannot enumerate

Thank you for the log. The offending node is /pci@ee090000/usb@0,1 which 
is (r8a7790.dtsi):

1407                 usb@0,1 {
1408                         reg = <0x800 0 0 0 0>;
1409                         device_type = "pci";
1410                         phys = <&usb0 0>;
1411                         phy-names = "usb";
1412                 };
1413

We assume that every node containing device_type = "pci" is a PCI bus. 
So Xen is looking for a property "ranges" which is not present.

Although, here it's describing a PCI device. I wasn't able to find a 
spec telling that device_type = "pci"; should only be used by the PCI 
bus. Ian, do you remember why you implement with this assumption?

For now, I would advice you to drop this node, the next one (usb@0,2) 
and doing the same in "pci@ee0d0000". We can figure out later how to fix 
it when you get a DOM0 booting.

> (XEN) Device tree generation failed (-22).
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Could not set up DOM0 guest OS
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...

Regards,

-- 
Julien Grall

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-20 10:05         ` Julien Grall
@ 2015-10-20 10:47           ` Julien Grall
  2015-10-20 11:41             ` Ferger, Max
  0 siblings, 1 reply; 17+ messages in thread
From: Julien Grall @ 2015-10-20 10:47 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On 20/10/2015 11:05, Julien Grall wrote:
> Thank you for the log. The offending node is /pci@ee090000/usb@0,1 which
> is (r8a7790.dtsi):
>
> 1407                 usb@0,1 {
> 1408                         reg = <0x800 0 0 0 0>;
> 1409                         device_type = "pci";
> 1410                         phys = <&usb0 0>;
> 1411                         phy-names = "usb";
> 1412                 };
> 1413
>
> We assume that every node containing device_type = "pci" is a PCI bus.
> So Xen is looking for a property "ranges" which is not present.
>
> Although, here it's describing a PCI device. I wasn't able to find a
> spec telling that device_type = "pci"; should only be used by the PCI
> bus. Ian, do you remember why you implement with this assumption?
>
> For now, I would advice you to drop this node, the next one (usb@0,2)
> and doing the same in "pci@ee0d0000". We can figure out later how to fix
> it when you get a DOM0 booting.

Better solution, rather than dropping the nodes can you add "ranges;" in 
each of them. Smth like

usb@0,1 {
   reg = <0x800 0 0 0 0>;
   device_type = "pci";
   phys = <&usb0 0>;
   phy-names = "usb";
   ranges;
}

"ranges;" is used to tell the PCI device is using the same address space 
of the PCI bus. There is DT bindings describing how look like the 
subnode and they mandate the property "ranges" (see [1], [2]). Although 
renesas doesn't seem to require it. Might be worth to investigate it.

Regards,

[1] 
http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pci/mvebu-pci.txt
[2] 
http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt

-- 
Julien Grall

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-19 12:44     ` Julien Grall
  2015-10-20  8:48       ` Ferger, Max
@ 2015-10-20 11:23       ` Ferger, Max
  2015-10-20 21:44         ` Julien Grall
  1 sibling, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-20 11:23 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

[-- Attachment #1: Type: text/plain, Size: 52055 bytes --]

One step closer, thanks again!

Removing the incompatible PCI/USB devices lets Xen boot somewhat further.

Here is the (significant) difference in log output, the full new one is appended.

I've back traced the trap message from traps.c +2447:
None of the explicit 'goto bad_data_abort;' calls is responsible, but a fall through via traps.c +2444.

----- 8< -----
@@ -827,15 +748,237 @@
 (XEN)   - IRQ: 140
 (XEN)   - IRQ: 140
 (XEN)   - MMIO: 00ee080000 - 00ee090000
-(XEN) handle /pci@ee090000/usb@0,1
-(XEN) /pci@ee090000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
-(XEN) Mapping children of /pci@ee090000/usb@0,1 to guest
-(XEN) DT: no ranges; cannot enumerate
-(XEN) Device tree generation failed (-22).
-(XEN)
-(XEN) ****************************************
-(XEN) Panic on CPU 0:
-(XEN) Could not set up DOM0 guest OS
-(XEN) ****************************************
-(XEN)
-(XEN) Reboot in five seconds...
+(XEN) handle /pci@ee0b0000
+(XEN) /pci@ee0b0000 passthrough = 1 nirq = 1 naddr = 2
+(XEN)   - IRQ: 144
+(XEN)   - MMIO: 00ee0b0000 - 00ee0b0c00
+(XEN)   - MMIO: 00ee0a0000 - 00ee0a1100
+(XEN) Mapping children of /pci@ee0b0000 to guest
+(XEN)   - IRQ: 144
+(XEN)   - IRQ: 144
+(XEN)   - IRQ: 144
+(XEN)   - MMIO: 00ee0a0000 - 00ee0b0000
+(XEN) handle /pci@ee0d0000
+(XEN) /pci@ee0d0000 passthrough = 1 nirq = 1 naddr = 2
+(XEN)   - IRQ: 145
+(XEN)   - MMIO: 00ee0d0000 - 00ee0d0c00
+(XEN)   - MMIO: 00ee0c0000 - 00ee0c1100
+(XEN) Mapping children of /pci@ee0d0000 to guest
+(XEN)   - IRQ: 145
+(XEN)   - IRQ: 145
+(XEN)   - IRQ: 145
+(XEN)   - MMIO: 00ee0c0000 - 00ee0d0000
+(XEN) handle /pcie@fe000000
+(XEN) /pcie@fe000000 passthrough = 1 nirq = 3 naddr = 1
+(XEN)   - IRQ: 148
+(XEN)   - IRQ: 149
+(XEN)   - IRQ: 150
+(XEN)   - MMIO: 00fe000000 - 00fe080000
+(XEN) Mapping children of /pcie@fe000000 to guest
+(XEN)   - IRQ: 148
+(XEN)   - MMIO: 00fe100000 - 00fe200000
+(XEN)   - MMIO: 00fe200000 - 00fe400000
+(XEN)   - MMIO: 0030000000 - 0038000000
+(XEN)   - MMIO: 0038000000 - 0040000000
+(XEN) handle /sound@ec500000
+(XEN) /sound@ec500000 passthrough = 1 nirq = 0 naddr = 5
+(XEN)   - MMIO: 00ec500000 - 00ec501000
+(XEN)   - MMIO: 00ec5a0000 - 00ec5a0100
+(XEN)   - MMIO: 00ec540000 - 00ec541000
+(XEN)   - MMIO: 00ec541000 - 00ec542280
+(XEN)   - MMIO: 00ec740000 - 00ec740200
+(XEN) handle /sound@ec500000/rcar_sound,dvc
+(XEN) /sound@ec500000/rcar_sound,dvc passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@0
+(XEN) /sound@ec500000/rcar_sound,dvc/dvc@0 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@1
+(XEN) /sound@ec500000/rcar_sound,dvc/dvc@1 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,src
+(XEN) /sound@ec500000/rcar_sound,src passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,src/src@0
+(XEN) /sound@ec500000/rcar_sound,src/src@0 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 384
+(XEN) handle /sound@ec500000/rcar_sound,src/src@1
+(XEN) /sound@ec500000/rcar_sound,src/src@1 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 385
+(XEN) handle /sound@ec500000/rcar_sound,src/src@2
+(XEN) /sound@ec500000/rcar_sound,src/src@2 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 386
+(XEN) handle /sound@ec500000/rcar_sound,src/src@3
+(XEN) /sound@ec500000/rcar_sound,src/src@3 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 387
+(XEN) handle /sound@ec500000/rcar_sound,src/src@4
+(XEN) /sound@ec500000/rcar_sound,src/src@4 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 388
+(XEN) handle /sound@ec500000/rcar_sound,src/src@5
+(XEN) /sound@ec500000/rcar_sound,src/src@5 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 389
+(XEN) handle /sound@ec500000/rcar_sound,src/src@6
+(XEN) /sound@ec500000/rcar_sound,src/src@6 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 390
+(XEN) handle /sound@ec500000/rcar_sound,src/src@7
+(XEN) /sound@ec500000/rcar_sound,src/src@7 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 391
+(XEN) handle /sound@ec500000/rcar_sound,src/src@8
+(XEN) /sound@ec500000/rcar_sound,src/src@8 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 392
+(XEN) handle /sound@ec500000/rcar_sound,src/src@9
+(XEN) /sound@ec500000/rcar_sound,src/src@9 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 393
+(XEN) handle /sound@ec500000/rcar_sound,ssi
+(XEN) /sound@ec500000/rcar_sound,ssi passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@0
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@0 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 402
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@1
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@1 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 403
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@2
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@2 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 404
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@3
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@3 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 405
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@4
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@4 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 406
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@5
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@5 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 407
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@6
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@6 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 408
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@7
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@7 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 409
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@8
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@8 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 410
+(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@9
+(XEN) /sound@ec500000/rcar_sound,ssi/ssi@9 passthrough = 1 nirq = 1 naddr = 0
+(XEN)   - IRQ: 411
+(XEN) handle /sound@ec500000/rcar_sound,dai
+(XEN) /sound@ec500000/rcar_sound,dai passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound@ec500000/rcar_sound,dai/dai0
+(XEN) /sound@ec500000/rcar_sound,dai/dai0 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /mmu@e6280000
+(XEN) /mmu@e6280000 passthrough = 1 nirq = 2 naddr = 1
+(XEN)   - IRQ: 255
+(XEN)   - IRQ: 256
+(XEN)   - MMIO: 00e6280000 - 00e6281000
+(XEN) handle /mmu@e6290000
+(XEN) /mmu@e6290000 passthrough = 1 nirq = 1 naddr = 1
+(XEN)   - IRQ: 257
+(XEN)   - MMIO: 00e6290000 - 00e6291000
+(XEN) handle /mmu@e6740000
+(XEN) /mmu@e6740000 passthrough = 1 nirq = 2 naddr = 1
+(XEN)   - IRQ: 230
+(XEN)   - IRQ: 231
+(XEN)   - MMIO: 00e6740000 - 00e6741000
+(XEN) handle /mmu@ec680000
+(XEN) /mmu@ec680000 passthrough = 1 nirq = 1 naddr = 1
+(XEN)   - IRQ: 258
+(XEN)   - MMIO: 00ec680000 - 00ec681000
+(XEN) handle /mmu@fe951000
+(XEN) /mmu@fe951000 passthrough = 1 nirq = 2 naddr = 1
+(XEN)   - IRQ: 254
+(XEN)   - IRQ: 253
+(XEN)   - MMIO: 00fe951000 - 00fe952000
+(XEN) handle /mmu@ffc80000
+(XEN) /mmu@ffc80000 passthrough = 1 nirq = 1 naddr = 1
+(XEN)   - IRQ: 339
+(XEN)   - MMIO: 00ffc80000 - 00ffc81000
+(XEN) handle /chosen
+(XEN) /chosen passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /chosen/modules
+(XEN) /chosen/modules passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /chosen/modules/module@0x72000000
+(XEN)   Skip it (matched)
+(XEN) handle /chosen/modules/module@0x74000000
+(XEN)   Skip it (matched)
+(XEN) handle /memory@40000000
+(XEN)   Skip it (matched)
+(XEN) handle /memory@140000000
+(XEN)   Skip it (matched)
+(XEN) handle /lbsc
+(XEN) /lbsc passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /keyboard
+(XEN) /keyboard passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /keyboard/button@1
+(XEN) /keyboard/button@1 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /keyboard/button@2
+(XEN) /keyboard/button@2 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /keyboard/button@3
+(XEN) /keyboard/button@3 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /keyboard/button@4
+(XEN) /keyboard/button@4 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /leds
+(XEN) /leds passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /leds/led6
+(XEN) /leds/led6 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /leds/led7
+(XEN) /leds/led7 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /leds/led8
+(XEN) /leds/led8 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /fixedregulator@0
+(XEN) /fixedregulator@0 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /regulator@1
+(XEN) /regulator@1 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /regulator@2
+(XEN) /regulator@2 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /regulator@3
+(XEN) /regulator@3 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /regulator@4
+(XEN) /regulator@4 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound
+(XEN) /sound passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound/simple-audio-card,cpu
+(XEN) /sound/simple-audio-card,cpu passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /sound/simple-audio-card,codec
+(XEN) /sound/simple-audio-card,codec passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder
+(XEN) /vga-encoder passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder/ports
+(XEN) /vga-encoder/ports passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder/ports/port@0
+(XEN) /vga-encoder/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder/ports/port@0/endpoint
+(XEN) /vga-encoder/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder/ports/port@1
+(XEN) /vga-encoder/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga-encoder/ports/port@1/endpoint
+(XEN) /vga-encoder/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga
+(XEN) /vga passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga/port
+(XEN) /vga/port passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /vga/port/endpoint
+(XEN) /vga/port/endpoint passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /hdmi-out
+(XEN) /hdmi-out passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /hdmi-out/port
+(XEN) /hdmi-out/port passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /hdmi-out/port/endpoint
+(XEN) /hdmi-out/port/endpoint passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /x2-clock
+(XEN) /x2-clock passthrough = 1 nirq = 0 naddr = 0
+(XEN) handle /x13-clock
+(XEN) /x13-clock passthrough = 1 nirq = 0 naddr = 0
+(XEN) Create hypervisor node
+(XEN) Create PSCI node
+(XEN) Create cpus node
+(XEN) Create cpu@0 (logical CPUID: 0) node
+(XEN) Create memory node (reg size 4, nr cells 8)
+(XEN)   Bank 0: 0x48000000->0x70000000
+(XEN)   Bank 1: 0x1d8000000->0x1f0000000
+(XEN) Loading zImage from 0000000072000000 to 000000004fc00000-000000004fefd158
+(XEN) Allocating PPI 16 for event channel interrupt
+(XEN) Loading dom0 DTB to 0x0000000050000000-0x0000000050009fe1
+(XEN) Scrubbing Free RAM on 1 nodes using 1 CPUs
+(XEN) ................................done.
+(XEN) Initial low memory virq threshold set at 0x4000 pages.
+(XEN) Std. Loglevel: All
+(XEN) Guest Loglevel: All
+(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
+(XEN) Freed 268kB init memory.
+(XEN) traps.c:2447:d0v0 HSR=0x93830007 pc=0xc001e398 gva=0xe7804060 gpa=0x000000e6160060
----- 8< -----


Mit freundlichen Grüßen / Kind regards

Leopold Kostal GmbH & Co. KG
Automobil Elektrik / Automotive Electrical Systems 

Max Ferger 
AEN5 Vorentwicklung Produktinnovationen
Advance Development Innovative Products

Hauert 16, 44227 Dortmund
Deutschland / Germany
Telefon: +49 231 7588 965
E-Mail: m.ferger@kostal.com

Internet: http://www.kostal.com


-----Ursprüngliche Nachricht-----
Von: Ferger, Max 
Gesendet: Dienstag, 20. Oktober 2015 10:49
An: 'Julien Grall' <julien.grall@citrix.com>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: AW: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

Many thanks for the attention, and the help so far!

* There are still warnings about the console not being properly configured. This issue seems not urgent to me, also I would appreciate a fix.

* Something goes wrong while booting Dom0.  Please help me in understanding why?

* I still don't know too much about how to modify Dom0.  I just try to run a Poky I created with Renesas' help, which has been successfully running on the board without Xen.

The device tree I used to get the following log (with DEBUG_DT defined) is attached:
My  r8a7790-lager-xen.dts  includes  r8a7790-lager.dts,  which originates from git://xenbits.xen.org/people/ianc/device-tree-rebasing.git
Thanks to Ian for this!


----- 8< -----

LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Please set MAC address
sh_eth
Error: sh_eth address not set.

=> env default -a -f
## Resetting to default environment
=> env set baudrate 38400
=> env set stderr serial
=> env set stdin serial
=> env set stdout serial
=>
=> env set ethaddr 2e:09:0a:00:6d:c9
=> env set ipaddr 192.168.0.5
=> env set serverip 192.168.0.15
=> env set gatewayip 192.168.0.15
=> env set netmask 255.255.255.0
=> env set hostname lager
=> env set dnsip
=> env set dnsip2
=> env set ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0::${dnsip}:${dnsip2}
=>
=> env set load_xen  'tftp 0x70007fc0 xen-uImage;            env set xen_addr ${fileaddr}; env set xen_size ${filesize}'
=> env set load_dtb  'tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize}'
=> env set load_dom0 'tftp 0x72000000 zImage-uImage;         env set dom0_addr ${fileaddr}; env set dom0_size ${filesize}'
=> env set load_xsm  'tftp 0x74000000 xenpolicy;             env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}'
=>
=>
=> env set fdt_addr_resize    'fdt addr ${dtb_addr}; fdt resize'
=> env set dtb 'run load_dtb fdt_addr_resize'
=>
=> # env set fdt_dom0_mknode 'fdt mknode /chosen/modules module@0x${dom0_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_dom0_compat 'fdt set /chosen/modules/module@0x${dom0_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_dom0_reg    'fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}>'
=> env set dom0 'run load_dom0 fdt_dom0_reg'
=>
=> # env set fdt_xsm_mknode 'fdt mknode /chosen/modules module@0x${xsm_addr} || help'
Unknown command '#' - try 'help'
=> # env set fdt_xsm_compat 'fdt set /chosen/modules/module@0x${xsm_addr} compatible xen,linux-zimage xen,multiboot-module'
Unknown command '#' - try 'help'
=> env set fdt_xsm_reg    'fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>'
=> env set xsm 'run load_xsm fdt_xsm_reg'
=>
=> env set fdt_print 'fdt print /chosen'
=>
=> env set xen 'run load_xen; bootm ${xen_addr} - ${dtb_addr}'
=>
=> env set bootcmd  run dtb dom0 xsm fdt_print xen => env print
baudrate=38400
bootcmd=run dtb dom0 xsm fdt_print xen
bootdelay=3
dom0=run load_dom0 fdt_dom0_reg
dtb=run load_dtb fdt_addr_resize
ethaddr=2e:09:0a:00:6d:c9
fdt_addr_resize=fdt addr ${dtb_addr}; fdt resize fdt_dom0_reg=fdt set /chosen/modules/module@0x${dom0_addr} reg <0x${dom0_addr} 0x${dom0_size}> fdt_print=fdt print /chosen fdt_xsm_reg=fdt set /chosen/modules/module@0x${xsm_addr} reg <0x${xsm_addr} 0x${xsm_size}>
gatewayip=192.168.0.15
hostname=lager
ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0:::
ipaddr=192.168.0.5
load_dom0=tftp 0x72000000 zImage-uImage; env set dom0_addr ${fileaddr}; env set dom0_size ${filesize} load_dtb=tftp 0x70f00000 r8a7790-lager-xen.dtb; env set dtb_addr ${fileaddr}; env set dtb_size ${filesize} load_xen=tftp 0x70007fc0 xen-uImage; env set xen_addr ${fileaddr}; env set xen_size ${filesize} load_xsm=tftp 0x74000000 xenpolicy; env set xsm_addr ${fileaddr}; env set xsm_size ${filesize}
netmask=255.255.255.0
serverip=192.168.0.15
stderr=serial
stdin=serial
stdout=serial
xen=run load_xen; bootm ${xen_addr} - ${dtb_addr} xsm=run load_xsm fdt_xsm_reg

Environment size: 1161/262140 bytes
=> run bootcmd
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5 Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         382.8 KiB/s
done
Bytes transferred = 42371 (a583 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5 Filename 'zImage-uImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         606.4 KiB/s
done
Bytes transferred = 3133784 (2fd158 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5 Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         198.2 KiB/s
done
Bytes transferred = 9561 (2559 hex)
chosen {
        bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
        stdout-path = "/serial@e6c40000";
        xen,xen-bootargs = "console=dtuart dom0_mem=1G";
        xen,dom0-bootargs = "console=hvc0 vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootwait clk_ignore_unused";
        modules {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                module@0x72000000 {
                        reg = <0x72000000 0x002fd158>;
                        compatible = "multiboot,kernel", "multiboot,module";
                };
                module@0x74000000 {
                        reg = <0x74000000 0x00002559>;
                        compatible = "xen,xsm-policy", "multiboot,module";
                };
        };
};
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5 Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         611.3 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Taking dtuart configuration from /chosen/stdout-path
(XEN) Looking for dtuart at "/serial@e6c40000", options ""
(XEN) Unable to initialize dtuart: -9
(XEN) Bad console= option 'dtuart'
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Tue Oct 20 10:12:41 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b-dirty
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) handle /
(XEN) / passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /aliases
(XEN) /aliases passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /cpus
(XEN)   Skip it (matched)
(XEN) handle /interrupt-controller@f1001000
(XEN) Create gic node
(XEN)   Set phandle = 0x1
(XEN) handle /gpio@e6050000
(XEN) /gpio@e6050000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 36
(XEN)   - MMIO: 00e6050000 - 00e6050050
(XEN) handle /gpio@e6051000
(XEN) /gpio@e6051000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 37
(XEN)   - MMIO: 00e6051000 - 00e6051050
(XEN) handle /gpio@e6052000
(XEN) /gpio@e6052000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 38
(XEN)   - MMIO: 00e6052000 - 00e6052050
(XEN) handle /gpio@e6053000
(XEN) /gpio@e6053000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 39
(XEN)   - MMIO: 00e6053000 - 00e6053050
(XEN) handle /gpio@e6054000
(XEN) /gpio@e6054000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 40
(XEN)   - MMIO: 00e6054000 - 00e6054050
(XEN) handle /gpio@e6055000
(XEN) /gpio@e6055000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 41
(XEN)   - MMIO: 00e6055000 - 00e6055050
(XEN) handle /thermal@e61f0000
(XEN) /thermal@e61f0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 101
(XEN)   - MMIO: 00e61f0000 - 00e61f0014
(XEN)   - MMIO: 00e61f0100 - 00e61f0138
(XEN) handle /timer
(XEN) Create timer node
(XEN)   Secure interrupt 29
(XEN)   Non secure interrupt 30
(XEN)   Virt interrupt 27
(XEN) handle /timer@ffca0000
(XEN) /timer@ffca0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 174
(XEN)   - IRQ: 175
(XEN)   - MMIO: 00ffca0000 - 00ffca1004
(XEN) handle /timer@e6130000
(XEN) /timer@e6130000 passthrough = 1 nirq = 8 naddr = 1
(XEN)   - IRQ: 152
(XEN)   - IRQ: 153
(XEN)   - IRQ: 154
(XEN)   - IRQ: 155
(XEN)   - IRQ: 156
(XEN)   - IRQ: 157
(XEN)   - IRQ: 158
(XEN)   - IRQ: 159
(XEN)   - MMIO: 00e6130000 - 00e6131004
(XEN) handle /interrupt-controller@e61c0000
(XEN) /interrupt-controller@e61c0000 passthrough = 1 nirq = 4 naddr = 1
(XEN)   - IRQ: 32
(XEN)   - IRQ: 33
(XEN)   - IRQ: 34
(XEN)   - IRQ: 35
(XEN)   - MMIO: 00e61c0000 - 00e61c0200
(XEN) handle /dma-controller@e6700000
(XEN) /dma-controller@e6700000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 229
(XEN)   - IRQ: 232
(XEN)   - IRQ: 233
(XEN)   - IRQ: 234
(XEN)   - IRQ: 235
(XEN)   - IRQ: 236
(XEN)   - IRQ: 237
(XEN)   - IRQ: 238
(XEN)   - IRQ: 239
(XEN)   - IRQ: 240
(XEN)   - IRQ: 241
(XEN)   - IRQ: 242
(XEN)   - IRQ: 243
(XEN)   - IRQ: 244
(XEN)   - IRQ: 245
(XEN)   - IRQ: 246
(XEN)   - MMIO: 00e6700000 - 00e6720000
(XEN) handle /dma-controller@e6720000
(XEN) /dma-controller@e6720000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 252
(XEN)   - IRQ: 248
(XEN)   - IRQ: 249
(XEN)   - IRQ: 250
(XEN)   - IRQ: 251
(XEN)   - IRQ: 340
(XEN)   - IRQ: 341
(XEN)   - IRQ: 342
(XEN)   - IRQ: 343
(XEN)   - IRQ: 344
(XEN)   - IRQ: 345
(XEN)   - IRQ: 346
(XEN)   - IRQ: 347
(XEN)   - IRQ: 348
(XEN)   - IRQ: 349
(XEN)   - IRQ: 350
(XEN)   - MMIO: 00e6720000 - 00e6740000
(XEN) handle /dma-controller@ec700000
(XEN) /dma-controller@ec700000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 378
(XEN)   - IRQ: 352
(XEN)   - IRQ: 353
(XEN)   - IRQ: 354
(XEN)   - IRQ: 355
(XEN)   - IRQ: 356
(XEN)   - IRQ: 357
(XEN)   - IRQ: 358
(XEN)   - IRQ: 359
(XEN)   - IRQ: 360
(XEN)   - IRQ: 361
(XEN)   - IRQ: 362
(XEN)   - IRQ: 363
(XEN)   - IRQ: 364
(XEN)   - MMIO: 00ec700000 - 00ec710000
(XEN) handle /dma-controller@ec720000
(XEN) /dma-controller@ec720000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 379
(XEN)   - IRQ: 365
(XEN)   - IRQ: 366
(XEN)   - IRQ: 367
(XEN)   - IRQ: 368
(XEN)   - IRQ: 369
(XEN)   - IRQ: 370
(XEN)   - IRQ: 371
(XEN)   - IRQ: 372
(XEN)   - IRQ: 373
(XEN)   - IRQ: 374
(XEN)   - IRQ: 375
(XEN)   - IRQ: 376
(XEN)   - IRQ: 377
(XEN)   - MMIO: 00ec720000 - 00ec730000
(XEN) handle /dma-controller@e65a0000
(XEN) /dma-controller@e65a0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 141
(XEN)   - IRQ: 141
(XEN)   - MMIO: 00e65a0000 - 00e65a0100
(XEN) handle /dma-controller@e65b0000
(XEN) /dma-controller@e65b0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 142
(XEN)   - IRQ: 142
(XEN)   - MMIO: 00e65b0000 - 00e65b0100
(XEN) handle /i2c@e6508000
(XEN) /i2c@e6508000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 319
(XEN)   - MMIO: 00e6508000 - 00e6508040
(XEN) handle /i2c@e6518000
(XEN) /i2c@e6518000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 320
(XEN)   - MMIO: 00e6518000 - 00e6518040
(XEN) handle /i2c@e6530000
(XEN) /i2c@e6530000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 318
(XEN)   - MMIO: 00e6530000 - 00e6530040
(XEN) handle /i2c@e6540000
(XEN) /i2c@e6540000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 322
(XEN)   - MMIO: 00e6540000 - 00e6540040
(XEN) handle /i2c@e6500000
(XEN) /i2c@e6500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 206
(XEN)   - MMIO: 00e6500000 - 00e6500425
(XEN) handle /i2c@e6510000
(XEN) /i2c@e6510000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 207
(XEN)   - MMIO: 00e6510000 - 00e6510425
(XEN) handle /i2c@e6520000
(XEN) /i2c@e6520000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 208
(XEN)   - MMIO: 00e6520000 - 00e6520425
(XEN) handle /i2c@e6520000/codec@12
(XEN) /i2c@e6520000/codec@12 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20
(XEN) /i2c@e6520000/composite-in@20 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port
(XEN) /i2c@e6520000/composite-in@20/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port/endpoint
(XEN) /i2c@e6520000/composite-in@20/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39
(XEN) /i2c@e6520000/hdmi@39 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /gpio@e6051000
(XEN) handle /i2c@e6520000/hdmi@39/ports
(XEN) /i2c@e6520000/hdmi@39/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0
(XEN) /i2c@e6520000/hdmi@39/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1
(XEN) /i2c@e6520000/hdmi@39/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000
(XEN) /i2c@e60b0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 205
(XEN)   - MMIO: 00e60b0000 - 00e60b0425
(XEN) handle /i2c@e60b0000/pmic@58
(XEN) /i2c@e60b0000/pmic@58 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /i2c@e60b0000/pmic@58/rtc
(XEN) /i2c@e60b0000/pmic@58/rtc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/pmic@58/wdt
(XEN) /i2c@e60b0000/pmic@58/wdt passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/regulator@68
(XEN) /i2c@e60b0000/regulator@68 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /mmc@ee200000
(XEN) /mmc@ee200000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 201
(XEN)   - MMIO: 00ee200000 - 00ee200080
(XEN) handle /mmc@ee220000
(XEN) /mmc@ee220000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 202
(XEN)   - MMIO: 00ee220000 - 00ee220080
(XEN) handle /pfc@e6060000
(XEN) /pfc@e6060000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6060000 - 00e6060250
(XEN) handle /pfc@e6060000/du
(XEN) /pfc@e6060000/du passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial0
(XEN) /pfc@e6060000/serial0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/ether
(XEN) /pfc@e6060000/ether passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/phy1
(XEN) /pfc@e6060000/phy1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial1
(XEN) /pfc@e6060000/serial1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd0
(XEN) /pfc@e6060000/sd0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd2
(XEN) /pfc@e6060000/sd2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/mmc1
(XEN) /pfc@e6060000/mmc1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi0
(XEN) /pfc@e6060000/spi0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi2
(XEN) /pfc@e6060000/spi2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic1
(XEN) /pfc@e6060000/iic1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic2
(XEN) /pfc@e6060000/iic2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic3
(XEN) /pfc@e6060000/iic3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/hsusb
(XEN) /pfc@e6060000/hsusb passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb0
(XEN) /pfc@e6060000/usb0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb1
(XEN) /pfc@e6060000/usb1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb2
(XEN) /pfc@e6060000/usb2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/vin
(XEN) /pfc@e6060000/vin passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound
(XEN) /pfc@e6060000/sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound_clk
(XEN) /pfc@e6060000/sound_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sd@ee100000
(XEN) /sd@ee100000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 197
(XEN)   - MMIO: 00ee100000 - 00ee100328
(XEN) handle /sd@ee120000
(XEN) /sd@ee120000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 198
(XEN)   - MMIO: 00ee120000 - 00ee120328
(XEN) handle /sd@ee140000
(XEN) /sd@ee140000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 199
(XEN)   - MMIO: 00ee140000 - 00ee140100
(XEN) handle /sd@ee160000
(XEN) /sd@ee160000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 200
(XEN)   - MMIO: 00ee160000 - 00ee160100
(XEN) handle /serial@e6c40000
(XEN) /serial@e6c40000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 176
(XEN)   - MMIO: 00e6c40000 - 00e6c40040
(XEN) handle /serial@e6c50000
(XEN) /serial@e6c50000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 177
(XEN)   - MMIO: 00e6c50000 - 00e6c50040
(XEN) handle /serial@e6c60000
(XEN) /serial@e6c60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 183
(XEN)   - MMIO: 00e6c60000 - 00e6c60040
(XEN) handle /serial@e6c20000
(XEN) /serial@e6c20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 180
(XEN)   - MMIO: 00e6c20000 - 00e6c20040
(XEN) handle /serial@e6c30000
(XEN) /serial@e6c30000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 181
(XEN)   - MMIO: 00e6c30000 - 00e6c30040
(XEN) handle /serial@e6ce0000
(XEN) /serial@e6ce0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 182
(XEN)   - MMIO: 00e6ce0000 - 00e6ce0040
(XEN) handle /serial@e6e60000
(XEN) /serial@e6e60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 184
(XEN)   - MMIO: 00e6e60000 - 00e6e60040
(XEN) handle /serial@e6e68000
(XEN) /serial@e6e68000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 185
(XEN)   - MMIO: 00e6e68000 - 00e6e68040
(XEN) handle /serial@e62c0000
(XEN) /serial@e62c0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 186
(XEN)   - MMIO: 00e62c0000 - 00e62c0060
(XEN) handle /serial@e62c8000
(XEN) /serial@e62c8000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 187
(XEN)   - MMIO: 00e62c8000 - 00e62c8060
(XEN) handle /ethernet@ee700000
(XEN) /ethernet@ee700000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 194
(XEN)   - MMIO: 00ee700000 - 00ee700400
(XEN) handle /ethernet@ee700000/ethernet-phy@1
(XEN) /ethernet@ee700000/ethernet-phy@1 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /sata@ee300000
(XEN) /sata@ee300000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 137
(XEN)   - MMIO: 00ee300000 - 00ee302000
(XEN) handle /sata@ee500000
(XEN) /sata@ee500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 138
(XEN)   - MMIO: 00ee500000 - 00ee502000
(XEN) handle /usb@e6590000
(XEN) /usb@e6590000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 139
(XEN)   - MMIO: 00e6590000 - 00e6590100
(XEN) handle /usb-phy@e6590100
(XEN) /usb-phy@e6590100 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6590100 - 00e6590200
(XEN) handle /usb-phy@e6590100/usb-channel@0
(XEN) /usb-phy@e6590100/usb-channel@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /usb-phy@e6590100/usb-channel@2
(XEN) /usb-phy@e6590100/usb-channel@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef0000
(XEN) /video@e6ef0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 220
(XEN)   - MMIO: 00e6ef0000 - 00e6ef1000
(XEN) handle /video@e6ef1000
(XEN) /video@e6ef1000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 221
(XEN)   - MMIO: 00e6ef1000 - 00e6ef2000
(XEN) handle /video@e6ef1000/port
(XEN) /video@e6ef1000/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef1000/port/endpoint
(XEN) /video@e6ef1000/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef2000
(XEN) /video@e6ef2000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 222
(XEN)   - MMIO: 00e6ef2000 - 00e6ef3000
(XEN) handle /video@e6ef3000
(XEN) /video@e6ef3000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 223
(XEN)   - MMIO: 00e6ef3000 - 00e6ef4000
(XEN) handle /vsp1@fe920000
(XEN) /vsp1@fe920000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 298
(XEN)   - MMIO: 00fe920000 - 00fe928000
(XEN) handle /vsp1@fe928000
(XEN) /vsp1@fe928000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 299
(XEN)   - MMIO: 00fe928000 - 00fe930000
(XEN) handle /vsp1@fe930000
(XEN) /vsp1@fe930000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 278
(XEN)   - MMIO: 00fe930000 - 00fe938000
(XEN) handle /vsp1@fe938000
(XEN) /vsp1@fe938000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 279
(XEN)   - MMIO: 00fe938000 - 00fe940000
(XEN) handle /display@feb00000
(XEN) /display@feb00000 passthrough = 1 nirq = 3 naddr = 3
(XEN)   - IRQ: 288
(XEN)   - IRQ: 300
(XEN)   - IRQ: 301
(XEN)   - MMIO: 00feb00000 - 00feb70000
(XEN)   - MMIO: 00feb90000 - 00feb9001c
(XEN)   - MMIO: 00feb94000 - 00feb9401c
(XEN) handle /display@feb00000/ports
(XEN) /display@feb00000/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0
(XEN) /display@feb00000/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0/endpoint
(XEN) /display@feb00000/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1
(XEN) /display@feb00000/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1/endpoint
(XEN) /display@feb00000/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2
(XEN) /display@feb00000/ports/port@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2/endpoint
(XEN) /display@feb00000/ports/port@2/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /can@e6e80000
(XEN) /can@e6e80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 218
(XEN)   - MMIO: 00e6e80000 - 00e6e81000
(XEN) handle /can@e6e88000
(XEN) /can@e6e88000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 219
(XEN)   - MMIO: 00e6e88000 - 00e6e89000
(XEN) handle /clocks
(XEN) /clocks passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/extal_clk
(XEN) /clocks/extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/pcie_bus_clk
(XEN) /clocks/pcie_bus_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_a
(XEN) /clocks/audio_clk_a passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_b
(XEN) /clocks/audio_clk_b passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_c
(XEN) /clocks/audio_clk_c passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/usb_extal_clk
(XEN) /clocks/usb_extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/can_clk
(XEN) /clocks/can_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cpg_clocks@e6150000
(XEN) /clocks/cpg_clocks@e6150000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150000 - 00e6151000
(XEN) handle /clocks/sd2_clk@e6150078
(XEN) /clocks/sd2_clk@e6150078 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150078 - 00e615007c
(XEN) handle /clocks/sd3_clk@e615026c
(XEN) /clocks/sd3_clk@e615026c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615026c - 00e6150270
(XEN) handle /clocks/mmc0_clk@e6150240
(XEN) /clocks/mmc0_clk@e6150240 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150240 - 00e6150244
(XEN) handle /clocks/mmc1_clk@e6150244
(XEN) /clocks/mmc1_clk@e6150244 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150244 - 00e6150248
(XEN) handle /clocks/ssp_clk@e6150248
(XEN) /clocks/ssp_clk@e6150248 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150248 - 00e615024c
(XEN) handle /clocks/ssprs_clk@e615024c
(XEN) /clocks/ssprs_clk@e615024c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615024c - 00e6150250
(XEN) handle /clocks/pll1_div2_clk
(XEN) /clocks/pll1_div2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/z2_clk
(XEN) /clocks/z2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zg_clk
(XEN) /clocks/zg_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zx_clk
(XEN) /clocks/zx_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zs_clk
(XEN) /clocks/zs_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/hp_clk
(XEN) /clocks/hp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/i_clk
(XEN) /clocks/i_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/b_clk
(XEN) /clocks/b_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/p_clk
(XEN) /clocks/p_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cl_clk
(XEN) /clocks/cl_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/m2_clk
(XEN) /clocks/m2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/imp_clk
(XEN) /clocks/imp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/rclk_clk
(XEN) /clocks/rclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/oscclk_clk
(XEN) /clocks/oscclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3_clk
(XEN) /clocks/zb3_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3d2_clk
(XEN) /clocks/zb3d2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/ddr_clk
(XEN) /clocks/ddr_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mp_clk
(XEN) /clocks/mp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cp_clk
(XEN) /clocks/cp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mstp0_clks@e6150130
(XEN) /clocks/mstp0_clks@e6150130 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150130 - 00e6150134
(XEN)   - MMIO: 00e6150030 - 00e6150034
(XEN) handle /clocks/mstp1_clks@e6150134
(XEN) /clocks/mstp1_clks@e6150134 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150134 - 00e6150138
(XEN)   - MMIO: 00e6150038 - 00e615003c
(XEN) handle /clocks/mstp2_clks@e6150138
(XEN) /clocks/mstp2_clks@e6150138 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150138 - 00e615013c
(XEN)   - MMIO: 00e6150040 - 00e6150044
(XEN) handle /clocks/mstp3_clks@e615013c
(XEN) /clocks/mstp3_clks@e615013c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615013c - 00e6150140
(XEN)   - MMIO: 00e6150048 - 00e615004c
(XEN) handle /clocks/mstp4_clks@e6150140
(XEN) /clocks/mstp4_clks@e6150140 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150140 - 00e6150144
(XEN)   - MMIO: 00e615004c - 00e6150050
(XEN) handle /clocks/mstp5_clks@e6150144
(XEN) /clocks/mstp5_clks@e6150144 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150144 - 00e6150148
(XEN)   - MMIO: 00e615003c - 00e6150040
(XEN) handle /clocks/mstp7_clks@e615014c
(XEN) /clocks/mstp7_clks@e615014c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615014c - 00e6150150
(XEN)   - MMIO: 00e61501c4 - 00e61501c8
(XEN) handle /clocks/mstp8_clks@e6150990
(XEN) /clocks/mstp8_clks@e6150990 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150990 - 00e6150994
(XEN)   - MMIO: 00e61509a0 - 00e61509a4
(XEN) handle /clocks/mstp9_clks@e6150994
(XEN) /clocks/mstp9_clks@e6150994 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150994 - 00e6150998
(XEN)   - MMIO: 00e61509a4 - 00e61509a8
(XEN) handle /clocks/mstp10_clks@e6150998
(XEN) /clocks/mstp10_clks@e6150998 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150998 - 00e615099c
(XEN)   - MMIO: 00e61509a8 - 00e61509ac
(XEN) handle /spi@e6b10000
(XEN) /spi@e6b10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 216
(XEN)   - MMIO: 00e6b10000 - 00e6b1002c
(XEN) handle /spi@e6b10000/flash@0
(XEN) /spi@e6b10000/flash@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@0
(XEN) /spi@e6b10000/flash@0/partition@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@40000
(XEN) /spi@e6b10000/flash@0/partition@40000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@440000
(XEN) /spi@e6b10000/flash@0/partition@440000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e20000
(XEN) /spi@e6e20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 188
(XEN)   - MMIO: 00e6e20000 - 00e6e20064
(XEN) handle /spi@e6e10000
(XEN) /spi@e6e10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 189
(XEN)   - MMIO: 00e6e10000 - 00e6e10064
(XEN) handle /spi@e6e10000/pmic@0
(XEN) /spi@e6e10000/pmic@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e00000
(XEN) /spi@e6e00000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 190
(XEN)   - MMIO: 00e6e00000 - 00e6e00064
(XEN) handle /spi@e6c90000
(XEN) /spi@e6c90000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 191
(XEN)   - MMIO: 00e6c90000 - 00e6c90064
(XEN) handle /usb@ee000000
(XEN) /usb@ee000000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 133
(XEN)   - MMIO: 00ee000000 - 00ee000c00
(XEN) handle /pci@ee090000
(XEN) /pci@ee090000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee090000 - 00ee090c00
(XEN)   - MMIO: 00ee080000 - 00ee081100
(XEN) Mapping children of /pci@ee090000 to guest
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee080000 - 00ee090000
(XEN) handle /pci@ee090000/usb@0,1
(XEN) /pci@ee090000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee090000/usb@0,1 to guest
(XEN) DT: no ranges; cannot enumerate
(XEN) Device tree generation failed (-22).
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Could not set up DOM0 guest OS
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
----- 8< -----

Mit freundlichen Grüßen / Kind regards

Leopold Kostal GmbH & Co. KG
Automobil Elektrik / Automotive Electrical Systems 

Max Ferger
AEN5 Vorentwicklung Produktinnovationen
Advance Development Innovative Products

Hauert 16, 44227 Dortmund
Deutschland / Germany
Telefon: +49 231 7588 965
E-Mail: m.ferger@kostal.com

Internet: http://www.kostal.com

-----Ursprüngliche Nachricht-----
Von: Julien Grall [mailto:julien.grall@citrix.com]
Gesendet: Montag, 19. Oktober 2015 14:44
An: Ferger, Max <M.Ferger@KOSTAL.COM>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: Re: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

Hello Max,

On 19/10/15 13:09, Ferger, Max wrote:
> - UART enabled -
> - CPU 00000000 booting -
> - Xen starting in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000040000000 - 000000007fffffff
> (XEN) RAM: 0000000140000000 - 00000001ffffffff
> (XEN)
> (XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
> (XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
> (XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
> (XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
> (XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
> (XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
> (XEN)
> (XEN) Command line: console=dtuart dtuart=/soc/serial@e6c50000 
> dom0_mem=1G
> (XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
> (XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 =>
> 000000007fc00000-000000007fd1b701
> (XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
> (XEN) Dom heap: 1015808 pages
> (XEN) Domain heap initialised
> (XEN) Platform: Renesas R-Car Gen2
> (XEN) Looking for dtuart at "/soc/serial@e6c50000", options ""
> (XEN) Unable to find device "/soc/serial@e6c50000"

You provided the wrong path to the UART. Xen will use earlyprintk rather than the console.

If you use the upstream DT (arch/arm/boot/dts/r8a7790-lager.dts), it contains a property stdout-path in the chosen node. As Xen is able to understand it, you can drop "dtuart=/soc/...." and only keep console=dtuart on the command line.

[...]

> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000072000000
> (XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
> (XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
> (XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
> (XEN) DT: no ranges; cannot enumerate
> (XEN) Device tree generation failed (-22).

Can you turn on DEBUG_DT in xen/arch/arm/domain_build.c (see patch [1]) and paste the log here?

Also, can you send the device tree you are using?

Regards,

[1]
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 0c3441a..bdb8b1f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -40,7 +40,7 @@ static void __init parse_dom0_mem(const char *s)  }  custom_param("dom0_mem", parse_dom0_mem);
 
-//#define DEBUG_DT
+#define DEBUG_DT
 
 #ifdef DEBUG_DT
 # define DPRINT(fmt, args...) printk(XENLOG_DEBUG fmt, ##args)

--
Julien Grall



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann


[-- Attachment #2: log.traps.c-line2447-via-fallthrough-line2444.txt --]
[-- Type: text/plain, Size: 40649 bytes --]


LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   sh_eth
Hit any key to stop autoboot:  0
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         305.7 KiB/s
done
Bytes transferred = 41971 (a3f3 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'zImage-uImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         602.5 KiB/s
done
Bytes transferred = 3133784 (2fd158 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         274.4 KiB/s
done
Bytes transferred = 9561 (2559 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         521.5 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 00000000722fd158 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Taking dtuart configuration from /chosen/stdout-path
(XEN) Looking for dtuart at "/serial@e6c40000", options ""
(XEN) Unable to initialize dtuart: -9
(XEN) Bad console= option 'dtuart'
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Tue Oct 20 13:10:47 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b-dirty
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) handle /
(XEN) / passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /aliases
(XEN) /aliases passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /cpus
(XEN)   Skip it (matched)
(XEN) handle /interrupt-controller@f1001000
(XEN) Create gic node
(XEN)   Set phandle = 0x1
(XEN) handle /gpio@e6050000
(XEN) /gpio@e6050000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 36
(XEN)   - MMIO: 00e6050000 - 00e6050050
(XEN) handle /gpio@e6051000
(XEN) /gpio@e6051000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 37
(XEN)   - MMIO: 00e6051000 - 00e6051050
(XEN) handle /gpio@e6052000
(XEN) /gpio@e6052000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 38
(XEN)   - MMIO: 00e6052000 - 00e6052050
(XEN) handle /gpio@e6053000
(XEN) /gpio@e6053000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 39
(XEN)   - MMIO: 00e6053000 - 00e6053050
(XEN) handle /gpio@e6054000
(XEN) /gpio@e6054000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 40
(XEN)   - MMIO: 00e6054000 - 00e6054050
(XEN) handle /gpio@e6055000
(XEN) /gpio@e6055000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 41
(XEN)   - MMIO: 00e6055000 - 00e6055050
(XEN) handle /thermal@e61f0000
(XEN) /thermal@e61f0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 101
(XEN)   - MMIO: 00e61f0000 - 00e61f0014
(XEN)   - MMIO: 00e61f0100 - 00e61f0138
(XEN) handle /timer
(XEN) Create timer node
(XEN)   Secure interrupt 29
(XEN)   Non secure interrupt 30
(XEN)   Virt interrupt 27
(XEN) handle /timer@ffca0000
(XEN) /timer@ffca0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 174
(XEN)   - IRQ: 175
(XEN)   - MMIO: 00ffca0000 - 00ffca1004
(XEN) handle /timer@e6130000
(XEN) /timer@e6130000 passthrough = 1 nirq = 8 naddr = 1
(XEN)   - IRQ: 152
(XEN)   - IRQ: 153
(XEN)   - IRQ: 154
(XEN)   - IRQ: 155
(XEN)   - IRQ: 156
(XEN)   - IRQ: 157
(XEN)   - IRQ: 158
(XEN)   - IRQ: 159
(XEN)   - MMIO: 00e6130000 - 00e6131004
(XEN) handle /interrupt-controller@e61c0000
(XEN) /interrupt-controller@e61c0000 passthrough = 1 nirq = 4 naddr = 1
(XEN)   - IRQ: 32
(XEN)   - IRQ: 33
(XEN)   - IRQ: 34
(XEN)   - IRQ: 35
(XEN)   - MMIO: 00e61c0000 - 00e61c0200
(XEN) handle /dma-controller@e6700000
(XEN) /dma-controller@e6700000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 229
(XEN)   - IRQ: 232
(XEN)   - IRQ: 233
(XEN)   - IRQ: 234
(XEN)   - IRQ: 235
(XEN)   - IRQ: 236
(XEN)   - IRQ: 237
(XEN)   - IRQ: 238
(XEN)   - IRQ: 239
(XEN)   - IRQ: 240
(XEN)   - IRQ: 241
(XEN)   - IRQ: 242
(XEN)   - IRQ: 243
(XEN)   - IRQ: 244
(XEN)   - IRQ: 245
(XEN)   - IRQ: 246
(XEN)   - MMIO: 00e6700000 - 00e6720000
(XEN) handle /dma-controller@e6720000
(XEN) /dma-controller@e6720000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 252
(XEN)   - IRQ: 248
(XEN)   - IRQ: 249
(XEN)   - IRQ: 250
(XEN)   - IRQ: 251
(XEN)   - IRQ: 340
(XEN)   - IRQ: 341
(XEN)   - IRQ: 342
(XEN)   - IRQ: 343
(XEN)   - IRQ: 344
(XEN)   - IRQ: 345
(XEN)   - IRQ: 346
(XEN)   - IRQ: 347
(XEN)   - IRQ: 348
(XEN)   - IRQ: 349
(XEN)   - IRQ: 350
(XEN)   - MMIO: 00e6720000 - 00e6740000
(XEN) handle /dma-controller@ec700000
(XEN) /dma-controller@ec700000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 378
(XEN)   - IRQ: 352
(XEN)   - IRQ: 353
(XEN)   - IRQ: 354
(XEN)   - IRQ: 355
(XEN)   - IRQ: 356
(XEN)   - IRQ: 357
(XEN)   - IRQ: 358
(XEN)   - IRQ: 359
(XEN)   - IRQ: 360
(XEN)   - IRQ: 361
(XEN)   - IRQ: 362
(XEN)   - IRQ: 363
(XEN)   - IRQ: 364
(XEN)   - MMIO: 00ec700000 - 00ec710000
(XEN) handle /dma-controller@ec720000
(XEN) /dma-controller@ec720000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 379
(XEN)   - IRQ: 365
(XEN)   - IRQ: 366
(XEN)   - IRQ: 367
(XEN)   - IRQ: 368
(XEN)   - IRQ: 369
(XEN)   - IRQ: 370
(XEN)   - IRQ: 371
(XEN)   - IRQ: 372
(XEN)   - IRQ: 373
(XEN)   - IRQ: 374
(XEN)   - IRQ: 375
(XEN)   - IRQ: 376
(XEN)   - IRQ: 377
(XEN)   - MMIO: 00ec720000 - 00ec730000
(XEN) handle /dma-controller@e65a0000
(XEN) /dma-controller@e65a0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 141
(XEN)   - IRQ: 141
(XEN)   - MMIO: 00e65a0000 - 00e65a0100
(XEN) handle /dma-controller@e65b0000
(XEN) /dma-controller@e65b0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 142
(XEN)   - IRQ: 142
(XEN)   - MMIO: 00e65b0000 - 00e65b0100
(XEN) handle /i2c@e6508000
(XEN) /i2c@e6508000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 319
(XEN)   - MMIO: 00e6508000 - 00e6508040
(XEN) handle /i2c@e6518000
(XEN) /i2c@e6518000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 320
(XEN)   - MMIO: 00e6518000 - 00e6518040
(XEN) handle /i2c@e6530000
(XEN) /i2c@e6530000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 318
(XEN)   - MMIO: 00e6530000 - 00e6530040
(XEN) handle /i2c@e6540000
(XEN) /i2c@e6540000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 322
(XEN)   - MMIO: 00e6540000 - 00e6540040
(XEN) handle /i2c@e6500000
(XEN) /i2c@e6500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 206
(XEN)   - MMIO: 00e6500000 - 00e6500425
(XEN) handle /i2c@e6510000
(XEN) /i2c@e6510000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 207
(XEN)   - MMIO: 00e6510000 - 00e6510425
(XEN) handle /i2c@e6520000
(XEN) /i2c@e6520000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 208
(XEN)   - MMIO: 00e6520000 - 00e6520425
(XEN) handle /i2c@e6520000/codec@12
(XEN) /i2c@e6520000/codec@12 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20
(XEN) /i2c@e6520000/composite-in@20 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port
(XEN) /i2c@e6520000/composite-in@20/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port/endpoint
(XEN) /i2c@e6520000/composite-in@20/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39
(XEN) /i2c@e6520000/hdmi@39 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /gpio@e6051000
(XEN) handle /i2c@e6520000/hdmi@39/ports
(XEN) /i2c@e6520000/hdmi@39/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0
(XEN) /i2c@e6520000/hdmi@39/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1
(XEN) /i2c@e6520000/hdmi@39/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000
(XEN) /i2c@e60b0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 205
(XEN)   - MMIO: 00e60b0000 - 00e60b0425
(XEN) handle /i2c@e60b0000/pmic@58
(XEN) /i2c@e60b0000/pmic@58 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /i2c@e60b0000/pmic@58/rtc
(XEN) /i2c@e60b0000/pmic@58/rtc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/pmic@58/wdt
(XEN) /i2c@e60b0000/pmic@58/wdt passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/regulator@68
(XEN) /i2c@e60b0000/regulator@68 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /mmc@ee200000
(XEN) /mmc@ee200000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 201
(XEN)   - MMIO: 00ee200000 - 00ee200080
(XEN) handle /mmc@ee220000
(XEN) /mmc@ee220000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 202
(XEN)   - MMIO: 00ee220000 - 00ee220080
(XEN) handle /pfc@e6060000
(XEN) /pfc@e6060000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6060000 - 00e6060250
(XEN) handle /pfc@e6060000/du
(XEN) /pfc@e6060000/du passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial0
(XEN) /pfc@e6060000/serial0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/ether
(XEN) /pfc@e6060000/ether passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/phy1
(XEN) /pfc@e6060000/phy1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial1
(XEN) /pfc@e6060000/serial1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd0
(XEN) /pfc@e6060000/sd0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd2
(XEN) /pfc@e6060000/sd2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/mmc1
(XEN) /pfc@e6060000/mmc1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi0
(XEN) /pfc@e6060000/spi0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi2
(XEN) /pfc@e6060000/spi2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic1
(XEN) /pfc@e6060000/iic1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic2
(XEN) /pfc@e6060000/iic2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic3
(XEN) /pfc@e6060000/iic3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/hsusb
(XEN) /pfc@e6060000/hsusb passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb0
(XEN) /pfc@e6060000/usb0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb1
(XEN) /pfc@e6060000/usb1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb2
(XEN) /pfc@e6060000/usb2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/vin
(XEN) /pfc@e6060000/vin passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound
(XEN) /pfc@e6060000/sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound_clk
(XEN) /pfc@e6060000/sound_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sd@ee100000
(XEN) /sd@ee100000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 197
(XEN)   - MMIO: 00ee100000 - 00ee100328
(XEN) handle /sd@ee120000
(XEN) /sd@ee120000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 198
(XEN)   - MMIO: 00ee120000 - 00ee120328
(XEN) handle /sd@ee140000
(XEN) /sd@ee140000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 199
(XEN)   - MMIO: 00ee140000 - 00ee140100
(XEN) handle /sd@ee160000
(XEN) /sd@ee160000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 200
(XEN)   - MMIO: 00ee160000 - 00ee160100
(XEN) handle /serial@e6c40000
(XEN) /serial@e6c40000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 176
(XEN)   - MMIO: 00e6c40000 - 00e6c40040
(XEN) handle /serial@e6c50000
(XEN) /serial@e6c50000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 177
(XEN)   - MMIO: 00e6c50000 - 00e6c50040
(XEN) handle /serial@e6c60000
(XEN) /serial@e6c60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 183
(XEN)   - MMIO: 00e6c60000 - 00e6c60040
(XEN) handle /serial@e6c20000
(XEN) /serial@e6c20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 180
(XEN)   - MMIO: 00e6c20000 - 00e6c20040
(XEN) handle /serial@e6c30000
(XEN) /serial@e6c30000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 181
(XEN)   - MMIO: 00e6c30000 - 00e6c30040
(XEN) handle /serial@e6ce0000
(XEN) /serial@e6ce0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 182
(XEN)   - MMIO: 00e6ce0000 - 00e6ce0040
(XEN) handle /serial@e6e60000
(XEN) /serial@e6e60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 184
(XEN)   - MMIO: 00e6e60000 - 00e6e60040
(XEN) handle /serial@e6e68000
(XEN) /serial@e6e68000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 185
(XEN)   - MMIO: 00e6e68000 - 00e6e68040
(XEN) handle /serial@e62c0000
(XEN) /serial@e62c0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 186
(XEN)   - MMIO: 00e62c0000 - 00e62c0060
(XEN) handle /serial@e62c8000
(XEN) /serial@e62c8000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 187
(XEN)   - MMIO: 00e62c8000 - 00e62c8060
(XEN) handle /ethernet@ee700000
(XEN) /ethernet@ee700000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 194
(XEN)   - MMIO: 00ee700000 - 00ee700400
(XEN) handle /ethernet@ee700000/ethernet-phy@1
(XEN) /ethernet@ee700000/ethernet-phy@1 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /sata@ee300000
(XEN) /sata@ee300000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 137
(XEN)   - MMIO: 00ee300000 - 00ee302000
(XEN) handle /sata@ee500000
(XEN) /sata@ee500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 138
(XEN)   - MMIO: 00ee500000 - 00ee502000
(XEN) handle /usb@e6590000
(XEN) /usb@e6590000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 139
(XEN)   - MMIO: 00e6590000 - 00e6590100
(XEN) handle /usb-phy@e6590100
(XEN) /usb-phy@e6590100 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6590100 - 00e6590200
(XEN) handle /usb-phy@e6590100/usb-channel@0
(XEN) /usb-phy@e6590100/usb-channel@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /usb-phy@e6590100/usb-channel@2
(XEN) /usb-phy@e6590100/usb-channel@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef0000
(XEN) /video@e6ef0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 220
(XEN)   - MMIO: 00e6ef0000 - 00e6ef1000
(XEN) handle /video@e6ef1000
(XEN) /video@e6ef1000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 221
(XEN)   - MMIO: 00e6ef1000 - 00e6ef2000
(XEN) handle /video@e6ef1000/port
(XEN) /video@e6ef1000/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef1000/port/endpoint
(XEN) /video@e6ef1000/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef2000
(XEN) /video@e6ef2000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 222
(XEN)   - MMIO: 00e6ef2000 - 00e6ef3000
(XEN) handle /video@e6ef3000
(XEN) /video@e6ef3000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 223
(XEN)   - MMIO: 00e6ef3000 - 00e6ef4000
(XEN) handle /vsp1@fe920000
(XEN) /vsp1@fe920000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 298
(XEN)   - MMIO: 00fe920000 - 00fe928000
(XEN) handle /vsp1@fe928000
(XEN) /vsp1@fe928000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 299
(XEN)   - MMIO: 00fe928000 - 00fe930000
(XEN) handle /vsp1@fe930000
(XEN) /vsp1@fe930000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 278
(XEN)   - MMIO: 00fe930000 - 00fe938000
(XEN) handle /vsp1@fe938000
(XEN) /vsp1@fe938000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 279
(XEN)   - MMIO: 00fe938000 - 00fe940000
(XEN) handle /display@feb00000
(XEN) /display@feb00000 passthrough = 1 nirq = 3 naddr = 3
(XEN)   - IRQ: 288
(XEN)   - IRQ: 300
(XEN)   - IRQ: 301
(XEN)   - MMIO: 00feb00000 - 00feb70000
(XEN)   - MMIO: 00feb90000 - 00feb9001c
(XEN)   - MMIO: 00feb94000 - 00feb9401c
(XEN) handle /display@feb00000/ports
(XEN) /display@feb00000/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0
(XEN) /display@feb00000/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0/endpoint
(XEN) /display@feb00000/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1
(XEN) /display@feb00000/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1/endpoint
(XEN) /display@feb00000/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2
(XEN) /display@feb00000/ports/port@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2/endpoint
(XEN) /display@feb00000/ports/port@2/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /can@e6e80000
(XEN) /can@e6e80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 218
(XEN)   - MMIO: 00e6e80000 - 00e6e81000
(XEN) handle /can@e6e88000
(XEN) /can@e6e88000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 219
(XEN)   - MMIO: 00e6e88000 - 00e6e89000
(XEN) handle /clocks
(XEN) /clocks passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/extal_clk
(XEN) /clocks/extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/pcie_bus_clk
(XEN) /clocks/pcie_bus_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_a
(XEN) /clocks/audio_clk_a passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_b
(XEN) /clocks/audio_clk_b passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_c
(XEN) /clocks/audio_clk_c passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/usb_extal_clk
(XEN) /clocks/usb_extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/can_clk
(XEN) /clocks/can_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cpg_clocks@e6150000
(XEN) /clocks/cpg_clocks@e6150000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150000 - 00e6151000
(XEN) handle /clocks/sd2_clk@e6150078
(XEN) /clocks/sd2_clk@e6150078 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150078 - 00e615007c
(XEN) handle /clocks/sd3_clk@e615026c
(XEN) /clocks/sd3_clk@e615026c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615026c - 00e6150270
(XEN) handle /clocks/mmc0_clk@e6150240
(XEN) /clocks/mmc0_clk@e6150240 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150240 - 00e6150244
(XEN) handle /clocks/mmc1_clk@e6150244
(XEN) /clocks/mmc1_clk@e6150244 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150244 - 00e6150248
(XEN) handle /clocks/ssp_clk@e6150248
(XEN) /clocks/ssp_clk@e6150248 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150248 - 00e615024c
(XEN) handle /clocks/ssprs_clk@e615024c
(XEN) /clocks/ssprs_clk@e615024c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615024c - 00e6150250
(XEN) handle /clocks/pll1_div2_clk
(XEN) /clocks/pll1_div2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/z2_clk
(XEN) /clocks/z2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zg_clk
(XEN) /clocks/zg_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zx_clk
(XEN) /clocks/zx_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zs_clk
(XEN) /clocks/zs_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/hp_clk
(XEN) /clocks/hp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/i_clk
(XEN) /clocks/i_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/b_clk
(XEN) /clocks/b_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/p_clk
(XEN) /clocks/p_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cl_clk
(XEN) /clocks/cl_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/m2_clk
(XEN) /clocks/m2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/imp_clk
(XEN) /clocks/imp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/rclk_clk
(XEN) /clocks/rclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/oscclk_clk
(XEN) /clocks/oscclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3_clk
(XEN) /clocks/zb3_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3d2_clk
(XEN) /clocks/zb3d2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/ddr_clk
(XEN) /clocks/ddr_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mp_clk
(XEN) /clocks/mp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cp_clk
(XEN) /clocks/cp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mstp0_clks@e6150130
(XEN) /clocks/mstp0_clks@e6150130 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150130 - 00e6150134
(XEN)   - MMIO: 00e6150030 - 00e6150034
(XEN) handle /clocks/mstp1_clks@e6150134
(XEN) /clocks/mstp1_clks@e6150134 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150134 - 00e6150138
(XEN)   - MMIO: 00e6150038 - 00e615003c
(XEN) handle /clocks/mstp2_clks@e6150138
(XEN) /clocks/mstp2_clks@e6150138 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150138 - 00e615013c
(XEN)   - MMIO: 00e6150040 - 00e6150044
(XEN) handle /clocks/mstp3_clks@e615013c
(XEN) /clocks/mstp3_clks@e615013c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615013c - 00e6150140
(XEN)   - MMIO: 00e6150048 - 00e615004c
(XEN) handle /clocks/mstp4_clks@e6150140
(XEN) /clocks/mstp4_clks@e6150140 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150140 - 00e6150144
(XEN)   - MMIO: 00e615004c - 00e6150050
(XEN) handle /clocks/mstp5_clks@e6150144
(XEN) /clocks/mstp5_clks@e6150144 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150144 - 00e6150148
(XEN)   - MMIO: 00e615003c - 00e6150040
(XEN) handle /clocks/mstp7_clks@e615014c
(XEN) /clocks/mstp7_clks@e615014c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615014c - 00e6150150
(XEN)   - MMIO: 00e61501c4 - 00e61501c8
(XEN) handle /clocks/mstp8_clks@e6150990
(XEN) /clocks/mstp8_clks@e6150990 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150990 - 00e6150994
(XEN)   - MMIO: 00e61509a0 - 00e61509a4
(XEN) handle /clocks/mstp9_clks@e6150994
(XEN) /clocks/mstp9_clks@e6150994 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150994 - 00e6150998
(XEN)   - MMIO: 00e61509a4 - 00e61509a8
(XEN) handle /clocks/mstp10_clks@e6150998
(XEN) /clocks/mstp10_clks@e6150998 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150998 - 00e615099c
(XEN)   - MMIO: 00e61509a8 - 00e61509ac
(XEN) handle /spi@e6b10000
(XEN) /spi@e6b10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 216
(XEN)   - MMIO: 00e6b10000 - 00e6b1002c
(XEN) handle /spi@e6b10000/flash@0
(XEN) /spi@e6b10000/flash@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@0
(XEN) /spi@e6b10000/flash@0/partition@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@40000
(XEN) /spi@e6b10000/flash@0/partition@40000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@440000
(XEN) /spi@e6b10000/flash@0/partition@440000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e20000
(XEN) /spi@e6e20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 188
(XEN)   - MMIO: 00e6e20000 - 00e6e20064
(XEN) handle /spi@e6e10000
(XEN) /spi@e6e10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 189
(XEN)   - MMIO: 00e6e10000 - 00e6e10064
(XEN) handle /spi@e6e10000/pmic@0
(XEN) /spi@e6e10000/pmic@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e00000
(XEN) /spi@e6e00000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 190
(XEN)   - MMIO: 00e6e00000 - 00e6e00064
(XEN) handle /spi@e6c90000
(XEN) /spi@e6c90000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 191
(XEN)   - MMIO: 00e6c90000 - 00e6c90064
(XEN) handle /usb@ee000000
(XEN) /usb@ee000000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 133
(XEN)   - MMIO: 00ee000000 - 00ee000c00
(XEN) handle /pci@ee090000
(XEN) /pci@ee090000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee090000 - 00ee090c00
(XEN)   - MMIO: 00ee080000 - 00ee081100
(XEN) Mapping children of /pci@ee090000 to guest
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee080000 - 00ee090000
(XEN) handle /pci@ee0b0000
(XEN) /pci@ee0b0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 144
(XEN)   - MMIO: 00ee0b0000 - 00ee0b0c00
(XEN)   - MMIO: 00ee0a0000 - 00ee0a1100
(XEN) Mapping children of /pci@ee0b0000 to guest
(XEN)   - IRQ: 144
(XEN)   - IRQ: 144
(XEN)   - IRQ: 144
(XEN)   - MMIO: 00ee0a0000 - 00ee0b0000
(XEN) handle /pci@ee0d0000
(XEN) /pci@ee0d0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 145
(XEN)   - MMIO: 00ee0d0000 - 00ee0d0c00
(XEN)   - MMIO: 00ee0c0000 - 00ee0c1100
(XEN) Mapping children of /pci@ee0d0000 to guest
(XEN)   - IRQ: 145
(XEN)   - IRQ: 145
(XEN)   - IRQ: 145
(XEN)   - MMIO: 00ee0c0000 - 00ee0d0000
(XEN) handle /pcie@fe000000
(XEN) /pcie@fe000000 passthrough = 1 nirq = 3 naddr = 1
(XEN)   - IRQ: 148
(XEN)   - IRQ: 149
(XEN)   - IRQ: 150
(XEN)   - MMIO: 00fe000000 - 00fe080000
(XEN) Mapping children of /pcie@fe000000 to guest
(XEN)   - IRQ: 148
(XEN)   - MMIO: 00fe100000 - 00fe200000
(XEN)   - MMIO: 00fe200000 - 00fe400000
(XEN)   - MMIO: 0030000000 - 0038000000
(XEN)   - MMIO: 0038000000 - 0040000000
(XEN) handle /sound@ec500000
(XEN) /sound@ec500000 passthrough = 1 nirq = 0 naddr = 5
(XEN)   - MMIO: 00ec500000 - 00ec501000
(XEN)   - MMIO: 00ec5a0000 - 00ec5a0100
(XEN)   - MMIO: 00ec540000 - 00ec541000
(XEN)   - MMIO: 00ec541000 - 00ec542280
(XEN)   - MMIO: 00ec740000 - 00ec740200
(XEN) handle /sound@ec500000/rcar_sound,dvc
(XEN) /sound@ec500000/rcar_sound,dvc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@0
(XEN) /sound@ec500000/rcar_sound,dvc/dvc@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@1
(XEN) /sound@ec500000/rcar_sound,dvc/dvc@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,src
(XEN) /sound@ec500000/rcar_sound,src passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,src/src@0
(XEN) /sound@ec500000/rcar_sound,src/src@0 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 384
(XEN) handle /sound@ec500000/rcar_sound,src/src@1
(XEN) /sound@ec500000/rcar_sound,src/src@1 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 385
(XEN) handle /sound@ec500000/rcar_sound,src/src@2
(XEN) /sound@ec500000/rcar_sound,src/src@2 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 386
(XEN) handle /sound@ec500000/rcar_sound,src/src@3
(XEN) /sound@ec500000/rcar_sound,src/src@3 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 387
(XEN) handle /sound@ec500000/rcar_sound,src/src@4
(XEN) /sound@ec500000/rcar_sound,src/src@4 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 388
(XEN) handle /sound@ec500000/rcar_sound,src/src@5
(XEN) /sound@ec500000/rcar_sound,src/src@5 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 389
(XEN) handle /sound@ec500000/rcar_sound,src/src@6
(XEN) /sound@ec500000/rcar_sound,src/src@6 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 390
(XEN) handle /sound@ec500000/rcar_sound,src/src@7
(XEN) /sound@ec500000/rcar_sound,src/src@7 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 391
(XEN) handle /sound@ec500000/rcar_sound,src/src@8
(XEN) /sound@ec500000/rcar_sound,src/src@8 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 392
(XEN) handle /sound@ec500000/rcar_sound,src/src@9
(XEN) /sound@ec500000/rcar_sound,src/src@9 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 393
(XEN) handle /sound@ec500000/rcar_sound,ssi
(XEN) /sound@ec500000/rcar_sound,ssi passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@0
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@0 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 402
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@1
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@1 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 403
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@2
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@2 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 404
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@3
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@3 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 405
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@4
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@4 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 406
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@5
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@5 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 407
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@6
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@6 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 408
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@7
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@7 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 409
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@8
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@8 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 410
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@9
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@9 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 411
(XEN) handle /sound@ec500000/rcar_sound,dai
(XEN) /sound@ec500000/rcar_sound,dai passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dai/dai0
(XEN) /sound@ec500000/rcar_sound,dai/dai0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /mmu@e6280000
(XEN) /mmu@e6280000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 255
(XEN)   - IRQ: 256
(XEN)   - MMIO: 00e6280000 - 00e6281000
(XEN) handle /mmu@e6290000
(XEN) /mmu@e6290000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 257
(XEN)   - MMIO: 00e6290000 - 00e6291000
(XEN) handle /mmu@e6740000
(XEN) /mmu@e6740000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 230
(XEN)   - IRQ: 231
(XEN)   - MMIO: 00e6740000 - 00e6741000
(XEN) handle /mmu@ec680000
(XEN) /mmu@ec680000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 258
(XEN)   - MMIO: 00ec680000 - 00ec681000
(XEN) handle /mmu@fe951000
(XEN) /mmu@fe951000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 254
(XEN)   - IRQ: 253
(XEN)   - MMIO: 00fe951000 - 00fe952000
(XEN) handle /mmu@ffc80000
(XEN) /mmu@ffc80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 339
(XEN)   - MMIO: 00ffc80000 - 00ffc81000
(XEN) handle /chosen
(XEN) /chosen passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /chosen/modules
(XEN) /chosen/modules passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /chosen/modules/module@0x72000000
(XEN)   Skip it (matched)
(XEN) handle /chosen/modules/module@0x74000000
(XEN)   Skip it (matched)
(XEN) handle /memory@40000000
(XEN)   Skip it (matched)
(XEN) handle /memory@140000000
(XEN)   Skip it (matched)
(XEN) handle /lbsc
(XEN) /lbsc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard
(XEN) /keyboard passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@1
(XEN) /keyboard/button@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@2
(XEN) /keyboard/button@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@3
(XEN) /keyboard/button@3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@4
(XEN) /keyboard/button@4 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds
(XEN) /leds passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led6
(XEN) /leds/led6 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led7
(XEN) /leds/led7 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led8
(XEN) /leds/led8 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /fixedregulator@0
(XEN) /fixedregulator@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@1
(XEN) /regulator@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@2
(XEN) /regulator@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@3
(XEN) /regulator@3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@4
(XEN) /regulator@4 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound
(XEN) /sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound/simple-audio-card,cpu
(XEN) /sound/simple-audio-card,cpu passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound/simple-audio-card,codec
(XEN) /sound/simple-audio-card,codec passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder
(XEN) /vga-encoder passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports
(XEN) /vga-encoder/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@0
(XEN) /vga-encoder/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@0/endpoint
(XEN) /vga-encoder/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@1
(XEN) /vga-encoder/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@1/endpoint
(XEN) /vga-encoder/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga
(XEN) /vga passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga/port
(XEN) /vga/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga/port/endpoint
(XEN) /vga/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out
(XEN) /hdmi-out passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out/port
(XEN) /hdmi-out/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out/port/endpoint
(XEN) /hdmi-out/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /x2-clock
(XEN) /x2-clock passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /x13-clock
(XEN) /x13-clock passthrough = 1 nirq = 0 naddr = 0
(XEN) Create hypervisor node
(XEN) Create PSCI node
(XEN) Create cpus node
(XEN) Create cpu@0 (logical CPUID: 0) node
(XEN) Create memory node (reg size 4, nr cells 8)
(XEN)   Bank 0: 0x48000000->0x70000000
(XEN)   Bank 1: 0x1d8000000->0x1f0000000
(XEN) Loading zImage from 0000000072000000 to 000000004fc00000-000000004fefd158
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x0000000050000000-0x0000000050009fe1
(XEN) Scrubbing Free RAM on 1 nodes using 1 CPUs
(XEN) ................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 268kB init memory.
(XEN) traps.c:2447:d0v0 HSR=0x93830007 pc=0xc001e398 gva=0xe7804060 gpa=0x000000e6160060

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-20 10:47           ` Julien Grall
@ 2015-10-20 11:41             ` Ferger, Max
  0 siblings, 0 replies; 17+ messages in thread
From: Ferger, Max @ 2015-10-20 11:41 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Adding "ranges;" is a good idea and helps, but gives the same error from  traps.c +2447.
On a side-note, adding "ranges;" implicates propagating "#address-cells", and "#size-cells" values down the DT into the leafs.


-----Ursprüngliche Nachricht-----
Von: xen-devel-bounces@lists.xen.org [mailto:xen-devel-bounces@lists.xen.org] Im Auftrag von Julien Grall
Gesendet: Dienstag, 20. Oktober 2015 12:47
An: Ferger, Max <M.Ferger@KOSTAL.COM>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: Re: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

On 20/10/2015 11:05, Julien Grall wrote:
> Thank you for the log. The offending node is /pci@ee090000/usb@0,1 
> which is (r8a7790.dtsi):
>
> 1407                 usb@0,1 {
> 1408                         reg = <0x800 0 0 0 0>;
> 1409                         device_type = "pci";
> 1410                         phys = <&usb0 0>;
> 1411                         phy-names = "usb";
> 1412                 };
> 1413
>
> We assume that every node containing device_type = "pci" is a PCI bus.
> So Xen is looking for a property "ranges" which is not present.
>
> Although, here it's describing a PCI device. I wasn't able to find a 
> spec telling that device_type = "pci"; should only be used by the PCI 
> bus. Ian, do you remember why you implement with this assumption?
>
> For now, I would advice you to drop this node, the next one (usb@0,2) 
> and doing the same in "pci@ee0d0000". We can figure out later how to 
> fix it when you get a DOM0 booting.

Better solution, rather than dropping the nodes can you add "ranges;" in each of them. Smth like

usb@0,1 {
   reg = <0x800 0 0 0 0>;
   device_type = "pci";
   phys = <&usb0 0>;
   phy-names = "usb";
   ranges;
}

"ranges;" is used to tell the PCI device is using the same address space of the PCI bus. There is DT bindings describing how look like the subnode and they mandate the property "ranges" (see [1], [2]). Although renesas doesn't seem to require it. Might be worth to investigate it.

Regards,

[1]
http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pci/mvebu-pci.txt
[2]
http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt

--
Julien Grall

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



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-20 11:23       ` Ferger, Max
@ 2015-10-20 21:44         ` Julien Grall
  2015-10-21 16:05           ` Ferger, Max
  0 siblings, 1 reply; 17+ messages in thread
From: Julien Grall @ 2015-10-20 21:44 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Hi,

On 20/10/2015 12:23, Ferger, Max wrote:
> One step closer, thanks again!
>
> Removing the incompatible PCI/USB devices lets Xen boot somewhat further.
>
> Here is the (significant) difference in log output, the full new one is appended.
>
> I've back traced the trap message from traps.c +2447:
> None of the explicit 'goto bad_data_abort;' calls is responsible, but a fall through via traps.c +2444.

> +(XEN) traps.c:2447:d0v0 HSR=0x93830007 pc=0xc001e398 gva=0xe7804060 gpa=0x000000e6160060

This traps likely means that DOM0 is trying to access a region which is 
not mapped in stage-2.

In the log GPA is the physical address expected. You can give a look to
the datasheet of your platform to find the corresponding region.

Looking to this GPA, it's used in 
arch/arm/mach-shmobile/setup-rcar-gen2.c to read the mode pins and the 
region is not described in the DT. You will have to map it manually in 
Xen. Give a look to how it's done for omap5 (see omap5_specific_mapping).

BTW, I got confirmation by a person working on this board that there may 
be more regions not described in DT. Although, I don't know all of them :(.

Regards,

-- 
Julien Grall

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-20 21:44         ` Julien Grall
@ 2015-10-21 16:05           ` Ferger, Max
  2015-10-21 16:23             ` Julien Grall
  0 siblings, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-21 16:05 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

[-- Attachment #1: Type: text/plain, Size: 46650 bytes --]

Hi!

Thanks for both DT fixes, the "add ranges;", and the "complete memory map".

Here are some findings:

* Linus' most recent version of the kernel [1] (configured with a mix of Xen/OMAP description [2] and lager_defconfig [3]) needs the 'add "ranges;"'-fixes, but does not access the otherwise unmapped address regions.
* Renesas' Yocto/Poky 

Unfortunately, neither gives any message on the console, so I don't know their status.

[1] git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[2] http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM
[3] git clone https://github.com/renesas-devel/lager-config

As I see it, Xen issues no further warnings, but still Dom0 remains silent.

I'm somewhat at a loss.  :-(

Greetings from Germany!

Max Ferger

Latest log with both above fixes, applied by the appended DTS:
----- 8< -----

LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   sh_eth
Hit any key to stop autoboot:  0
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         439.5 KiB/s
done
Bytes transferred = 44589 (ae2d hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'dom0-zImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         ######################################################
         710 KiB/s
done
Bytes transferred = 1273096 (136d08 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete.... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         321.3 KiB/s
done
Bytes transferred = 9561 (2559 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         697.3 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 0000000072136d08 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Taking dtuart configuration from /chosen/stdout-path
(XEN) Looking for dtuart at "/serial@e6c40000", options ""
(XEN) Unable to initialize dtuart: -9
(XEN) Bad console= option 'dtuart'
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Wed Oct 21 14:09:23 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b-dirty
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) handle /
(XEN) / passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /aliases
(XEN) /aliases passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /cpus
(XEN)   Skip it (matched)
(XEN) handle /interrupt-controller@f1001000
(XEN) Create gic node
(XEN)   Set phandle = 0x1
(XEN) handle /gpio@e6050000
(XEN) /gpio@e6050000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 36
(XEN)   - MMIO: 00e6050000 - 00e6050050
(XEN) handle /gpio@e6051000
(XEN) /gpio@e6051000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 37
(XEN)   - MMIO: 00e6051000 - 00e6051050
(XEN) handle /gpio@e6052000
(XEN) /gpio@e6052000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 38
(XEN)   - MMIO: 00e6052000 - 00e6052050
(XEN) handle /gpio@e6053000
(XEN) /gpio@e6053000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 39
(XEN)   - MMIO: 00e6053000 - 00e6053050
(XEN) handle /gpio@e6054000
(XEN) /gpio@e6054000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 40
(XEN)   - MMIO: 00e6054000 - 00e6054050
(XEN) handle /gpio@e6055000
(XEN) /gpio@e6055000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 41
(XEN)   - MMIO: 00e6055000 - 00e6055050
(XEN) handle /thermal@e61f0000
(XEN) /thermal@e61f0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 101
(XEN)   - MMIO: 00e61f0000 - 00e61f0014
(XEN)   - MMIO: 00e61f0100 - 00e61f0138
(XEN) handle /timer
(XEN) Create timer node
(XEN)   Secure interrupt 29
(XEN)   Non secure interrupt 30
(XEN)   Virt interrupt 27
(XEN) handle /timer@ffca0000
(XEN) /timer@ffca0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 174
(XEN)   - IRQ: 175
(XEN)   - MMIO: 00ffca0000 - 00ffca1004
(XEN) handle /timer@e6130000
(XEN) /timer@e6130000 passthrough = 1 nirq = 8 naddr = 1
(XEN)   - IRQ: 152
(XEN)   - IRQ: 153
(XEN)   - IRQ: 154
(XEN)   - IRQ: 155
(XEN)   - IRQ: 156
(XEN)   - IRQ: 157
(XEN)   - IRQ: 158
(XEN)   - IRQ: 159
(XEN)   - MMIO: 00e6130000 - 00e6131004
(XEN) handle /interrupt-controller@e61c0000
(XEN) /interrupt-controller@e61c0000 passthrough = 1 nirq = 4 naddr = 1
(XEN)   - IRQ: 32
(XEN)   - IRQ: 33
(XEN)   - IRQ: 34
(XEN)   - IRQ: 35
(XEN)   - MMIO: 00e61c0000 - 00e61c0200
(XEN) handle /dma-controller@e6700000
(XEN) /dma-controller@e6700000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 229
(XEN)   - IRQ: 232
(XEN)   - IRQ: 233
(XEN)   - IRQ: 234
(XEN)   - IRQ: 235
(XEN)   - IRQ: 236
(XEN)   - IRQ: 237
(XEN)   - IRQ: 238
(XEN)   - IRQ: 239
(XEN)   - IRQ: 240
(XEN)   - IRQ: 241
(XEN)   - IRQ: 242
(XEN)   - IRQ: 243
(XEN)   - IRQ: 244
(XEN)   - IRQ: 245
(XEN)   - IRQ: 246
(XEN)   - MMIO: 00e6700000 - 00e6720000
(XEN) handle /dma-controller@e6720000
(XEN) /dma-controller@e6720000 passthrough = 1 nirq = 16 naddr = 1
(XEN)   - IRQ: 252
(XEN)   - IRQ: 248
(XEN)   - IRQ: 249
(XEN)   - IRQ: 250
(XEN)   - IRQ: 251
(XEN)   - IRQ: 340
(XEN)   - IRQ: 341
(XEN)   - IRQ: 342
(XEN)   - IRQ: 343
(XEN)   - IRQ: 344
(XEN)   - IRQ: 345
(XEN)   - IRQ: 346
(XEN)   - IRQ: 347
(XEN)   - IRQ: 348
(XEN)   - IRQ: 349
(XEN)   - IRQ: 350
(XEN)   - MMIO: 00e6720000 - 00e6740000
(XEN) handle /dma-controller@ec700000
(XEN) /dma-controller@ec700000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 378
(XEN)   - IRQ: 352
(XEN)   - IRQ: 353
(XEN)   - IRQ: 354
(XEN)   - IRQ: 355
(XEN)   - IRQ: 356
(XEN)   - IRQ: 357
(XEN)   - IRQ: 358
(XEN)   - IRQ: 359
(XEN)   - IRQ: 360
(XEN)   - IRQ: 361
(XEN)   - IRQ: 362
(XEN)   - IRQ: 363
(XEN)   - IRQ: 364
(XEN)   - MMIO: 00ec700000 - 00ec710000
(XEN) handle /dma-controller@ec720000
(XEN) /dma-controller@ec720000 passthrough = 1 nirq = 14 naddr = 1
(XEN)   - IRQ: 379
(XEN)   - IRQ: 365
(XEN)   - IRQ: 366
(XEN)   - IRQ: 367
(XEN)   - IRQ: 368
(XEN)   - IRQ: 369
(XEN)   - IRQ: 370
(XEN)   - IRQ: 371
(XEN)   - IRQ: 372
(XEN)   - IRQ: 373
(XEN)   - IRQ: 374
(XEN)   - IRQ: 375
(XEN)   - IRQ: 376
(XEN)   - IRQ: 377
(XEN)   - MMIO: 00ec720000 - 00ec730000
(XEN) handle /dma-controller@e65a0000
(XEN) /dma-controller@e65a0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 141
(XEN)   - IRQ: 141
(XEN)   - MMIO: 00e65a0000 - 00e65a0100
(XEN) handle /dma-controller@e65b0000
(XEN) /dma-controller@e65b0000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 142
(XEN)   - IRQ: 142
(XEN)   - MMIO: 00e65b0000 - 00e65b0100
(XEN) handle /i2c@e6508000
(XEN) /i2c@e6508000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 319
(XEN)   - MMIO: 00e6508000 - 00e6508040
(XEN) handle /i2c@e6518000
(XEN) /i2c@e6518000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 320
(XEN)   - MMIO: 00e6518000 - 00e6518040
(XEN) handle /i2c@e6530000
(XEN) /i2c@e6530000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 318
(XEN)   - MMIO: 00e6530000 - 00e6530040
(XEN) handle /i2c@e6540000
(XEN) /i2c@e6540000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 322
(XEN)   - MMIO: 00e6540000 - 00e6540040
(XEN) handle /i2c@e6500000
(XEN) /i2c@e6500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 206
(XEN)   - MMIO: 00e6500000 - 00e6500425
(XEN) handle /i2c@e6510000
(XEN) /i2c@e6510000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 207
(XEN)   - MMIO: 00e6510000 - 00e6510425
(XEN) handle /i2c@e6520000
(XEN) /i2c@e6520000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 208
(XEN)   - MMIO: 00e6520000 - 00e6520425
(XEN) handle /i2c@e6520000/codec@12
(XEN) /i2c@e6520000/codec@12 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20
(XEN) /i2c@e6520000/composite-in@20 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port
(XEN) /i2c@e6520000/composite-in@20/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/composite-in@20/port/endpoint
(XEN) /i2c@e6520000/composite-in@20/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39
(XEN) /i2c@e6520000/hdmi@39 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /gpio@e6051000
(XEN) handle /i2c@e6520000/hdmi@39/ports
(XEN) /i2c@e6520000/hdmi@39/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0
(XEN) /i2c@e6520000/hdmi@39/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@0/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1
(XEN) /i2c@e6520000/hdmi@39/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e6520000/hdmi@39/ports/port@1/endpoint
(XEN) /i2c@e6520000/hdmi@39/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000
(XEN) /i2c@e60b0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 205
(XEN)   - MMIO: 00e60b0000 - 00e60b0425
(XEN) handle /i2c@e60b0000/pmic@58
(XEN) /i2c@e60b0000/pmic@58 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /i2c@e60b0000/pmic@58/rtc
(XEN) /i2c@e60b0000/pmic@58/rtc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/pmic@58/wdt
(XEN) /i2c@e60b0000/pmic@58/wdt passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /i2c@e60b0000/regulator@68
(XEN) /i2c@e60b0000/regulator@68 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /mmc@ee200000
(XEN) /mmc@ee200000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 201
(XEN)   - MMIO: 00ee200000 - 00ee200080
(XEN) handle /mmc@ee220000
(XEN) /mmc@ee220000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 202
(XEN)   - MMIO: 00ee220000 - 00ee220080
(XEN) handle /pfc@e6060000
(XEN) /pfc@e6060000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6060000 - 00e6060250
(XEN) handle /pfc@e6060000/du
(XEN) /pfc@e6060000/du passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial0
(XEN) /pfc@e6060000/serial0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/ether
(XEN) /pfc@e6060000/ether passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/phy1
(XEN) /pfc@e6060000/phy1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/serial1
(XEN) /pfc@e6060000/serial1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd0
(XEN) /pfc@e6060000/sd0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sd2
(XEN) /pfc@e6060000/sd2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/mmc1
(XEN) /pfc@e6060000/mmc1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi0
(XEN) /pfc@e6060000/spi0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/spi2
(XEN) /pfc@e6060000/spi2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic1
(XEN) /pfc@e6060000/iic1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic2
(XEN) /pfc@e6060000/iic2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/iic3
(XEN) /pfc@e6060000/iic3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/hsusb
(XEN) /pfc@e6060000/hsusb passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb0
(XEN) /pfc@e6060000/usb0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb1
(XEN) /pfc@e6060000/usb1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/usb2
(XEN) /pfc@e6060000/usb2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/vin
(XEN) /pfc@e6060000/vin passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound
(XEN) /pfc@e6060000/sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /pfc@e6060000/sound_clk
(XEN) /pfc@e6060000/sound_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sd@ee100000
(XEN) /sd@ee100000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 197
(XEN)   - MMIO: 00ee100000 - 00ee100328
(XEN) handle /sd@ee120000
(XEN) /sd@ee120000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 198
(XEN)   - MMIO: 00ee120000 - 00ee120328
(XEN) handle /sd@ee140000
(XEN) /sd@ee140000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 199
(XEN)   - MMIO: 00ee140000 - 00ee140100
(XEN) handle /sd@ee160000
(XEN) /sd@ee160000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 200
(XEN)   - MMIO: 00ee160000 - 00ee160100
(XEN) handle /serial@e6c40000
(XEN) /serial@e6c40000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 176
(XEN)   - MMIO: 00e6c40000 - 00e6c40040
(XEN) handle /serial@e6c50000
(XEN) /serial@e6c50000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 177
(XEN)   - MMIO: 00e6c50000 - 00e6c50040
(XEN) handle /serial@e6c60000
(XEN) /serial@e6c60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 183
(XEN)   - MMIO: 00e6c60000 - 00e6c60040
(XEN) handle /serial@e6c20000
(XEN) /serial@e6c20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 180
(XEN)   - MMIO: 00e6c20000 - 00e6c20040
(XEN) handle /serial@e6c30000
(XEN) /serial@e6c30000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 181
(XEN)   - MMIO: 00e6c30000 - 00e6c30040
(XEN) handle /serial@e6ce0000
(XEN) /serial@e6ce0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 182
(XEN)   - MMIO: 00e6ce0000 - 00e6ce0040
(XEN) handle /serial@e6e60000
(XEN) /serial@e6e60000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 184
(XEN)   - MMIO: 00e6e60000 - 00e6e60040
(XEN) handle /serial@e6e68000
(XEN) /serial@e6e68000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 185
(XEN)   - MMIO: 00e6e68000 - 00e6e68040
(XEN) handle /serial@e62c0000
(XEN) /serial@e62c0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 186
(XEN)   - MMIO: 00e62c0000 - 00e62c0060
(XEN) handle /serial@e62c8000
(XEN) /serial@e62c8000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 187
(XEN)   - MMIO: 00e62c8000 - 00e62c8060
(XEN) handle /ethernet@ee700000
(XEN) /ethernet@ee700000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 194
(XEN)   - MMIO: 00ee700000 - 00ee700400
(XEN) handle /ethernet@ee700000/ethernet-phy@1
(XEN) /ethernet@ee700000/ethernet-phy@1 passthrough = 1 nirq = 1 naddr = 0
(XEN) irq 0 not connected to primary controller.Connected to /interrupt-controller@e61c0000
(XEN) handle /ethernet@e6800000
(XEN) /ethernet@e6800000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 195
(XEN)   - MMIO: 00e6800000 - 00e6800800
(XEN)   - MMIO: 00ee0e8000 - 00ee0ec000
(XEN) handle /sata@ee300000
(XEN) /sata@ee300000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 137
(XEN)   - MMIO: 00ee300000 - 00ee302000
(XEN) handle /sata@ee500000
(XEN) /sata@ee500000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 138
(XEN)   - MMIO: 00ee500000 - 00ee502000
(XEN) handle /usb@e6590000
(XEN) /usb@e6590000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 139
(XEN)   - MMIO: 00e6590000 - 00e6590100
(XEN) handle /usb-phy@e6590100
(XEN) /usb-phy@e6590100 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6590100 - 00e6590200
(XEN) handle /usb-phy@e6590100/usb-channel@0
(XEN) /usb-phy@e6590100/usb-channel@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /usb-phy@e6590100/usb-channel@2
(XEN) /usb-phy@e6590100/usb-channel@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef0000
(XEN) /video@e6ef0000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 220
(XEN)   - MMIO: 00e6ef0000 - 00e6ef1000
(XEN) handle /video@e6ef1000
(XEN) /video@e6ef1000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 221
(XEN)   - MMIO: 00e6ef1000 - 00e6ef2000
(XEN) handle /video@e6ef1000/port
(XEN) /video@e6ef1000/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef1000/port/endpoint
(XEN) /video@e6ef1000/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /video@e6ef2000
(XEN) /video@e6ef2000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 222
(XEN)   - MMIO: 00e6ef2000 - 00e6ef3000
(XEN) handle /video@e6ef3000
(XEN) /video@e6ef3000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 223
(XEN)   - MMIO: 00e6ef3000 - 00e6ef4000
(XEN) handle /vsp1@fe920000
(XEN) /vsp1@fe920000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 298
(XEN)   - MMIO: 00fe920000 - 00fe928000
(XEN) handle /vsp1@fe928000
(XEN) /vsp1@fe928000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 299
(XEN)   - MMIO: 00fe928000 - 00fe930000
(XEN) handle /vsp1@fe930000
(XEN) /vsp1@fe930000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 278
(XEN)   - MMIO: 00fe930000 - 00fe938000
(XEN) handle /vsp1@fe938000
(XEN) /vsp1@fe938000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 279
(XEN)   - MMIO: 00fe938000 - 00fe940000
(XEN) handle /display@feb00000
(XEN) /display@feb00000 passthrough = 1 nirq = 3 naddr = 3
(XEN)   - IRQ: 288
(XEN)   - IRQ: 300
(XEN)   - IRQ: 301
(XEN)   - MMIO: 00feb00000 - 00feb70000
(XEN)   - MMIO: 00feb90000 - 00feb9001c
(XEN)   - MMIO: 00feb94000 - 00feb9401c
(XEN) handle /display@feb00000/ports
(XEN) /display@feb00000/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0
(XEN) /display@feb00000/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@0/endpoint
(XEN) /display@feb00000/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1
(XEN) /display@feb00000/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@1/endpoint
(XEN) /display@feb00000/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2
(XEN) /display@feb00000/ports/port@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /display@feb00000/ports/port@2/endpoint
(XEN) /display@feb00000/ports/port@2/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /can@e6e80000
(XEN) /can@e6e80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 218
(XEN)   - MMIO: 00e6e80000 - 00e6e81000
(XEN) handle /can@e6e88000
(XEN) /can@e6e88000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 219
(XEN)   - MMIO: 00e6e88000 - 00e6e89000
(XEN) handle /jpeg-codec@fe980000
(XEN) /jpeg-codec@fe980000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 304
(XEN)   - MMIO: 00fe980000 - 00fe990300
(XEN) handle /clocks
(XEN) /clocks passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/extal_clk
(XEN) /clocks/extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/pcie_bus_clk
(XEN) /clocks/pcie_bus_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_a
(XEN) /clocks/audio_clk_a passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_b
(XEN) /clocks/audio_clk_b passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/audio_clk_c
(XEN) /clocks/audio_clk_c passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/usb_extal_clk
(XEN) /clocks/usb_extal_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/can_clk
(XEN) /clocks/can_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cpg_clocks@e6150000
(XEN) /clocks/cpg_clocks@e6150000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150000 - 00e6151000
(XEN) handle /clocks/sd2_clk@e6150078
(XEN) /clocks/sd2_clk@e6150078 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150078 - 00e615007c
(XEN) handle /clocks/sd3_clk@e615026c
(XEN) /clocks/sd3_clk@e615026c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615026c - 00e6150270
(XEN) handle /clocks/mmc0_clk@e6150240
(XEN) /clocks/mmc0_clk@e6150240 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150240 - 00e6150244
(XEN) handle /clocks/mmc1_clk@e6150244
(XEN) /clocks/mmc1_clk@e6150244 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150244 - 00e6150248
(XEN) handle /clocks/ssp_clk@e6150248
(XEN) /clocks/ssp_clk@e6150248 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6150248 - 00e615024c
(XEN) handle /clocks/ssprs_clk@e615024c
(XEN) /clocks/ssprs_clk@e615024c passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e615024c - 00e6150250
(XEN) handle /clocks/pll1_div2_clk
(XEN) /clocks/pll1_div2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/z2_clk
(XEN) /clocks/z2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zg_clk
(XEN) /clocks/zg_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zx_clk
(XEN) /clocks/zx_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zs_clk
(XEN) /clocks/zs_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/hp_clk
(XEN) /clocks/hp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/i_clk
(XEN) /clocks/i_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/b_clk
(XEN) /clocks/b_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/p_clk
(XEN) /clocks/p_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cl_clk
(XEN) /clocks/cl_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/m2_clk
(XEN) /clocks/m2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/imp_clk
(XEN) /clocks/imp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/rclk_clk
(XEN) /clocks/rclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/oscclk_clk
(XEN) /clocks/oscclk_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3_clk
(XEN) /clocks/zb3_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/zb3d2_clk
(XEN) /clocks/zb3d2_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/ddr_clk
(XEN) /clocks/ddr_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mp_clk
(XEN) /clocks/mp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/cp_clk
(XEN) /clocks/cp_clk passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /clocks/mstp0_clks@e6150130
(XEN) /clocks/mstp0_clks@e6150130 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150130 - 00e6150134
(XEN)   - MMIO: 00e6150030 - 00e6150034
(XEN) handle /clocks/mstp1_clks@e6150134
(XEN) /clocks/mstp1_clks@e6150134 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150134 - 00e6150138
(XEN)   - MMIO: 00e6150038 - 00e615003c
(XEN) handle /clocks/mstp2_clks@e6150138
(XEN) /clocks/mstp2_clks@e6150138 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150138 - 00e615013c
(XEN)   - MMIO: 00e6150040 - 00e6150044
(XEN) handle /clocks/mstp3_clks@e615013c
(XEN) /clocks/mstp3_clks@e615013c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615013c - 00e6150140
(XEN)   - MMIO: 00e6150048 - 00e615004c
(XEN) handle /clocks/mstp4_clks@e6150140
(XEN) /clocks/mstp4_clks@e6150140 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150140 - 00e6150144
(XEN)   - MMIO: 00e615004c - 00e6150050
(XEN) handle /clocks/mstp5_clks@e6150144
(XEN) /clocks/mstp5_clks@e6150144 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150144 - 00e6150148
(XEN)   - MMIO: 00e615003c - 00e6150040
(XEN) handle /clocks/mstp7_clks@e615014c
(XEN) /clocks/mstp7_clks@e615014c passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e615014c - 00e6150150
(XEN)   - MMIO: 00e61501c4 - 00e61501c8
(XEN) handle /clocks/mstp8_clks@e6150990
(XEN) /clocks/mstp8_clks@e6150990 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150990 - 00e6150994
(XEN)   - MMIO: 00e61509a0 - 00e61509a4
(XEN) handle /clocks/mstp9_clks@e6150994
(XEN) /clocks/mstp9_clks@e6150994 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150994 - 00e6150998
(XEN)   - MMIO: 00e61509a4 - 00e61509a8
(XEN) handle /clocks/mstp10_clks@e6150998
(XEN) /clocks/mstp10_clks@e6150998 passthrough = 1 nirq = 0 naddr = 2
(XEN)   - MMIO: 00e6150998 - 00e615099c
(XEN)   - MMIO: 00e61509a8 - 00e61509ac
(XEN) handle /spi@e6b10000
(XEN) /spi@e6b10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 216
(XEN)   - MMIO: 00e6b10000 - 00e6b1002c
(XEN) handle /spi@e6b10000/flash@0
(XEN) /spi@e6b10000/flash@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@0
(XEN) /spi@e6b10000/flash@0/partition@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@40000
(XEN) /spi@e6b10000/flash@0/partition@40000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6b10000/flash@0/partition@440000
(XEN) /spi@e6b10000/flash@0/partition@440000 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e20000
(XEN) /spi@e6e20000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 188
(XEN)   - MMIO: 00e6e20000 - 00e6e20064
(XEN) handle /spi@e6e10000
(XEN) /spi@e6e10000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 189
(XEN)   - MMIO: 00e6e10000 - 00e6e10064
(XEN) handle /spi@e6e10000/pmic@0
(XEN) /spi@e6e10000/pmic@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /spi@e6e00000
(XEN) /spi@e6e00000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 190
(XEN)   - MMIO: 00e6e00000 - 00e6e00064
(XEN) handle /spi@e6c90000
(XEN) /spi@e6c90000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 191
(XEN)   - MMIO: 00e6c90000 - 00e6c90064
(XEN) handle /usb@ee000000
(XEN) /usb@ee000000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 133
(XEN)   - MMIO: 00ee000000 - 00ee000c00
(XEN) handle /pci@ee090000
(XEN) /pci@ee090000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee090000 - 00ee090c00
(XEN)   - MMIO: 00ee080000 - 00ee081100
(XEN) Mapping children of /pci@ee090000 to guest
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - IRQ: 140
(XEN)   - MMIO: 00ee080000 - 00ee090000
(XEN) handle /pci@ee090000/usb@0,1
(XEN) /pci@ee090000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee090000/usb@0,1 to guest
(XEN) handle /pci@ee090000/usb@0,2
(XEN) /pci@ee090000/usb@0,2 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee090000/usb@0,2 to guest
(XEN) handle /pci@ee0b0000
(XEN) /pci@ee0b0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 144
(XEN)   - MMIO: 00ee0b0000 - 00ee0b0c00
(XEN)   - MMIO: 00ee0a0000 - 00ee0a1100
(XEN) Mapping children of /pci@ee0b0000 to guest
(XEN)   - IRQ: 144
(XEN)   - IRQ: 144
(XEN)   - IRQ: 144
(XEN)   - MMIO: 00ee0a0000 - 00ee0b0000
(XEN) handle /pci@ee0d0000
(XEN) /pci@ee0d0000 passthrough = 1 nirq = 1 naddr = 2
(XEN)   - IRQ: 145
(XEN)   - MMIO: 00ee0d0000 - 00ee0d0c00
(XEN)   - MMIO: 00ee0c0000 - 00ee0c1100
(XEN) Mapping children of /pci@ee0d0000 to guest
(XEN)   - IRQ: 145
(XEN)   - IRQ: 145
(XEN)   - IRQ: 145
(XEN)   - MMIO: 00ee0c0000 - 00ee0d0000
(XEN) handle /pci@ee0d0000/usb@0,1
(XEN) /pci@ee0d0000/usb@0,1 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee0d0000/usb@0,1 to guest
(XEN) handle /pci@ee0d0000/usb@0,2
(XEN) /pci@ee0d0000/usb@0,2 passthrough = 1 nirq = 0 naddr = 0
(XEN) Mapping children of /pci@ee0d0000/usb@0,2 to guest
(XEN) handle /pcie@fe000000
(XEN) /pcie@fe000000 passthrough = 1 nirq = 3 naddr = 1
(XEN)   - IRQ: 148
(XEN)   - IRQ: 149
(XEN)   - IRQ: 150
(XEN)   - MMIO: 00fe000000 - 00fe080000
(XEN) Mapping children of /pcie@fe000000 to guest
(XEN)   - IRQ: 148
(XEN)   - MMIO: 00fe100000 - 00fe200000
(XEN)   - MMIO: 00fe200000 - 00fe400000
(XEN)   - MMIO: 0030000000 - 0038000000
(XEN)   - MMIO: 0038000000 - 0040000000
(XEN) handle /sound@ec500000
(XEN) /sound@ec500000 passthrough = 1 nirq = 0 naddr = 5
(XEN)   - MMIO: 00ec500000 - 00ec501000
(XEN)   - MMIO: 00ec5a0000 - 00ec5a0100
(XEN)   - MMIO: 00ec540000 - 00ec541000
(XEN)   - MMIO: 00ec541000 - 00ec542280
(XEN)   - MMIO: 00ec740000 - 00ec740200
(XEN) handle /sound@ec500000/rcar_sound,dvc
(XEN) /sound@ec500000/rcar_sound,dvc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@0
(XEN) /sound@ec500000/rcar_sound,dvc/dvc@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dvc/dvc@1
(XEN) /sound@ec500000/rcar_sound,dvc/dvc@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,mix
(XEN) /sound@ec500000/rcar_sound,mix passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,mix/mix@0
(XEN) /sound@ec500000/rcar_sound,mix/mix@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,mix/mix@1
(XEN) /sound@ec500000/rcar_sound,mix/mix@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu
(XEN) /sound@ec500000/rcar_sound,ctu passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@0
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@1
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@2
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@3
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@4
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@4 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@5
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@5 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@6
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@6 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ctu/ctu@7
(XEN) /sound@ec500000/rcar_sound,ctu/ctu@7 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,src
(XEN) /sound@ec500000/rcar_sound,src passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,src/src@0
(XEN) /sound@ec500000/rcar_sound,src/src@0 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 384
(XEN) handle /sound@ec500000/rcar_sound,src/src@1
(XEN) /sound@ec500000/rcar_sound,src/src@1 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 385
(XEN) handle /sound@ec500000/rcar_sound,src/src@2
(XEN) /sound@ec500000/rcar_sound,src/src@2 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 386
(XEN) handle /sound@ec500000/rcar_sound,src/src@3
(XEN) /sound@ec500000/rcar_sound,src/src@3 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 387
(XEN) handle /sound@ec500000/rcar_sound,src/src@4
(XEN) /sound@ec500000/rcar_sound,src/src@4 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 388
(XEN) handle /sound@ec500000/rcar_sound,src/src@5
(XEN) /sound@ec500000/rcar_sound,src/src@5 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 389
(XEN) handle /sound@ec500000/rcar_sound,src/src@6
(XEN) /sound@ec500000/rcar_sound,src/src@6 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 390
(XEN) handle /sound@ec500000/rcar_sound,src/src@7
(XEN) /sound@ec500000/rcar_sound,src/src@7 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 391
(XEN) handle /sound@ec500000/rcar_sound,src/src@8
(XEN) /sound@ec500000/rcar_sound,src/src@8 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 392
(XEN) handle /sound@ec500000/rcar_sound,src/src@9
(XEN) /sound@ec500000/rcar_sound,src/src@9 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 393
(XEN) handle /sound@ec500000/rcar_sound,ssi
(XEN) /sound@ec500000/rcar_sound,ssi passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@0
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@0 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 402
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@1
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@1 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 403
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@2
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@2 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 404
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@3
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@3 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 405
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@4
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@4 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 406
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@5
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@5 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 407
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@6
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@6 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 408
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@7
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@7 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 409
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@8
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@8 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 410
(XEN) handle /sound@ec500000/rcar_sound,ssi/ssi@9
(XEN) /sound@ec500000/rcar_sound,ssi/ssi@9 passthrough = 1 nirq = 1 naddr = 0
(XEN)   - IRQ: 411
(XEN) handle /sound@ec500000/rcar_sound,dai
(XEN) /sound@ec500000/rcar_sound,dai passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound@ec500000/rcar_sound,dai/dai0
(XEN) /sound@ec500000/rcar_sound,dai/dai0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /mmu@e6280000
(XEN) /mmu@e6280000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 255
(XEN)   - IRQ: 256
(XEN)   - MMIO: 00e6280000 - 00e6281000
(XEN) handle /mmu@e6290000
(XEN) /mmu@e6290000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 257
(XEN)   - MMIO: 00e6290000 - 00e6291000
(XEN) handle /mmu@e6740000
(XEN) /mmu@e6740000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 230
(XEN)   - IRQ: 231
(XEN)   - MMIO: 00e6740000 - 00e6741000
(XEN) handle /mmu@ec680000
(XEN) /mmu@ec680000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 258
(XEN)   - MMIO: 00ec680000 - 00ec681000
(XEN) handle /mmu@fe951000
(XEN) /mmu@fe951000 passthrough = 1 nirq = 2 naddr = 1
(XEN)   - IRQ: 254
(XEN)   - IRQ: 253
(XEN)   - MMIO: 00fe951000 - 00fe952000
(XEN) handle /mmu@ffc80000
(XEN) /mmu@ffc80000 passthrough = 1 nirq = 1 naddr = 1
(XEN)   - IRQ: 339
(XEN)   - MMIO: 00ffc80000 - 00ffc81000
(XEN) handle /chosen
(XEN) /chosen passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /chosen/modules
(XEN) /chosen/modules passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /chosen/modules/module@0x72000000
(XEN)   Skip it (matched)
(XEN) handle /chosen/modules/module@0x74000000
(XEN)   Skip it (matched)
(XEN) handle /memory@40000000
(XEN)   Skip it (matched)
(XEN) handle /memory@140000000
(XEN)   Skip it (matched)
(XEN) handle /lbsc
(XEN) /lbsc passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard
(XEN) /keyboard passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@1
(XEN) /keyboard/button@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@2
(XEN) /keyboard/button@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@3
(XEN) /keyboard/button@3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /keyboard/button@4
(XEN) /keyboard/button@4 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds
(XEN) /leds passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led6
(XEN) /leds/led6 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led7
(XEN) /leds/led7 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /leds/led8
(XEN) /leds/led8 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /fixedregulator@0
(XEN) /fixedregulator@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@1
(XEN) /regulator@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@2
(XEN) /regulator@2 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@3
(XEN) /regulator@3 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /regulator@4
(XEN) /regulator@4 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound
(XEN) /sound passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound/simple-audio-card,cpu
(XEN) /sound/simple-audio-card,cpu passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /sound/simple-audio-card,codec
(XEN) /sound/simple-audio-card,codec passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder
(XEN) /vga-encoder passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports
(XEN) /vga-encoder/ports passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@0
(XEN) /vga-encoder/ports/port@0 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@0/endpoint
(XEN) /vga-encoder/ports/port@0/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@1
(XEN) /vga-encoder/ports/port@1 passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga-encoder/ports/port@1/endpoint
(XEN) /vga-encoder/ports/port@1/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga
(XEN) /vga passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga/port
(XEN) /vga/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /vga/port/endpoint
(XEN) /vga/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out
(XEN) /hdmi-out passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out/port
(XEN) /hdmi-out/port passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /hdmi-out/port/endpoint
(XEN) /hdmi-out/port/endpoint passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /x2-clock
(XEN) /x2-clock passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /x13-clock
(XEN) /x13-clock passthrough = 1 nirq = 0 naddr = 0
(XEN) handle /reset@e6160000
(XEN) /reset@e6160000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6160000 - 00e6180000
(XEN) handle /arm-generic-counter@e6080000
(XEN) /arm-generic-counter@e6080000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6080000 - 00e60a0000
(XEN) handle /inter-connect-ram1@e63c0000
(XEN) /inter-connect-ram1@e63c0000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e63c0000 - 00e6410000
(XEN) handle /sysc@e6180000
(XEN) /sysc@e6180000 passthrough = 1 nirq = 0 naddr = 1
(XEN)   - MMIO: 00e6180000 - 00e61c0000
(XEN) Create hypervisor node
(XEN) Create PSCI node
(XEN) Create cpus node
(XEN) Create cpu@0 (logical CPUID: 0) node
(XEN) Create memory node (reg size 4, nr cells 8)
(XEN)   Bank 0: 0x48000000->0x70000000
(XEN)   Bank 1: 0x1d8000000->0x1f0000000
(XEN) Loading zImage from 0000000072000000 to 000000004fe00000-000000004ff36d08
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x0000000050000000-0x000000005000aa1b
(XEN) Scrubbing Free RAM on 1 nodes using 1 CPUs
(XEN) ................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 268kB init memory.
----- 8< -----


Mit freundlichen Grüßen / Kind regards

Leopold Kostal GmbH & Co. KG
Automobil Elektrik / Automotive Electrical Systems 

Max Ferger 
AEN5 Vorentwicklung Produktinnovationen
Advance Development Innovative Products

Hauert 16, 44227 Dortmund
Deutschland / Germany
Telefon: +49 231 7588 965
E-Mail: m.ferger@kostal.com

Internet: http://www.kostal.com


-----Ursprüngliche Nachricht-----
Von: Julien Grall [mailto:julien.grall@citrix.com] 
Gesendet: Dienstag, 20. Oktober 2015 23:44
An: Ferger, Max <M.Ferger@KOSTAL.COM>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: Re: AW: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

Hi,

On 20/10/2015 12:23, Ferger, Max wrote:
> One step closer, thanks again!
>
> Removing the incompatible PCI/USB devices lets Xen boot somewhat further.
>
> Here is the (significant) difference in log output, the full new one is appended.
>
> I've back traced the trap message from traps.c +2447:
> None of the explicit 'goto bad_data_abort;' calls is responsible, but a fall through via traps.c +2444.

> +(XEN) traps.c:2447:d0v0 HSR=0x93830007 pc=0xc001e398 gva=0xe7804060 
> +gpa=0x000000e6160060

This traps likely means that DOM0 is trying to access a region which is not mapped in stage-2.

In the log GPA is the physical address expected. You can give a look to the datasheet of your platform to find the corresponding region.

Looking to this GPA, it's used in
arch/arm/mach-shmobile/setup-rcar-gen2.c to read the mode pins and the region is not described in the DT. You will have to map it manually in Xen. Give a look to how it's done for omap5 (see omap5_specific_mapping).

BTW, I got confirmation by a person working on this board that there may be more regions not described in DT. Although, I don't know all of them :(.

Regards,

--
Julien Grall



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann


[-- Attachment #2: r8a7790-lager-xen.dts --]
[-- Type: application/octet-stream, Size: 1694 bytes --]

/*
 * Device Tree Source for the Lager board
 *
 * Adding Xen4.6 configuration to boot some Linux as Dom0
 *
 */

#include "r8a7790-lager.dts"

/ {
	chosen {

		/* bootargs are present and used for native Linux without Xen, see
		 * http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt
		 */
		xen,xen-bootargs = "console=dtuart dom0_mem=1G";

		/* Dom0 kernel */
		xen,dom0-bootargs = "console=hvc1 vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootwait clk_ignore_unused";

		modules {
			#address-cells = <1>;
			#size-cells = <1>;

			module@0x72000000 {
				compatible = "multiboot,kernel", "multiboot,module";
				/* reg = <0x72000000 0x2fd158>; */
			};

			/* XSM Xen Security Policy */
			module@0x74000000 {
				compatible = "xen,xsm-policy", "multiboot,module";
				/* reg = <0x74000000 0x2559>; */
			};
		};
	};

	/* add required 'ranges;' to all PCI devices */
	pci0: pci@ee090000 {
		usb@0,1 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
		usb@0,2 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
	};
	pci2: pci@ee0d0000 {
		usb@0,1 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
		usb@0,2 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
	};

	/* additional mapped memory areas accessed by Dom0 */
/*
	reset@e6160000 {
		reg = <0 0xe6160000 0 0x20000>;
	};

	arm-generic-counter@e6080000 {
		reg = <0 0xe6080000 0 0x20000>;
	};

	inter-connect-ram1@e63c0000 {
		reg = <0 0xe63c0000 0 0x50000>;
	};

	sysc@e6180000 {
		reg = <0 0xe6180000 0 0x40000>;
	};
*/
};

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-21 16:05           ` Ferger, Max
@ 2015-10-21 16:23             ` Julien Grall
  2015-10-21 17:20               ` Ferger, Max
  0 siblings, 1 reply; 17+ messages in thread
From: Julien Grall @ 2015-10-21 16:23 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On 21/10/15 17:05, Ferger, Max wrote:
> Hi!

Hello,

> Thanks for both DT fixes, the "add ranges;", and the "complete memory map".
> 
> Here are some findings:
> 
> * Linus' most recent version of the kernel [1] (configured with a mix of Xen/OMAP description [2] and lager_defconfig [3]) needs the 'add "ranges;"'-fixes, but does not access the otherwise unmapped address regions.
> * Renesas' Yocto/Poky 
> 
> Unfortunately, neither gives any message on the console, so I don't know their status.
> 
> [1] git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> [2] http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM
> [3] git clone https://github.com/renesas-devel/lager-config
> 
> As I see it, Xen issues no further warnings, but still Dom0 remains silent.

The console parameter in "xen,dom0-bootargs" seems to be wrong.
It should be console=hvc0

If it still doesn't work, you can apply the patch [1] to Linux
(it's based on the latest version). It will print everything on Xen
console even if the HVC console is not ready.

> I'm somewhat at a loss.  :-(
> 
> Greetings from Germany!

Regards,


[1]
diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index fa816b7..b57ace0 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -638,7 +638,7 @@ void xen_raw_console_write(const char *str)
        ssize_t len = strlen(str);
        int rc = 0;
 
-       if (xen_domain()) {
+       if (1 || xen_domain()) {
                rc = dom0_write_console(0, str, len);
 #ifdef CONFIG_X86
                if (rc == -ENOSYS && xen_hvm_domain())
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 8f0324e..29a19af 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1652,6 +1652,8 @@ static size_t cont_print_text(char *text, size_t size)
        return textlen;
 }
 
+#include <xen/hvc-console.h>
+
 asmlinkage int vprintk_emit(int facility, int level,
                            const char *dict, size_t dictlen,
                            const char *fmt, va_list args)
@@ -1719,6 +1721,7 @@ asmlinkage int vprintk_emit(int facility, int level,
         * prefix which might be passed-in as a parameter.
         */
        text_len = vscnprintf(text, sizeof(textbuf), fmt, args);
+       xen_raw_console_write(text);
 
        /* mark and strip a trailing newline */
        if (text_len && text[text_len-1] == '\n') {




-- 
Julien Grall

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-21 16:23             ` Julien Grall
@ 2015-10-21 17:20               ` Ferger, Max
  2015-10-21 18:01                 ` Julien Grall
  2015-10-22  8:48                 ` Ian Campbell
  0 siblings, 2 replies; 17+ messages in thread
From: Ferger, Max @ 2015-10-21 17:20 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

Hi!

I'm sorry, but that didn't do the trick.
Neither did trying, whether a compressed or non-compressed dom0 image would do.

Also, I tried:
----- 8< -----
/chosen/xen,dom0-bootargs = "console=hvc0 earlyprintk=xen debug ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootdelay clk_ignore_unused";
----- 8< -----
+ earlyprintk=xen
- rootwait
+ rootdelay

The log remains the same: empty from the switch to Dom0 onwards.

Many thanks so far!  Maybe there are some more investigative options to check or try out?

Max Ferger

-----Ursprüngliche Nachricht-----
Von: Julien Grall [mailto:julien.grall@citrix.com] 
Gesendet: Mittwoch, 21. Oktober 2015 18:23
An: Ferger, Max <M.Ferger@KOSTAL.COM>; Ian Campbell <ian.campbell@citrix.com>; xen-devel@lists.xen.org
Cc: Oleksandr Tyshchenko <oleksandr.tyshchenko@globallogic.com>; Iurii Konovalenko <iurii.konovalenko@globallogic.com>
Betreff: Re: [Xen-devel] Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)

On 21/10/15 17:05, Ferger, Max wrote:
> Hi!

Hello,

> Thanks for both DT fixes, the "add ranges;", and the "complete memory map".
> 
> Here are some findings:
> 
> * Linus' most recent version of the kernel [1] (configured with a mix of Xen/OMAP description [2] and lager_defconfig [3]) needs the 'add "ranges;"'-fixes, but does not access the otherwise unmapped address regions.
> * Renesas' Yocto/Poky
> 
> Unfortunately, neither gives any message on the console, so I don't know their status.
> 
> [1] git clone 
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> [2] 
> http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions
> /OMAP5432_uEVM [3] git clone 
> https://github.com/renesas-devel/lager-config
> 
> As I see it, Xen issues no further warnings, but still Dom0 remains silent.

The console parameter in "xen,dom0-bootargs" seems to be wrong.
It should be console=hvc0

If it still doesn't work, you can apply the patch [1] to Linux (it's based on the latest version). It will print everything on Xen console even if the HVC console is not ready.

> I'm somewhat at a loss.  :-(
> 
> Greetings from Germany!

Regards,


[1]
diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c index fa816b7..b57ace0 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -638,7 +638,7 @@ void xen_raw_console_write(const char *str)
        ssize_t len = strlen(str);
        int rc = 0;
 
-       if (xen_domain()) {
+       if (1 || xen_domain()) {
                rc = dom0_write_console(0, str, len);  #ifdef CONFIG_X86
                if (rc == -ENOSYS && xen_hvm_domain()) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 8f0324e..29a19af 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1652,6 +1652,8 @@ static size_t cont_print_text(char *text, size_t size)
        return textlen;
 }
 
+#include <xen/hvc-console.h>
+
 asmlinkage int vprintk_emit(int facility, int level,
                            const char *dict, size_t dictlen,
                            const char *fmt, va_list args) @@ -1719,6 +1721,7 @@ asmlinkage int vprintk_emit(int facility, int level,
         * prefix which might be passed-in as a parameter.
         */
        text_len = vscnprintf(text, sizeof(textbuf), fmt, args);
+       xen_raw_console_write(text);
 
        /* mark and strip a trailing newline */
        if (text_len && text[text_len-1] == '\n') {




--
Julien Grall



Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-21 17:20               ` Ferger, Max
@ 2015-10-21 18:01                 ` Julien Grall
  2015-10-22 15:07                   ` Ferger, Max
  2015-10-22  8:48                 ` Ian Campbell
  1 sibling, 1 reply; 17+ messages in thread
From: Julien Grall @ 2015-10-21 18:01 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On 21/10/15 18:20, Ferger, Max wrote:
> Hi!

Hello,

> I'm sorry, but that didn't do the trick.
> Neither did trying, whether a compressed or non-compressed dom0 image would do.
> 
> Also, I tried:
> ----- 8< -----
> /chosen/xen,dom0-bootargs = "console=hvc0 earlyprintk=xen debug ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootdelay clk_ignore_unused";
> ----- 8< -----
> + earlyprintk=xen
> - rootwait
> + rootdelay
> 
> The log remains the same: empty from the switch to Dom0 onwards.
> 
> Many thanks so far!  Maybe there are some more investigative options to check or try out?

To be sure, even the patch I attached on the previous mail doesn't help
you to get the console?

If so, the simplest way to investigate requires the serial driver in Xen
to be functional (IIRC it's not the case right now). If you got it, you
can type CTRL-a tree times and access to the Xen console.

There is a number of key useful to dump the states of Xen and the
guests. The key '0' will dump the state of every vCPUs of DOM0. To list
the other keys available, type 'h'.

If getting the serial driver requires to much work, you will have to
modify DOM0 and add some xen_raw_printk (#include <xen/hvc-console.h>).
To figure out what's going on.

If you have Xen built with debug=y, from the log you sent it seems to be
the case, you can use the asm instruction "hvc" to get Xen printing
useful information:
    - hvc 0xffff will dump the state of the vCPU
    - hvc 0xfffd will print the program counter
For more of them see do_debug_trap in xen/arch/arm/traps.c

I hope this will help you to get further in DOM0 boot.

Regards,

-- 
Julien Grall

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-21 17:20               ` Ferger, Max
  2015-10-21 18:01                 ` Julien Grall
@ 2015-10-22  8:48                 ` Ian Campbell
  1 sibling, 0 replies; 17+ messages in thread
From: Ian Campbell @ 2015-10-22  8:48 UTC (permalink / raw)
  To: Ferger, Max, Julien Grall, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On Wed, 2015-10-21 at 17:20 +0000, Ferger, Max wrote:
> Hi!
> 
> I'm sorry, but that didn't do the trick.


Please can you stop top posting, use the customary ">" style of quoting
when replying and trim your quotes to only what is required for context.
Please see 
http://wiki.xen.org/wiki/Asking_Xen_Devel_Questions#Observe_list_etiquette 
for more information.

This will help people follow the flow of the conversation.

Ian.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-21 18:01                 ` Julien Grall
@ 2015-10-22 15:07                   ` Ferger, Max
  2015-10-22 15:29                     ` Julien Grall
  0 siblings, 1 reply; 17+ messages in thread
From: Ferger, Max @ 2015-10-22 15:07 UTC (permalink / raw)
  To: Julien Grall, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

[-- Attachment #1: Type: text/plain, Size: 2940 bytes --]

Hello,

No further questions in this message, just a quick wrap-up:
1) Console is now configured.
2) Dom0 kernel is coming up and showing messages.

Very many thanks for all your help!


= Details =

This message should conclude the issue.
Therefore, it summarizes my findings and mistakes, and gets
the actual device tree, and a log entering Dom0 attached.


1) Console is now configured:

It helps to take the exact same console, as the one U-Boot uses,
and to enable it. In case of the LAGER board, it is  "/serial@e6e60000",
configured via the following DT snippet:
----- 8< -----
scif0: serial@e6e60000 {
	status = "ok";
 };
 chosen {
 	stdout-path = &scif0;
	xen,xen-bootargs = "console=dtuart dom0_mem=1G";
};
----- 8< -----


2) Dom0 kernel is coming up and showing messages:

> From: Julien Grall [mailto:julien.grall@citrix.com]
> Sent: Wednesday, October 21, 2015 8:02 PM
> 
> To be sure, even the patch I attached on the previous mail doesn't help
> you to get the console?

The patch works. But now it is obsolete, and reverted.

My mistake was how I tried to configure the kernel:
Following the OMAP wiki [1], which I think is a little misleading,
I appended the CONFIG_XEN* and friends to .config, and called 'make',
leading to the CONFIG_XEN*-flags to be overwritten by defaults.
Once configured via menuconfig, Dom0 showed messages all right.

> If so, the simplest way to investigate requires the serial driver in Xen
> to be functional (IIRC it's not the case right now). If you got it, you
> can type CTRL-a tree times and access to the Xen console.

This great tool works now.
 
> If you have Xen built with debug=y, from the log you sent it seems to be
> the case, you can use the asm instruction "hvc" to get Xen printing
> useful information:
>     - hvc 0xffff will dump the state of the vCPU
>     - hvc 0xfffd will print the program counter

Nice to know.  Couldn't find it on the wiki, though.

I'll update the LAGER board wiki [2] with my findings.

Some questions remain, but I'll come back on these later,
when I'm more clear about them, and probably via [xen-users].
I'll try my best to abide by the etiquette next time.

Max Ferger

[1] http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/OMAP5432_uEVM#2.2_Build_Linux_Dom0_kernel
[2] http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/Lager




Leopold KOSTAL GmbH & Co. KG - Sitz Lüdenscheid, Registergericht Iserlohn HRA 2854, phG Kostal Verwaltungsgesellschaft mbH, Registergericht Iserlohn HRB 4061 - USt-Id-Nr./Vat No.: DE 125800885
Post- und Werksanschrift: An der Bellmerei 10, D-58513 Lüdenscheid * Telefon: +49 2351 16-0 * Telefax: +49 2351 16-2400 Bellmerei
Geschäftsführung: Dipl.-Oec. Andreas Kostal (Vorsitzender), Dipl.-Kfm. Helmut Kostal, Dipl.-Ing. Marwin Kinzl, Dr.-Ing. Ludger Laufenberg, Dipl.-Kfm. Ulrich Zimmermann


[-- Attachment #2: log.xen-serial-ok.txt --]
[-- Type: text/plain, Size: 10835 bytes --]


LAGER SPI_LOADER V0.28 2014.09.29
DEVICE S25FL512


U-Boot 2014.10-00441-gf7ca1f7-dirty (Oct 19 2015 - 12:32:17)

CPU: Renesas Electronics R8A7790 rev 2.0
Board: Lager
I2C:   ready
DRAM:  2 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB
In:    serial
Out:   serial
Err:   serial
Net:   sh_eth
Hit any key to stop autoboot:  0
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'r8a7790-lager-xen.dtb'.
Load address: 0x70f00000
Loading: #########
         395.5 KiB/s
done
Bytes transferred = 44621 (ae4d hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'dom0-zImage'.
Load address: 0x72000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################################
         603.5 KiB/s
done
Bytes transferred = 1553064 (17b2a8 hex)
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xenpolicy'.
Load address: 0x74000000
Loading: ##
         41 KiB/s
done
Bytes transferred = 9561 (2559 hex)
chosen {
        bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
        stdout-path = "/serial@e6e60000";
        xen,xen-bootargs = "console=dtuart dom0_mem=1G";
        xen,dom0-bootargs = "console=hvc0 earlyprintk=xen debug ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootdelay clk_ignore_unused";
        modules {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                module@0x72000000 {
                        reg = <0x72000000 0x0017b2a8>;
                        compatible = "multiboot,kernel", "multiboot,module";
                };
                module@0x74000000 {
                        reg = <0x74000000 0x00002559>;
                        compatible = "xen,xsm-policy", "multiboot,module";
                };
        };
};
sh_eth:1 is connected to sh_eth.  Reconnecting to sh_eth
sh_eth Waiting for PHY auto negotiation to complete... done
sh_eth: 100Base/Half
Using sh_eth device
TFTP from server 192.168.0.15; our IP address is 192.168.0.5
Filename 'xen-uImage'.
Load address: 0x70007fc0
Loading: #################################################################
         #################################################################
         #####################################
         615.2 KiB/s
done
Bytes transferred = 852948 (d03d4 hex)
## Booting kernel from Legacy Image at 70007fc0 ...
   Image Name:   XEN4.6-LAGER
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    852884 Bytes = 832.9 KiB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 70f00000
   Booting using the fdt blob at 0x70f00000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=70f00000 size=b000
   Loading Device Tree to 407f2000, end 407fffff ... OK

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000040000000 - 000000007fffffff
(XEN) RAM: 0000000140000000 - 00000001ffffffff
(XEN)
(XEN) MODULE[0]: 00000000407f2000 - 00000000407fd000 Device Tree
(XEN) MODULE[1]: 0000000072000000 - 000000007217b2a8 Kernel
(XEN) MODULE[2]: 0000000074000000 - 0000000074002559 XSM
(XEN)  RESVD[0]: 0000000070f00000 - 0000000070f0b000
(XEN)  RESVD[1]: 000000007ff9a000 - 000000007ff9a120
(XEN)  RESVD[2]: 00000000407f2000 - 00000000407fd000
(XEN)
(XEN) Command line: console=dtuart dom0_mem=1G
(XEN) Placing Xen at 0x000000007fc00000-0x000000007fe00000
(XEN) Update BOOTMOD_XEN from 0000000090000000-000000009011b701 => 000000007fc00000-000000007fd1b701
(XEN) Xen heap: 00000001f8000000-0000000200000000 (32768 pages)
(XEN) Dom heap: 1015808 pages
(XEN) Domain heap initialised
(XEN) Platform: Renesas R-Car Gen2
(XEN) Taking dtuart configuration from /chosen/stdout-path
(XEN) Looking for dtuart at "/serial@e6e60000", options ""
 __  __            _  _    __    ___
 \ \/ /___ _ __   | || |  / /_  / _ \
  \  // _ \ '_ \  | || |_| '_ \| | | |
  /  \  __/ | | | |__   _| (_) | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/

(XEN) Xen version 4.6.0 (aen@) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.2-16ubuntu4) 4.8.2) debug=y Thu Oct 22 13:31:12 CEST 2015
(XEN) Latest ChangeSet: Mon Oct 5 15:33:39 2015 +0100 git:b24ad7b
(XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=00000000f1001000
(XEN)         gic_cpu_addr=00000000f1002000
(XEN)         gic_hyp_addr=00000000f1004000
(XEN)         gic_vcpu_addr=00000000f1006000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 416 lines, 8 cpus, secure (IID 0200043b).
(XEN) XSM Framework v1.0.0 initialized
(XEN) xsm: Policy len = 0x0000000000002559 start at 0x0000000074000000
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask: 64 avtab hash slots, 236 rules.
(XEN) Flask:  3 users, 3 roles, 36 types, 2 bools
(XEN) Flask:  12 classes, 236 rules
(XEN) Flask:  Starting in permissive mode.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 64 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
(XEN) CPU1 never came online
(XEN) Failed to bring up CPU 1 (error -5)
(XEN) Bringing up CPU2
(XEN) CPU2 never came online
(XEN) Failed to bring up CPU 2 (error -5)
(XEN) Bringing up CPU3
(XEN) CPU3 never came online
(XEN) Failed to bring up CPU 3 (error -5)
(XEN) Bringing up CPU4
(XEN) CPU4 never came online
(XEN) Failed to bring up CPU 4 (error -5)
(XEN) Bringing up CPU5
(XEN) CPU5 never came online
(XEN) Failed to bring up CPU 5 (error -5)
(XEN) Bringing up CPU6
(XEN) CPU6 never came online
(XEN) Failed to bring up CPU 6 (error -5)
(XEN) Bringing up CPU7
(XEN) CPU7 never came online
(XEN) Failed to bring up CPU 7 (error -5)
(XEN) Brought up 1 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) I/O virtualisation disabled
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000072000000
(XEN) Allocating 1:1 mappings totalling 1024MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000070000000 (640MB)
(XEN) BANK[1] 0x000001d8000000-0x000001f0000000 (384MB)
(XEN) Grant table range: 0x0000007fc00000-0x0000007fc72000
(XEN) Loading zImage from 0000000072000000 to 000000004fe00000-000000004ff7b2a8
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x0000000050000000-0x000000005000a947
(XEN) Scrubbing Free RAM on 1 nodes using 1 CPUs
(XEN) ................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 268kB init memory.
Booting Linux on physical CPU 0x0
Linux version 4.3.0-rc6kostal-xen4.6-00108-gce1fad2-dirty (aen@aen-virtual-machine) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-16ubuntu4) ) #7 Thu Oct 22 16:23:21 CEST 2015
CPU: ARMv7 Processor [413fc0f2] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
Machine model: Lager
Ignoring memory block 0x1d8000000 - 0x1f0000000
debug: ignoring loglevel setting.
Truncating RAM at 0x48000000-0x70000000 to -0x6f000000
Consider using a HIGHMEM enabled kernel.
Memory policy: Data cache writeback
On node 0 totalpages: 159744
free_area_init_node: node 0, pgdat c02e7c08, node_mem_map e6b1b000
  Normal zone: 1248 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 159744 pages, LIFO batch:31
psci: probing for conduit method from DT.
psci: PSCIv0.2 detected in firmware.
psci: Using standard PSCI v0.2 function IDs
psci: Trusted OS migration not required
Xen 4.6 support found
CPU: All CPU(s) started in SVC mode.
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 158496
Kernel command line: console=hvc0 earlyprintk=xen debug ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootdelay clk_ignore_unused
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 629812K/638976K available (2309K kernel code, 72K rwdata, 444K rodata, 116K init, 192K bss, 9164K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xe7800000 - 0xff000000   ( 376 MB)
    lowmem  : 0xc0000000 - 0xe7000000   ( 624 MB)
      .text : 0xc0008000 - 0xc02b8694   (2754 kB)
      .init : 0xc02b9000 - 0xc02d6000   ( 116 kB)
      .data : 0xc02d6000 - 0xc02e83e0   (  73 kB)
       .bss : 0xc02e83e0 - 0xc0318764   ( 193 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:16 nr_irqs:16 16
clocksource_of_init: no matching clocksources found
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Console: colour dummy device 80x30
console [hvc0] enabled
Calibrating delay loop...

[-- Attachment #3: r8a7790-lager-xen.dts --]
[-- Type: application/octet-stream, Size: 1794 bytes --]

/*
 * Device Tree Source for the Lager board
 *
 * Adding Xen4.6 configuration to boot some Linux as Dom0
 *
 */

#include "r8a7790-lager.dts"

/ {
	serial@e6e60000 {
		status = "ok";
	};
	
	chosen {

		stdout-path = &scif0;

		/* bootargs are present and used for native Linux without Xen, see
		 * http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt
		 */
		xen,xen-bootargs = "console=dtuart dom0_mem=1G";

		/* Dom0 kernel */
		xen,dom0-bootargs = "console=hvc0 earlyprintk=xen debug ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 ip=192.168.0.5:192.168.0.15:192.168.0.15:255.255.255.0:lager:eth0::: root=/dev/nfs rw nfsroot=192.168.0.15:/nfsroot rootdelay clk_ignore_unused";

		modules {
			#address-cells = <1>;
			#size-cells = <1>;

			module@0x72000000 {
				compatible = "multiboot,kernel", "multiboot,module";
				/* reg = <0x72000000 0x2fd158>; */
			};

			/* XSM Xen Security Policy */
			module@0x74000000 {
				compatible = "xen,xsm-policy", "multiboot,module";
				/* reg = <0x74000000 0x2559>; */
			};
		};
	};

	/* add required 'ranges;' to all PCI devices */
	pci0: pci@ee090000 {
		usb@0,1 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
		usb@0,2 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
	};
	pci2: pci@ee0d0000 {
		usb@0,1 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
		usb@0,2 {
			#address-cells = <3>;
			#size-cells = <2>;
			ranges;
		};
	};

	/* additional mapped memory areas accessed by Dom0 */
	reset@e6160000 {
		reg = <0 0xe6160000 0 0x20000>;
	};

	arm-generic-counter@e6080000 {
		reg = <0 0xe6080000 0 0x20000>;
	};

	inter-connect-ram1@e63c0000 {
		reg = <0 0xe63c0000 0 0x50000>;
	};

	sysc@e6180000 {
		reg = <0 0xe6180000 0 0x40000>;
	};
};

[-- Attachment #4: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: Dom0 kernel for Xen4.6 on R-Car H2 (LAGER)
  2015-10-22 15:07                   ` Ferger, Max
@ 2015-10-22 15:29                     ` Julien Grall
  0 siblings, 0 replies; 17+ messages in thread
From: Julien Grall @ 2015-10-22 15:29 UTC (permalink / raw)
  To: Ferger, Max, Ian Campbell, xen-devel
  Cc: Oleksandr Tyshchenko, Iurii Konovalenko

On 22/10/15 16:07, Ferger, Max wrote:
> Hello,

Hi,

> 2) Dom0 kernel is coming up and showing messages:
> 
>> From: Julien Grall [mailto:julien.grall@citrix.com]
>> Sent: Wednesday, October 21, 2015 8:02 PM
>>
>> To be sure, even the patch I attached on the previous mail doesn't help
>> you to get the console?
> 
> The patch works. But now it is obsolete, and reverted.
> 
> My mistake was how I tried to configure the kernel:
> Following the OMAP wiki [1], which I think is a little misleading,
> I appended the CONFIG_XEN* and friends to .config, and called 'make',
> leading to the CONFIG_XEN*-flags to be overwritten by defaults.
> Once configured via menuconfig, Dom0 showed messages all right.

Linux tends to remove the CONFIG_* if it's not able to turn on it's
dependencies.

I usually double check after a 'make oldconfig'.

>> If so, the simplest way to investigate requires the serial driver in Xen
>> to be functional (IIRC it's not the case right now). If you got it, you
>> can type CTRL-a tree times and access to the Xen console.
> 
> This great tool works now.

>> If you have Xen built with debug=y, from the log you sent it seems to be
>> the case, you can use the asm instruction "hvc" to get Xen printing
>> useful information:
>>     - hvc 0xffff will dump the state of the vCPU
>>     - hvc 0xfffd will print the program counter
> 
> Nice to know.  Couldn't find it on the wiki, though.

I documented them in a talk I gave [1] but never took the opportunity to
wikify it.

I will try to do it on the next Document Day.

> I'll update the LAGER board wiki [2] with my findings.

That would be useful, thank you!

Regards,

[1] http://www.slideshare.net/xen_com_mgr/bsdcan-2015-how-to-port-your-bsd

-- 
Julien Grall

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-10-22 15:29 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-15 14:17 Dom0 kernel for Xen4.6 on R-Car H2 (LAGER) Ferger, Max
2015-10-15 14:27 ` Ian Campbell
2015-10-19 12:09   ` Ferger, Max
2015-10-19 12:44     ` Julien Grall
2015-10-20  8:48       ` Ferger, Max
2015-10-20 10:05         ` Julien Grall
2015-10-20 10:47           ` Julien Grall
2015-10-20 11:41             ` Ferger, Max
2015-10-20 11:23       ` Ferger, Max
2015-10-20 21:44         ` Julien Grall
2015-10-21 16:05           ` Ferger, Max
2015-10-21 16:23             ` Julien Grall
2015-10-21 17:20               ` Ferger, Max
2015-10-21 18:01                 ` Julien Grall
2015-10-22 15:07                   ` Ferger, Max
2015-10-22 15:29                     ` Julien Grall
2015-10-22  8:48                 ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.