Re: How to L4Re on the S32G
qiang xu <[email protected]> Tue, 18 Feb 2025 18:02:32 +0800
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CACFR-a68WgZFg0+QQM6-B+auRz19ETpqGSTsfUPVz4HJakH3NQ@mail.gmail.com> |
Hi Adam,
Thank you very much for your help. I selected the option "*Target
configuration -> Use PSCI[]**" *in the Fiasco compile options and
recompiled. Then, in the L4 compile options, I selected *"uvmm virtual
machine monitor -> PSCI interface support[]*" and recompiled L4. After
running it in boot, I encountered the overlap issue again. Later, I
adjusted the `DEFAULT_RELOC_arm64`and resolved it. However, when I started,
I encountered many VMM-related errors, such as:
- warning: could not register control interface at cap 'platform_ctl'
- | HINT: Found console=ttyAMA on the command line but no
arm,pl011/sbsa-uart device in device tree!
- VMM[ioproxy]: No corresponding IO resource for 'pmu' IRQ 23
- VMM[ioproxy]: No corresponding IO resource for 'shm@c0000000'.reg[0]
(0xc0000000-0xc03fffff)
The detailed printout is as follows.
=> fatload mmc 0 0x8000e000 l4re_uvmm-io.uimage
46235855 bytes read in 1971 ms (22.4 MiB/s)
=> fatload mmc 0 0x80000000 s32g2xxa-evb.dtb
53414 bytes read in 17 ms (3 MiB/s)
=> bootm 0x8000e000 - 0x80000000
## Booting kernel from Legacy Image at 8000e000 ...
Image Name: L4 Image #25
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 46235791 Bytes = 44.1 MiB
Load Address: 91000000
Entry Point: 91000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80000000
Booting using the fdt blob at 0x80000000
Loading Kernel Image
Using Device Tree in place at 0000000080000000, end 00000000800100a5
fixup: pfe0 set to 00:01:be:be:ef:11
fixup: pfe1 set to 00:01:be:be:ef:22
fixup: pfe2 set to 00:01:be:be:ef:33
Starting kernel ...
L4 Bootstrapper
Build: #25 Tue Feb 18 17:29:53 CST 2025, 11.4.0
RAM: 0000000080000000 - 00000000ffffffff: 2097152kB
RAM: 0000000880000000 - 00000008dfffffff: 1572864kB
Total RAM: 3584MB
Scanning fiasco
Scanning sigma0
Scanning moe
Moving up to 15 modules behind 81300000
moving module 00 { 9101f000-910e5fe7 } -> { 8600a000-860d0fe7 } [815080]
moving module 01 { 910e6000-910ebcd7 } -> { 860d1000-860d6cd7 } [23768]
moving module 02 { 910ec000-9111e6cf } -> { 860d7000-861096cf } [206544]
moving module 03 { 9111f000-9121258f } -> { 8610a000-861fd58f } [996752]
moving module 04 { 91213000-9122e537 } -> { 861fe000-86219537 } [111928]
moving module 05 { 9122f000-912b7aa7 } -> { 8621a000-862a2aa7 } [559784]
moving module 06 { 912b8000-912c50a5 } -> { 862a3000-862b00a5 } [53414]
moving module 07 { 912c6000-92bd9a52 } -> { 862b1000-87bc4a52 } [26294867]
moving module 08 { 92bda000-92bdb218 } -> { 87bc5000-87bc6218 } [4633]
moving module 09 { 92bdc000-92bdc299 } -> { 87bc7000-87bc7299 } [666]
moving module 10 { 92bdd000-939bd807 } -> { 87bc8000-889a8807 } [14551048]
moving module 11 { 939be000-93a03faf } -> { 889a9000-889eefaf } [286640]
moving module 12 { 93a04000-93c16a87 } -> { 889ef000-88c01a87 } [2173576]
moving module 13 { 93c17000-93c171ff } -> { 88c02000-88c021ff } [512]
moving module 14 { 93c18000-93c1808e } -> { 88c03000-88c0308e } [143]
Loading fiasco
found node 0 kernel info page (via ELF) at 0x80203000
Loading sigma0
Loading moe
found node 0 kernel options (via ELF) at 0x80204000
Sigma0 config node: 0 ip:860003f4
Roottask config node: 0 ip:80841904
Regions of list 'regions'
[ 34000000, 3407ffff] { 80000} Arch pfebufs@34000000
[ 34080000, 3409ffff] { 20000} Arch pfebufs@34080000
[ 80000000, 8000dfff] { e000} Root dtb
[ 8000e000, 8000efff] { 1000} Root mbi_rt
[ 80201000, 80205847] { 4848} Kern fiasco
[ 80400000, 8061dfff] { 21e000} Kern fiasco
[ 80840000, 8087d817] { 3d818} Root moe
[ 83200000, 835dffff] { 3e0000} Arch pfebufs@83200000
[ 835e0000, 835fffff] { 20000} Arch pfebufs@835e0000
[ 84000000, 843fffff] { 400000} Arch shm@84000000
[ 85000000, 85000fff] { 1000} Arch ddr@85000000
[ 86000000, 8600946f] { 9470} Sigma0 sigma0
[ 8610a000, 88c0308e] { 2af908f} Root Module
[ 91000158, 91000187] { 30} Root cpu_boot
[ 9101e1d0, 9101ecda] { b0b} Boot modinfo
[ c0000000, c03fffff] { 400000} Arch shm@c0000000
[ c0400000, c07fffff] { 400000} Arch shm@c0400000
[ d0000000, d000007f] { 80} Arch shm@d0000000
[ d0000080, d00000ff] { 80} Arch shm@d0000080
[ ff800000, ff9fffff] { 200000} Arch atf@ff800000
Starting kernel fiasco at 80201190
Hello from Startup::stage2
Reserved 216 MiB as kernel memory.
Number of IRQs available at this GIC: 576
CPU0: GIC Redistributor at ffff00480000 for 0x0
Detecting PSCI ...
Detected PSCI v1.1
PSCI: CPU_SUSPEND format original v0.2, does not support OS-initiated mode
PSCI: TOS: Not present or not required.
FPU: Initialize
ARM generic timer: freq=5000000 interval=5000 cnt=723121421
SERIAL ESC: allocated IRQ 114 for serial uart
Not using serial hack in slow timer handler.
Welcome to the L4Re Microkernel!
L4Re Microkernel on arm-64
Rev: unknown compiled with gcc 11.4.0 for NXP S32G []
Build: #12 Tue Feb 18 14:17:13 CST 2025
Cache config: ON
CPU1: GIC Redistributor at ffff004a0000 for 0x1
CPU1: ID_PFR[01]: 01002222 00000000 ID_[DA]FR0: 10305106 00000000
ID_MMFR[04]: 00001122 00000000 00000000 00000000
CPU2: GIC Redistributor at ffff004c0000 for 0x100
CPU2: ID_PFR[01]: 01002222 00000000 ID_[DA]FR0: 10305106 00000000
ID_MMFR[04]: 00001122 00000000 00000000 00000000
CPU3: GIC Redistributor at ffff004e0000 for 0x101
Calibrating timer loop...
CPU3: ID_PFR[01]: 01002222 00000000 ID_[DA]FR0: 10305106 00000000
ID_MMFR[04]: 00001122 00000000 00000000 00000000
Timer calibration done.
MDB: use page size: 30
MDB: use page size: 21
MDB: use page size: 12
SIGMA0: Hello!
KIP @ 80203000
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:---:80000000;8000dfff]
[4:RWX:8000e000;8000efff]
[0:RWX:8000f000;80200fff]
[0:RWX:80206000;803fffff]
[0:RWX:8061e000;8083ffff]
[4:RWX:80840000;8087dfff]
[0:RWX:8087e000;831fffff]
[0:RWX:83600000;83ffffff]
[0:RWX:84400000;84ffffff]
[0:RWX:85001000;85ffffff]
[0:RWX:8600a000;86109fff]
[4:RWX:8610a000;88c03fff]
[0:RWX:88c04000;90ffffff]
[4:---:91000000;91000fff]
[0:RWX:91001000;bfffffff]
[0:RWX:c0800000;cfffffff]
[0:RWX:d0001000;ff7fffff]
[0:RWX:ffa00000;ffffffff]
[0:RWX:880000000;8d27fffff]
IOMEM:----------------------
[0:RW-:0;7fffffff]
[0:RW-:83200000;835fffff]
[0:RW-:84000000;843fffff]
[0:RW-:85000000;85000fff]
[0:RW-:c0000000;c07fffff]
[0:RW-:d0000000;d0000fff]
[0:RW-:ff800000;ff9fffff]
[0:RW-:100000000;87fffffff]
[0:RW-:8e0000000;ffffffffffffffff]
MOE: Hello world
MOE: found 3383848 KByte free memory
MOE: found RAM from 8000f000 to 8d2800000
MOE: allocated 34088 KByte for the page array @0x8087e000
MOE: virtual user address space [0-ffffffffff]
MOE: cmdline: moe rom/uvmm-io.ned
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
ROMFS: [8610a000-861fd590] [C:107000] uvmm
ROMFS: [861fe000-86219538] [C:109000] l4re
ROMFS: [8621a000-862a2aa8] [C:10b000] ned
ROMFS: [862a3000-862b00a6] [C:10d000] s32g2xxa-evb.dtb
ROMFS: [862b1000-87bc4a53] [C:10f000]
fsl-image-dom0less-s32g274aevb.cpio.gz
ROMFS: [87bc5000-87bc6219] [C:111000] vmm.lua
ROMFS: [87bc7000-87bc729a] [C:113000] uvmm-io.ned
ROMFS: [87bc8000-889a8808] [C:115000] Image
ROMFS: [889a9000-889eefb0] [C:117000] cons
ROMFS: [889ef000-88c01a88] [C:119000] io
ROMFS: [88c02000-88c02200] [C:11b000] io.cfg
ROMFS: [88c03000-88c0308f] [C:11d000] vm_hw.vbus
ROMFS: [80000000-8000e000] [C:11f000] .fdt
MOE: Starting: rom/ned rom/uvmm-io.ned
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/uvmm-io.ned'
Console Server
cons>
Created vcon channel: io [420010]
cons>
io | Io service
io | Verboseness level: 7
io | unused physical memory space:
Created vcon channel: vm1 [421010]
cons>
io | [00000000000000-00000033ffffff]
Created vcon channel: mon1 [422010]
cons>
io | [000000340a0000-0000007fffffff]
io | [00000100000000-0000087fffffff]
io | [000008e0000000-ffffffffffffffff]
io | no 'iommu' capability found, using CPU-phys for DMA
io | Loading: config 'rom/io.cfg'
io | Loading: config 'rom/vm_hw.vbus'
io | Add IRQ resources to vbus: IRQ [00000000000007-00000000000007
1] level high (align=0 flags=3000)
io | Add IRQ resources to vbus: IRQ [00000000000052-00000000000052
1] raising edge (align=0 flags=10)
io | vm_hw: [N12_GLOBAL__N_112Virtual_sbusE]
io | Resources: ==== start ====
io | Resources: ===== end =====
io | L4ICU: [N2Vi6Sw_icuE]
io | Resources: ==== start ====
io | Resources: ===== end =====
io | PMU: [N2Vi9Proxy_devE]
io | Resources: ==== start ====
io | IRQ [00000000000007-00000000000007 1] level high (align=0
flags=300001)
io | Resources: ===== end =====
io | UART0: [N2Vi9Proxy_devE]
io | Resources: ==== start ====
io | IRQ [00000000000052-00000000000052 1] raising edge
(align=0 flags=100001)
io | IOMEM [000000401c8000-000000401cb000 3001] 32-bit non-pref
(align=3000 flags=300002)
io | Resources: ===== end =====
io | Real Hardware -----------------------------------
io | System Bus:
io | Resources: ==== start ====
io | DMADOM [00000000000000-00000000000000 1] (align=0 flags=6)
io | Resources: ===== end =====
io | pmu:
io | compatible= { "arm,armv8-pmuv3" }
io | Clients: ===== start ====
io | PMU: [N2Vi9Proxy_devE]
io | Clients: ===== end ====
io | Resources: ==== start ====
io | IRQ [00000000000007-00000000000007 1] level high (align=0
flags=300001)
io | Resources: ===== end =====
io | uart0:
io | compatible= { "arm,pl011" }
io | Clients: ===== start ====
io | UART0: [N2Vi9Proxy_devE]
io | Clients: ===== end ====
io | Resources: ==== start ====
io | IRQ [00000000000052-00000000000052 1] raising edge
(align=0 flags=100001)
io | IOMEM [000000401c8000-000000401cb000 3001] 32-bit non-pref
(align=3000 flags=300002)
io | Resources: ===== end =====
io | warning: could not register control interface at cap
'platform_ctl'
io | Ready. Waiting for request.
io | vbus vm_hw does not support a global DMA domain
vm1 | VMM[main]: Hello out there.
vm1 | VMM[ram]: No memory nodes found, setting up default region
vm1 | Command line: console=ttyAMA0 earlyprintk=1 rdinit=/init
vm1 | HINT: Found console=ttyAMA on the command line but no
arm,pl011/sbsa-uart device in device tree!
vm1 | HINT: VM-Output likely not to work!
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pmu' IRQ 23.
vm1 | VMM[vm]: Device creation for pmu failed. Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'shm@c0000000'.reg[0]
(0xc0000000-0xc03fffff).
vm1 | VMM[vm]: Device creation for shm@c0000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'shm@c0400000'.reg[0]
(0xc0400000-0xc07fffff).
vm1 | VMM[vm]: Device creation for shm@c0400000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'shm@d0000000'.reg[0]
(0xd0000000-0xd000007f).
vm1 | VMM[vm]: Device creation for shm@d0000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'shm@d0000080'.reg[0]
(0xd0000080-0xd00000ff).
vm1 | VMM[vm]: Device creation for shm@d0000080 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'shm@84000000'.reg[0]
(0x84000000-0x843fffff).
vm1 | VMM[vm]: Device creation for shm@84000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'pfebufs@34000000'.reg[0]
(0x34000000-0x3407ffff).
vm1 | VMM[vm]: Device creation for pfebufs@34000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'pfebufs@34080000'.reg[0]
(0x34080000-0x3409ffff).
vm1 | VMM[vm]: Device creation for pfebufs@34080000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'pfebufs@83200000'.reg[0]
(0x83200000-0x835dffff).
vm1 | VMM[vm]: Device creation for pfebufs@83200000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'pfebufs@835e0000'.reg[0]
(0x835e0000-0x835fffff).
vm1 | VMM[vm]: Device creation for pfebufs@835e0000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'ddr@85000000'.reg[0]
(0x85000000-0x85000fff).
vm1 | VMM[vm]: Device creation for ddr@85000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'scmi' IRQ 332.
vm1 | VMM[vm]: Device creation for scmi failed. Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'rtc@40060000'.reg[0]
(0x40060000-0x40060fff).
vm1 | VMM[vm]: Device creation for rtc@40060000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'syscon@4007c000'.reg[0]
(0x4007c000-0x4007c0ff).
vm1 | VMM[vm]: Device creation for syscon@4007c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'ddr_gpr@4007c600'.reg[0]
(0x4007c600-0x4007c61f).
vm1 | VMM[vm]: Device creation for ddr_gpr@4007c600 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'nvram@4009c000'.reg[0]
(0x4009c000-0x4009c00f).
vm1 | VMM[vm]: Device creation for nvram@4009c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'siul2-pinctrl@4009c240'.reg[0] (0x4009c240-0x4009c3.
vm1 | VMM[vm]: Device creation for siul2-pinctrl@4009c240 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'siul2-gpio@4009d700'.reg[0] (0x4009d700-0x4009d70f).
vm1 | VMM[vm]: Device creation for siul2-gpio@4009d700 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'nvram@44010000'.reg[0]
(0x44010000-0x4401000f).
vm1 | VMM[vm]: Device creation for nvram@44010000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'ocotp@400a4000'.reg[0]
(0x400a4000-0x400a43ff).
vm1 | VMM[vm]: Device creation for ocotp@400a4000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'tmu@400a8000'.reg[0]
(0x400a8000-0x400aafff).
vm1 | VMM[vm]: Device creation for tmu@400a8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'watchdog@4010c000'.reg[0]
(0x4010c000-0x4010cfff).
vm1 | VMM[vm]: Device creation for watchdog@4010c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'stm@4011c000'.reg[0]
(0x4011c000-0x4011efff).
vm1 | VMM[vm]: Device creation for stm@4011c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'stm@40120000'.reg[0]
(0x40120000-0x40122fff).
vm1 | VMM[vm]: Device creation for stm@40120000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'spi@40134000'.reg[0]
(0x0-0x1fffffff).
vm1 | VMM[vm]: Device creation for spi@40134000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'dma-controller@40144000'.reg[0] (0x40144000-0x40167.
vm1 | VMM[vm]: Device creation for dma-controller@40144000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pit@40188000'.reg[0]
(0x40188000-0x4018afff).
vm1 | VMM[vm]: Device creation for pit@40188000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mscm@40198000'.reg[0]
(0x40198000-0x40198fff).
vm1 | VMM[vm]: Device creation for mscm@40198000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'flexcan@401b4000'.reg[0]
(0x401b4000-0x401bdfff).
vm1 | VMM[vm]: Device creation for flexcan@401b4000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'serial@401c8000'
IRQ 114.
vm1 | VMM[vm]: Device creation for serial@401c8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'serial@401cc000'.reg[0]
(0x401cc000-0x401cefff).
vm1 | VMM[vm]: Device creation for serial@401cc000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'spi@401d8000'.reg[0]
(0x401d8000-0x401d8fff).
vm1 | VMM[vm]: Device creation for spi@401d8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'i2c@401e4000'.reg[0]
(0x401e4000-0x401e4fff).
vm1 | VMM[vm]: Device creation for i2c@401e4000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'i2c@401e8000'.reg[0]
(0x401e8000-0x401e8fff).
vm1 | VMM[vm]: Device creation for i2c@401e8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'i2c@401ec000'.reg[0]
(0x401ec000-0x401ecfff).
vm1 | VMM[vm]: Device creation for i2c@401ec000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pwm@401f4000'.reg[0]
(0x401f4000-0x401f4fff).
vm1 | VMM[vm]: Device creation for pwm@401f4000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'adc@401f8000'.reg[0]
(0x401f8000-0x401f8fff).
vm1 | VMM[vm]: Device creation for adc@401f8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'watchdog@40200000'.reg[0]
(0x40200000-0x40200fff).
vm1 | VMM[vm]: Device creation for watchdog@40200000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'watchdog@40204000'.reg[0]
(0x40204000-0x40204fff).
vm1 | VMM[vm]: Device creation for watchdog@40204000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'watchdog@40208000'.reg[0]
(0x40208000-0x40208fff).
vm1 | VMM[vm]: Device creation for watchdog@40208000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mu0b@40210000'.reg[0]
(0x40210000-0x40210fff).
vm1 | VMM[vm]: Device creation for mu0b@40210000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mu1b@40211000'.reg[0]
(0x40211000-0x40211fff).
vm1 | VMM[vm]: Device creation for mu1b@40211000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mu2b@40212000'.reg[0]
(0x40212000-0x40212fff).
vm1 | VMM[vm]: Device creation for mu2b@40212000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mu3b@40213000'.reg[0]
(0x40213000-0x40213fff).
vm1 | VMM[vm]: Device creation for mu3b@40213000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'stm@40228000'.reg[0]
(0x40228000-0x4022afff).
vm1 | VMM[vm]: Device creation for stm@40228000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'dma-controller@40244000'.reg[0] (0x40244000-0x40267.
vm1 | VMM[vm]: Device creation for dma-controller@40244000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pit@40288000'.reg[0]
(0x40288000-0x4028afff).
vm1 | VMM[vm]: Device creation for pit@40288000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'flexcan@402a8000'.reg[0]
(0x402a8000-0x402b1fff).
vm1 | VMM[vm]: Device creation for flexcan@402a8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'flexcan@402b2000'.reg[0]
(0x402b2000-0x402bbfff).
vm1 | VMM[vm]: Device creation for flexcan@402b2000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'serial@402bc000'.reg[0]
(0x402bc000-0x402befff).
vm1 | VMM[vm]: Device creation for serial@402bc000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'spi@402d0000'.reg[0]
(0x402d0000-0x402d0fff).
vm1 | VMM[vm]: Device creation for spi@402d0000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'i2c@402dc000'.reg[0]
(0x402dc000-0x402dcfff).
vm1 | VMM[vm]: Device creation for i2c@402dc000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pwm@402e4000'.reg[0]
(0x402e4000-0x402e4fff).
vm1 | VMM[vm]: Device creation for pwm@402e4000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'adc@402e8000'.reg[0]
(0x402e8000-0x402e8fff).
vm1 | VMM[vm]: Device creation for adc@402e8000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'mmc@402f0000'.reg[0]
(0x402f0000-0x402f0fff).
vm1 | VMM[vm]: Device creation for mmc@402f0000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'fccu@4030c000'.reg[0]
(0x4030c000-0x4030efff).
vm1 | VMM[vm]: Device creation for fccu@4030c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'ethernet@4033c000'.reg[0]
(0x4033c000-0x4033dfff).
vm1 | VMM[vm]: Device creation for ethernet@4033c000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'ddr_errata@403c0000'.reg[0] (0x403c0000-0x403c00ff).
vm1 | VMM[vm]: Device creation for ddr_errata@403c0000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'ddr-perf@403e0000'.reg[0]
(0x403e0000-0x403e00ff).
vm1 | VMM[vm]: Device creation for ddr-perf@403e0000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pcie@40400000'.reg[0]
(0x40400000-0x40400fff).
vm1 | VMM[vm]: Device creation for pcie@40400000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'serdes@40480000'.reg[0]
(0x40480000-0x40480107).
vm1 | VMM[vm]: Device creation for serdes@40480000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pcie@44100000'.reg[0]
(0x44100000-0x44100fff).
vm1 | VMM[vm]: Device creation for pcie@44100000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'serdes@44180000'.reg[0]
(0x44180000-0x44180107).
vm1 | VMM[vm]: Device creation for serdes@44180000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'pfe@46000000'.reg[0]
(0x46000000-0x46ffffff).
vm1 | VMM[vm]: Device creation for pfe@46000000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'llce_dte_sram@43000000'.reg[0] (0x43000000-0x43001f.
vm1 | VMM[vm]: Device creation for llce_dte_sram@43000000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'llce_ppe_rx_sram@43100000'.reg[0] (0x43100000-0x431.
vm1 | VMM[vm]: Device creation for llce_ppe_rx_sram@43100000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'llce_ppe_tx_sram@43200000'.reg[0] (0x43200000-0x432.
vm1 | VMM[vm]: Device creation for llce_ppe_tx_sram@43200000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'llce_frpe_sram@43300000'.reg[0] (0x43300000-0x4330f.
vm1 | VMM[vm]: Device creation for llce_frpe_sram@43300000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'llce_shmem@43800000'.reg[0] (0x43800000-0x4384ffff).
vm1 | VMM[vm]: Device creation for llce_shmem@43800000 failed.
Disabling device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'llce@43a00000'.reg[0]
(0x43ff8000-0x43ffbfff).
vm1 | VMM[vm]: Device creation for llce@43a00000 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for
'usbmisc@44064200'.reg[0]
(0x44064200-0x440643ff).
vm1 | VMM[vm]: Device creation for usbmisc@44064200 failed. Disabling
device.
vm1 | VMM[ioproxy]: No corresponding IO resource for 'usb@44064000'.reg[0]
(0x44064000-0x440641ff).
vm1 | VMM[vm]: Device creation for usb@44064000 failed. Disabling
device.
vm1 | VMM[ram]: Cleaning caches for device tree [9ff2000-9fff431]
([90df2000])
io | new iomem region: p=00000040000000 v=00000000400000 s=400000
(bmb=0x39bd0)
io | map mem: p=000000401c8000 v=000000005c8000 s=4000 uncached:
done(0)
vm1 | VMM[]: Starting Cpu0 @ 0x88e00000 in 64Bit mode (handler @
1078e08, stack: 801ffba0, task: 420000, )
vm1 | ffffffc0080202c4: mrs r0, S3_1_C11_C0_2 (hsr=62346c01)
vm1 | VMM[]: Starting Cpu1 @ 0x896e7254 in 64Bit mode (handler @
1078e08, stack: 402f20, task: 420000, mp)
vm1 | ffffffc0080202c4: mrs r0, S3_1_C11_C0_2 (hsr=62346c01)
vm1 | VMM[]: Starting Cpu2 @ 0x896e7254 in 64Bit mode (handler @
1078e08, stack: 601f20, task: 420000, mp)
vm1 | ffffffc0080202c4: mrs r0, S3_1_C11_C0_2 (hsr=62346c01)
vm1 | VMM[]: Starting Cpu3 @ 0x896e7254 in 64Bit mode (handler @
1078e08, stack: 800f20, task: 420000, mp)
vm1 | ffffffc0080202c4: mrs r0, S3_1_C11_C0_2 (hsr=62346c01)
I suspect these errors might be related to the vbus IO resource
registration. So, I followed the wiki/HwPassThrough
<https://github.com/kernkonzept/manifest/wiki/HwPassThrough> method to
register two devices(uart,pmu), but the errors still persist. I am not sure
what the cause is, so I would appreciate your help in analyzing it. It
seems like it is very close to running successfully!
The content of the IO-related files is as follows:
*uvmm-io.ned:*
*`*package.path = "rom/?.lua";
local L4 = require "L4";
local vmm = require "vmm";
vmm.loader.log_fab = L4.default_loader:new_channel();
local function vm(id, vbus)
vmm.start_vm({
id = id,
mem = 128,
rd = "rom/fsl-image-dom0less-s32g274aevb.cpio.gz",
fdt = "rom/s32g2xxa-evb.dtb",
kernel = "rom/Image",
vbus = vbus,
bootargs = "console=ttyAMA0 earlyprintk=1 rdinit=/init",
ext_args = { "-i" }
});
end
L4.default_loader:start(
{
log = L4.Env.log,
caps = { cons = vmm.loader.log_fab:svr() }
}, "rom/cons -a");
local io_busses = {
vm_hw = 1,
}
vmm.start_io(io_busses, "rom/io.cfg -vvvvvv");
vm(1, io_busses.vm_hw);*`*
*vm_hw.vbus:*
Io.add_vbusses
{
vm_hw = Io.Vi.System_bus(function()
UART0 = wrap(Io.system_bus().uart0); //
PMU = wrap(Io.system_bus().pmu);
end);
}
*io.cfg:*
local Res = Io.Res
local Hw = Io.Hw
local add_children = Io.Dt.add_children
add_children(Io.system_bus(), function()
uart0 = Hw.Device(function()
compatible = {"arm,pl011"}; // It should be compatible =
*"nxp,s32cc-linflexuart",
"fsl,s32v234-linflexuart"**, because I saw the hint: "HINT: Found
console=ttyAMA on the command line but no arm,pl011/sbsa-uart device in
device tree!". So, I changed it to arm,pl011, but the issue was not
resolved. This could be the problem. Do I need to write a driver for
s32v234-linflexuart?*
Resource.reg0 = Res.mmio(0x401c8000, 0x401cb000);
Resource.irq0 = Res.irq(32 + 50, Io.Resource.Irq_type_raising_edge);
end)
pmu = Hw.Device(function()
compatible = { "arm,armv8-pmuv3"};
Resource.irq0 = Res.irq(7, Io.Resource.Irq_type_level_high);
end)
end)
Regards,
Qiang
On Mon, Feb 17, 2025 at 10:51 PM Adam Lackorzynski <[email protected]> wrote:
> Hi Qiang,
>
> the location where it stops could be the one when it is tried to enable
> cores. Do you have PSCI enabled in the microkernel configuration? Please
> enable it if not.
>
>
> Adam
>
> On Mon Feb 17, 2025 at 10:03:53 +0800, qiang xu wrote:
> > Hi Adam,
> >
> > Sorry, I didn't explain clearly about jdb. I entered jdb after pressing
> > 'esc'.
> >
> > Regards,
> > Qiang
> >
> > On Sat, Feb 15, 2025 at 1:31 AM Adam Lackorzynski <[email protected]> wrote:
> >
> > > Hi Qiang,
> > >
> > > On Wed Feb 12, 2025 at 11:55:30 +0800, qiang xu wrote:
> > > > Hi Adam,
> > > >
> > > > Thank you for your professional insights. Following your suggestion,
> I
> > > > added "DEFAULT_RELOC_arm64 = 0x0ec00000" to the Makeconf.local file
> in
> > > the
> > > > root directory and then rebuilt the system. Upon checking the "Start
> > > > address: 0x86000000", I found that after rebuilding with 0x0ec00000,
> the
> > > > start address became 0x8ee00000. So, I changed DEFAULT_RELOC_arm64 to
> > > > 0x05e00000, and after rebuilding, the start address was 0x86000000,
> which
> > > > meets the requirement.
> > >
> > > Thanks for the fix, of course it was 0x05e00000.
> > >
> > > That's now interesting what is happening. Did it go into jdb itself or
> > > did you press ESC to get to the jdb? If it was itself, was there any
> > > message before that telling a reason maybe?
> > >
> > >
> > > Adam
> > >
> > > > The contents of Makeconf.local are as follows:
> > > >
> > > > `/l4re-snapshot-24.08.0/obj/l4/builddir$ cat Makeconf.local
> > > > CROSS_COMPILE:=aarch64-linux-gnu-
> > > > DEFAULT_RELOC_arm64 = 0x05e00000`
> > > >
> > > > Build information:
> > > > `/l4re-snapshot-24.08.0/obj/l4/builddir$ make uimage E=uvmm-2vm
> PT=s32g
> > > > make[1]: Entering directory
> > > > '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'
> > > > [bootstrap] ... Building Dependencies
> > > > [bootstrap - nofpu] ... Building Dependencies
> > > > Building entry "uvmm-2vm".
> > > > Merging images:
> > > > mod00:
> > > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/fiasco/builddir/fiasco
> > > > [796kB]
> > > > mod01:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/sigma0
> > > > [24kB]
> > > > mod02:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/moe
> > > > [202kB]
> > > > mod03:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/uvmm
> > > > [974kB]
> > > > mod04:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/l4re
> > > > [110kB]
> > > > mod05:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/ned
> > > > [547kB]
> > > > mod06:
> > > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/s32g2xxa-evb.dtb
> > > > [53kB]
> > > > mod07:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/fsl-image-dom0less-s32g274aevb.cpio.gz
> > > > [25679kB]
> > > > mod08:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4/pkg/uvmm/configs/vmm.lua
> > > > [5kB]
> > > > mod09:
> > > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/uvmm-2vm.ned
> > > > [1kB]
> > > > mod10: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/Image
> > > > [14211kB]
> > > > mod11:
> > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/cons
> > > > [280kB]
> > > > [bootstrap - nofpu] ... Generating bootstrap.ld
> > > > [bootstrap - nofpu] ... Compiling startup.o
> > > > [bootstrap - nofpu] ==> Linking l4re.elf
> > > > [bootstrap] ==> Image post-processing l4re.elf
> > > > [bootstrap - nofpu] ==> l4re.elf built
> > > > ==> Installing l4re.elf in image directory
> > > > ==> Installing l4re_uvmm-2vm in image directory
> > > > ==> Installing l4re_uvmm-2vm.elf in image directory
> > > > [bootstrap - nofpu] ... Generating l4re.raw
> > > > ==> Installing l4re.raw in image directory
> > > > ==> Installing l4re_uvmm-2vm.raw in image directory
> > > > [bootstrap - nofpu] ... Generating l4re.uimage
> > > > Image Name: L4 Image #14
> > > > Created: Wed Feb 12 10:50:58 2025
> > > > Image Type: AArch64 Linux Kernel Image (uncompressed)
> > > > Data Size: 44056496 Bytes = 43023.92 KiB = 42.02 MiB
> > > > Load Address: 86000000
> > > > Entry Point: 86000000
> > > > ==> Installing l4re.uimage in image directory
> > > > ==> Installing l4re_uvmm-2vm.uimage in image directory
> > > > Image size(s) in bytes:
> > > > l4re_uvmm-2vm.elf: 44692328
> > > > l4re.raw: 44056496
> > > > l4re.uimage: 44056560
> > > > Start address:
> > > > --> Build-Nr: 14
> > > > [bootstrap - nofpu] ==> Installing l4re.elf to local build-tree
> > > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm to local
> build-tree
> > > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm.elf to local
> > > build-tree
> > > > make[1]: Leaving directory
> > > > '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'
> > > >
> > > > `
> > > >
> > > > I then placed it back onto the SD card to boot. Although this solved
> the
> > > > previous overlap issue, it seems to hang and does not boot properly.
> I am
> > > > unsure if this is related to the message:
> > > > `Rev: unknown compiled with gcc 11.4.0 for NXP S32G`
> > > >
> > > > because my Linux kernel image was built on another computer using the
> > > Yocto
> > > > toolchain provided by NXP for S32G, while this machine
> > > > uses`CROSS_COMPILE:=aarch64-linux-gnu-`to compile Fiasco and the L4
> > > uImage.
> > > >
> > > > Boot log:
> > > >
> > > > `fatload mmc 0 0x8000e000 l4re_uvmm-2vm.uimage
> > > > 44056560 bytes read in 1871 ms (22.5 MiB/s)
> > > > => fatload mmc 0 0x80000000 s32g2xxa-evb.dtb
> > > > 53414 bytes read in 17 ms (3 MiB/s)
> > > > => boot
> > > > boot bootd bootefi bootelf booti bootm bootp bootvx
> > > > => bootm 0x8000e000 - 0x80000000
> > > > ## Booting kernel from Legacy Image at 8000e000 ...
> > > > Image Name: L4 Image #14
> > > > Image Type: AArch64 Linux Kernel Image (uncompressed)
> > > > Data Size: 44056496 Bytes = 42 MiB
> > > > Load Address: 86000000
> > > > Entry Point: 86000000
> > > > Verifying Checksum ... OK
> > > > ## Flattened Device Tree blob at 80000000
> > > > Booting using the fdt blob at 0x80000000
> > > > Loading Kernel Image
> > > > Using Device Tree in place at 0000000080000000, end
> 00000000800100a5
> > > > fixup: pfe0 set to 00:01:be:be:ef:11
> > > > fixup: pfe1 set to 00:01:be:be:ef:22
> > > > fixup: pfe2 set to 00:01:be:be:ef:33
> > > >
> > > > Starting kernel ...
> > > >
> > > > L4 Bootstrapper
> > > > Build: #14 Wed Feb 12 10:50:58 CST 2025, 11.4.0
> > > > ...
> > > > Cache config: ON // Stuck here, no further execution.
> > > > `
> > > >
> > > > I noticed that JDB had started, so I entered the t command and got
> the
> > > > following output:
> > > >
> > > > `jdb: t
> > > > thread : 6 <0xffff8d5c0000> CPU: 0:0 prio: 00
> > > > state : 001 ready
> > > > wait for: --- polling: rcv descr:
> > > > timeout :
> > > > cpu time: 0 timeslice: 10000 us
> > > > pager : [C: 0] task : kernel
> > > > exc-hndl: [C: 0] UTCB : 00000000/00000000
> > > > vCPU : ---
> > > > vCPU : ---
> > > >
> > > > Regs (before debug entry from kernel mode): brk #0x0
> > > > x0 0000ffff40286930 0000000000000000 ldp x19, x30,
> [sp],
> > > #0x10
> > > > x2 0000000000000014 0000ffff402801e0
> > > > x4 0000ffff40286ab8 0000000000000000 0000000000000088
> 0000000000000014
> > > > x8 0000000000000040 0000000000000014 0000ffff001c8000
> 0000000000000014
> > > > x12 0000ffff4022c010 0000ffff4022bfd0 0000ffff4022bfd0
> 0000000000000000
> > > > x16 0000ffff001c8000 0000000000000010 0000000000000010
> 0000ffff4023ef70
> > > > psr=00000000600003c9 tpidr: urw=0000000000000000 uro=0000000000000000
> > > > pc=0000ffff4022ba98 ksp=0000ffff8d5c1d40 x30=0000ffff4022ba8c
> > > > 1c00 0000000000000000 0000ffff40280980 0000000000000000
> > > 0000ffff40286930
> > > > 1c20 0000000000000000 0000000000000014 0000ffff402801e0
> > > 0000ffff40286ab8
> > > > 1c40 0000000000000000 0000000000000088 0000000000000014
> > > 0000000000000040
> > > >
> > > > 1c60 0000000000000014 0000ffff001c8000 0000000000000014
> > > > 0000ffff4022c010`
> > > >
> > > > Could you please help analyze this issue? Many thanks!
> > > >
> > > > Regards,
> > > > Qiang
> > > >
> > > > On Tue, Feb 11, 2025 at 8:43 PM Adam Lackorzynski <
> > > [email protected]>
> > > > wrote:
> > > >
> > > > > Hi Qiang,
> > > > >
> > > > > looks to me that bootstrap image to load is just too big as it
> > > interferes
> > > > > with the reserved PFE areas of the platform. It seems unfortunate
> that
> > > > > u-boot allows this to be loaded and that those areas are there at
> those
> > > > > locations.
> > > > >
> > > > > Anyway, I would recommend to change the loading address of
> bootstrap.
> > > > > Please do this by creating a file Makeconf.local in the root
> directory
> > > > > of your build-tree
> > > > > (/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir)
> with
> > > > > the content:
> > > > > DEFAULT_RELOC_arm64 = 0x0ec00000
> > > > >
> > > > > Then build the image again. Please check the output as it needs to
> > > state
> > > > > "Start address: 0x86000000"
> > > > >
> > > > >
> > > > > Adam
> > > > >
> > > > > On Mon Feb 10, 2025 at 17:25:22 +0800, qiang xu wrote:
> > > > > > Hi Adam,
> > > > > >
> > > > > > 1. I followed your suggestion and changed *"kernel
> fiasco.debug
> > > > > > -serial_esc"* to *"kernel fiasco -serial_esc"*.
> > > > > > 2. The error *"DT: FDT sanity check failed: FDT_ERR_BADMAGIC
> (-9)
> > > > > Total
> > > > > > RAM: 0MB"* disappeared after reloading the device tree (dtb).
> > > > > > 3. Below is the boot command I used.
> > > > > >
> > > > > > `=> fatload mmc 0 0x80000000 s32g2xxa-evb.dtb
> > > > > > 53414 bytes read in 17 ms (3 MiB/s)
> > > > > > => fatload mmc 0 0x8000e000 l4re_uvmm-2vm.uimage
> > > > > > 44056560 bytes read in 1871 ms (22.5 MiB/s)
> > > > > > => bootm 0x8000e000 - 0x80000000
> > > > > > ## Booting kernel from Legacy Image at 8000e000 ...
> > > > > > Image Name: L4 Image #10
> > > > > > Image Type: AArch64 Linux Kernel Image (uncompressed)
> > > > > > Data Size: 44056496 Bytes = 42 MiB
> > > > > > Load Address: 81200000
> > > > > > Entry Point: 81200000
> > > > > > Verifying Checksum ... OK
> > > > > > ## Flattened Device Tree blob at 80000000
> > > > > > Booting using the fdt blob at 0x80000000
> > > > > > Loading Kernel Image
> > > > > > Using Device Tree in place at 0000000080000000, end
> > > 00000000800100a5
> > > > > > fixup: pfe0 set to 00:01:be:be:ef:11
> > > > > > fixup: pfe1 set to 00:01:be:be:ef:22
> > > > > > fixup: pfe2 set to 00:01:be:be:ef:33
> > > > > >
> > > > > > Starting kernel ...
> > > > > >
> > > > > >
> > > > > > L4 Bootstrapper
> > > > > > Build: #10 Mon Feb 10 10:06:07 CST 2025, 11.4.0
> > > > > > RAM: 0000000080000000 - 00000000ffffffff: 2097152kB
> > > > > > RAM: 0000000880000000 - 00000008dfffffff: 1572864kB
> > > > > > Total RAM: 3584MB
> > > > > > New region for list regions: [ 82ddd000, 83bbd807] {
> > > de0808}
> > > > > Boot
> > > > > > Module
> > > > > > overlaps with: [ 83200000, 835dffff] {
> > > 3e0000}
> > > > > Arch
> > > > > > pfebufs@83200000
> > > > > > Regions of list 'regions'
> > > > > > [ 34000000, 3407ffff] { 80000} Arch pfebufs@34000000
> > > > > > [ 34080000, 3409ffff] { 20000} Arch pfebufs@34080000
> > > > > > [ 80000000, 8000dfff] { e000} Root dtb
> > > > > > [ 81200000, 8121d777] { 1d778} Boot bootstrap
> > > > > > [ 81200158, 81200187] { 30} Root cpu_boot
> > > > > > [ 8121e1d0, 8121eac7] { 8f8} Boot modinfo
> > > > > > [ 8121f000, 812e5fe7] { c6fe8} Boot Module
> > > > > > [ 812e6000, 812ebcd7] { 5cd8} Boot Module
> > > > > > [ 812ec000, 8131e6cf] { 326d0} Boot Module
> > > > > > [ 8131f000, 8141258f] { f3590} Boot Module
> > > > > > [ 81413000, 8142e537] { 1b538} Boot Module
> > > > > > [ 8142f000, 814b7aa7] { 88aa8} Boot Module
> > > > > > [ 814b8000, 814c50a5] { d0a6} Boot Module
> > > > > > [ 814c6000, 82dd9a52] { 1913a53} Boot Module
> > > > > > [ 82dda000, 82ddb218] { 1219} Boot Module
> > > > > > [ 82ddc000, 82ddc224] { 225} Boot Module
> > > > > > [ 83200000, 835dffff] { 3e0000} Arch pfebufs@83200000
> > > > > > [ 835e0000, 835fffff] { 20000} Arch pfebufs@835e0000
> > > > > > [ 84000000, 843fffff] { 400000} Arch shm@84000000
> > > > > > [ 85000000, 85000fff] { 1000} Arch ddr@85000000
> > > > > > [ c0000000, c03fffff] { 400000} Arch shm@c0000000
> > > > > > [ c0400000, c07fffff] { 400000} Arch shm@c0400000
> > > > > > [ d0000000, d000007f] { 80} Arch shm@d0000000
> > > > > > [ d0000080, d00000ff] { 80} Arch shm@d0000080
> > > > > > [ ff800000, ff9fffff] { 200000} Arch atf@ff800000
> > > > > > region overlap
> > > > > >
> > > > > > Key press reboots...
> > > > > > `
> > > > > > Please help me analyze where the issue might be. Thank you very
> much!
> > > > > >
> > > > > > Regards,
> > > > > > Qiang
> > > > > >
> > > > > > On Mon, Feb 10, 2025 at 3:03 AM Adam Lackorzynski <[email protected]
> >
> > > wrote:
> > > > > >
> > > > > > > Hi Qiang,
> > > > > > >
> > > > > > > thanks for the description and all the logs. Could you also
> please
> > > > > share
> > > > > > > the command given in u-boot (bootm...)?
> > > > > > >
> > > > > > > From the logs, the following lines look suspicious:
> > > > > > >
> > > > > > > > DT: FDT sanity check failed: FDT_ERR_BADMAGIC (-9)
> > > > > > > > Total RAM: 0MB
> > > > > > >
> > > > > > > Indicating that something with the device tree is not ok.
> > > > > > >
> > > > > > > > kernel fiasco.debug -serial_esc
> > > > > > >
> > > > > > > Please use "fiasco" only. The fiasco.debug is considerably
> bigger
> > > to
> > > > > load
> > > > > > > and could contribute to the region overlap.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Adam
> > > > > > >
> > > > > > > On Thu Feb 06, 2025 at 19:53:49 +0800, qiang xu wrote:
> > > > > > > > Hi Adam,
> > > > > > > > I encountered the error "region overlap" while running
> L4Re on
> > > > > S32G.
> > > > > > > >
> > > > > > > > First, I built the Linux BSP 38.0 using Yocto to generate the
> > > Image,
> > > > > > > > s32g2xxa-evb.dtb, and fsl-image-dom0less-s32g274aevb.cpio.gz.
> > > Then, I
> > > > > > > > compiled the S32G platform's L4Re image using the snapshots
> > > > > > > > <https://l4re.org/download/snapshots/README.html> method.
> In the
> > > > > > > > modules.list, I added the following:
> > > > > > > >
> > > > > > > > `
> > > > > > > > entry uvmm-2vm
> > > > > > > > kernel fiasco.debug -serial_esc
> > > > > > > > roottask moe rom/uvmm-2vm.ned
> > > > > > > > module uvmm
> > > > > > > > module l4re
> > > > > > > > module ned
> > > > > > > > module s32g2xxa-evb.dtb
> > > > > > > > module fsl-image-dom0less-s32g274aevb.cpio.gz
> > > > > > > > module[shell] echo $SRC_BASE_ABS/pkg/uvmm/configs/vmm.lua
> > > > > > > > module uvmm-2vm.ned
> > > > > > > > module Image
> > > > > > > > module cons
> > > > > > > > `
> > > > > > > >
> > > > > > > > Finally, I ran the command make uimage E=uvmm-2vm PT=s32g in
> the
> > > > > > > > /l4re-snapshot-24.08.0/obj/l4/builddir directory, which
> showed
> > > the
> > > > > > > > following output:
> > > > > > > >
> > > > > > > > `
> > > > > > > > make[1]: Entering directory
> > > > > > > > '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'
> > > > > > > > [bootstrap - nofpu] ... Building Dependencies
> > > > > > > > Building entry "uvmm-2vm".
> > > > > > > > Merging images:
> > > > > > > > mod00:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/fiasco/builddir/fiasco.debug
> > > > > > > > [27393kB -> 796kB]
> > > > > > > > mod01:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/sigma0
> > > > > > > > [24kB]
> > > > > > > > mod02:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/moe
> > > > > > > > [202kB]
> > > > > > > > mod03:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/uvmm
> > > > > > > > [974kB]
> > > > > > > > mod04:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/l4re
> > > > > > > > [110kB]
> > > > > > > > mod05:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/ned
> > > > > > > > [547kB]
> > > > > > > > mod06:
> > > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/s32g2xxa-evb.dtb
> > > > > > > > [53kB]
> > > > > > > > mod07:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/fsl-image-dom0less-s32g274aevb.cpio.gz
> > > > > > > > [25679kB]
> > > > > > > > mod08:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4/pkg/uvmm/configs/vmm.lua
> > > > > > > > [5kB]
> > > > > > > > mod09:
> > > > > > >
> > > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/uvmm-2vm.ned
> > > > > > > > [1kB]
> > > > > > > > mod10:
> > > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/Image
> > > > > > > > [14211kB]
> > > > > > > > mod11:
> > > > > > > >
> > > > > > >
> > > > >
> > >
> /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/cons
> > > > > > > > [280kB]
> > > > > > > > [bootstrap - nofpu] ... Generating bootstrap.ld
> > > > > > > > [bootstrap - nofpu] ... Compiling startup.o
> > > > > > > > [bootstrap - nofpu] ==> Linking l4re.elf
> > > > > > > > [bootstrap] ==> Image post-processing l4re.elf
> > > > > > > > [bootstrap - nofpu] ==> l4re.elf built
> > > > > > > > ==> Installing l4re.elf in image directory
> > > > > > > > ==> Installing l4re_uvmm-2vm in image directory
> > > > > > > > ==> Installing l4re_uvmm-2vm.elf in image directory
> > > > > > > > [bootstrap - nofpu] ... Generating l4re.raw
> > > > > > > > ==> Installing l4re.raw in image directory
> > > > > > > > ==> Installing l4re_uvmm-2vm.raw in image directory
> > > > > > > > [bootstrap - nofpu] ... Generating l4re.uimage
> > > > > > > > Image Name: L4 Image #9
> > > > > > > > Created: Thu Feb 6 19:29:02 2025
> > > > > > > > Image Type: AArch64 Linux Kernel Image (uncompressed)
> > > > > > > > Data Size: 44056496 Bytes = 43023.92 KiB = 42.02 MiB
> > > > > > > > Load Address: 81200000
> > > > > > > > Entry Point: 81200000
> > > > > > > > ==> Installing l4re.uimage in image directory
> > > > > > > > ==> Installing l4re_uvmm-2vm.uimage in image directory
> > > > > > > > Image size(s) in bytes:
> > > > > > > > l4re_uvmm-2vm.elf: 44692328
> > > > > > > > l4re.raw: 44056496
> > > > > > > > l4re.uimage: 44056560
> > > > > > > > Start address:
> > > > > > > > --> Build-Nr: 9
> > > > > > > > [bootstrap - nofpu] ==> Installing l4re.elf to local
> build-tree
> > > > > > > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm to local
> > > build-tree
> > > > > > > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm.elf to local
> > > > > build-tree
> > > > > > > > `
> > > > > > > > Finally, I tried loading the l4re_uvmm-2vm.uimage and
> > > > > s32g2xxa-evb.dtb
> > > > > > > > files in U-Boot for booting, but it resulted in an error.
> Can you
> > > > > help me
> > > > > > > > identify where the issue might be?
> > > > > > > >
> > > > > > > > `
> > > > > > > > L4 Bootstrapper
> > > > > > > > Build: #8 Thu Feb 6 14:58:40 CST 2025, 11.4.0
> > > > > > > > DT: FDT sanity check failed: FDT_ERR_BADMAGIC (-9)
> > > > > > > >
> > > > > > > > L4 Bootstrapper
> > > > > > > > Build: #8 Thu Feb 6 14:58:40 CST 2025, 11.4.0
> > > > > > > > Total RAM: 0MB
> > > > > > > > New region for list regions: [ 82ddd000, 855979ff] {
> > > > > 27baa00}
> > > > > > > Boot
> > > > > > > > Module
> > > > > > > > overlaps with: [ 83200000, 835dffff] {
> > > > > 3e0000}
> > > > > > > Arch
> > > > > > > > pfebufs@83200000
> > > > > > > > Regions of list 'regions'
> > > > > > > > [ 34000000, 3407ffff] { 80000} Arch
> pfebufs@34000000
> > > > > > > > [ 34080000, 3409ffff] { 20000} Arch
> pfebufs@34080000
> > > > > > > > [ 80000000, 8000d0a5] { d0a6} Root dtb
> > > > > > > > [ 81200000, 8121d777] { 1d778} Boot bootstrap
> > > > > > > > [ 81200158, 81200187] { 30} Root cpu_boot
> > > > > > > > [ 8121e1d0, 8121eadf] { 910} Boot modinfo
> > > > > > > > [ 8121f000, 812e5f7f] { c6f80} Boot Module
> > > > > > > > [ 812e6000, 812ebcd7] { 5cd8} Boot Module
> > > > > > > > [ 812ec000, 8131e6cf] { 326d0} Boot Module
> > > > > > > > [ 8131f000, 8141258f] { f3590} Boot Module
> > > > > > > > [ 81413000, 8142e537] { 1b538} Boot Module
> > > > > > > > [ 8142f000, 814b7aa7] { 88aa8} Boot Module
> > > > > > > > [ 814b8000, 814c50a5] { d0a6} Boot Module
> > > > > > > > [ 814c6000, 82dd9a52] { 1913a53} Boot Module
> > > > > > > > [ 82dda000, 82ddb218] { 1219} Boot Module
> > > > > > > > [ 82ddc000, 82ddc22a] { 22b} Boot Module
> > > > > > > > [ 83200000, 835dffff] { 3e0000} Arch
> pfebufs@83200000
> > > > > > > > [ 835e0000, 835fffff] { 20000} Arch
> pfebufs@835e0000
> > > > > > > > [ 84000000, 843fffff] { 400000} Arch shm@84000000
> > > > > > > > [ 85000000, 85000fff] { 1000} Arch ddr@85000000
> > > > > > > > [ c0000000, c03fffff] { 400000} Arch shm@c0000000
> > > > > > > > [ c0400000, c07fffff] { 400000} Arch shm@c0400000
> > > > > > > > [ d0000000, d000007f] { 80} Arch shm@d0000000
> > > > > > > > [ d0000080, d00000ff] { 80} Arch shm@d0000080
> > > > > > > > region overlap
> > > > > > > >
> > > > > > > > Key press reboots...
> > > > > > > >
> > > > > > > > `
> > > > > > > > Regards,
> > > > > > > > Qiang
> > > > > > > >
> > > > > > > >
> > > > > > > > On Wed, Jan 8, 2025 at 10:13 AM qiang xu <
> [email protected]>
> > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi Adam,
> > > > > > > > >
> > > > > > > > > Awesome, thanks for the info!
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > Qiang
> > > > > > > > >
> > > > > > > > > On Tue, Jan 7, 2025 at 10:03 PM Adam Lackorzynski <
> > > [email protected]>
> > > > > > > wrote:
> > > > > > > > >
> > > > > > > > >> Hi Qiang,
> > > > > > > > >>
> > > > > > > > >> thanks for the great feedback.
> > > > > > > > >>
> > > > > > > > >> It's correct, the L4Re microerkernel Fiasco runs in EL2
> only.
> > > It
> > > > > runs
> > > > > > > > >> both VMs and L4Re applications side by side, so yes, it
> is a
> > > > > > > hypervisor
> > > > > > > > >> too.
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Best regards,
> > > > > > > > >> Adam
> > > > > > > > >>
> > > > > > > > >> On Tue Jan 07, 2025 at 19:34:20 +0800, qiang xu wrote:
> > > > > > > > >> > Hi Adam,
> > > > > > > > >> >
> > > > > > > > >> > Thank you very much for your support. The explanation
> was
> > > very
> > > > > > > clear.
> > > > > > > > >> From
> > > > > > > > >> > the printed information, it seems to be running fine. I
> > > have one
> > > > > > > more
> > > > > > > > >> > question: Can Fiasco be used as a hypervisor? From the
> > > example
> > > > > of
> > > > > > > > >> > l4re_VM-multi, it seems to have the ability to run
> multiple
> > > > > > > operating
> > > > > > > > >> > systems on a single platform, and in L4Re, only Fiasco
> runs
> > > in
> > > > > EL2
> > > > > > > > >> > privilege level. I'm not sure if I understand this
> > > correctly,
> > > > > so I
> > > > > > > > >> wanted
> > > > > > > > >> > to confirm with you. If it cannot be used as a
> hypervisor,
> > > what
> > > > > > > > >> > functionality does it lack that a hypervisor would
> typically
> > > > > have?
> > > > > > > > >> >
> > > > > > > > >> > Regards,
> > > > > > > > >> > Qiang
> > > > > > > > >> >
> > > > > > > > >> >
> > > > > > > > >> > On Tue, Jan 7, 2025 at 7:53 AM Adam Lackorzynski <
> > > [email protected]
> > > > > >
> > > > > > > wrote:
> > > > > > > > >> >
> > > > > > > > >> > > Hi Qiang,
> > > > > > > > >> > >
> > > > > > > > >> > > If I'm not mistaken, the provided BSP is using u-boot.
> > > With
> > > > > > > u-boot,
> > > > > > > > >> the
> > > > > > > > >> > > uimage file is a good fit. When booting up, you can
> stop
> > > at
> > > > > the
> > > > > > > u-boot
> > > > > > > > >> > > prompt and do something like this:
> > > > > > > > >> > > # fatload mmc 0 0x80f00000 fsl-s32g274a-evb.dtb
> > > > > > > > >> > > # fatload mmc 0 0x80ffffc0
> l4re_vm-multi-p2p_s32g.uimage
> > > > > > > > >> > > # bootm 0x80ffffc0 - 0x80f00000
> > > > > > > > >> > >
> > > > > > > > >> > > You need to copy the l4re_vm-multi-p2p_s32g.uimage
> file to
> > > > > the mmc
> > > > > > > > >> first
> > > > > > > > >> > > of course, for example, through Linux.
> > > > > > > > >> > > Alternative you could also load the elf-image or
> raw-image
> > > > > into
> > > > > > > memory
> > > > > > > > >> > > via your hardware debugger, whatever method the
> debugger
> > > > > > > supports. Do
> > > > > > > > >> it
> > > > > > > > >> > > by intercepting at the u-boot prompt.
> > > > > > > > >> > >
> > > > > > > > >> > > A third option is to use the tftp network
> capabilities of
> > > > > u-boot
> > > > > > > to
> > > > > > > > >> load
> > > > > > > > >> > > the uimage via network.
> > > > > > > > >> > >
> > > > > > > > >> > >
> > > > > > > > >> > >
> > > > > > > > >> > > Adam
> > > > > > > > >> > >
> > > > > > > > >> > > On Mon Jan 06, 2025 at 11:04:35 +0800, qiang xu wrote:
> > > > > > > > >> > > > Hi Adam,
> > > > > > > > >> > > >
> > > > > > > > >> > > > Thank you for your response.
> > > > > > > > >> > > >
> > > > > > > > >> > > > I found the following images in the L4Re pre-built
> > > images
> > > > > > > folder:
> > > > > > > > >> > > > “l4re_vm-multi-p2p_s32g.efi,”
> > > “l4re_vm-multi-p2p_s32g.elf,”
> > > > > and
> > > > > > > > >> > > > “l4re_vm-multi-p2p_s32g.uimage.” I would like to
> > > understand
> > > > > how
> > > > > > > > >> these
> > > > > > > > >> > > > images can be combined with the BSP built using
> Yocto
> > > and
> > > > > > > placed on
> > > > > > > > >> the
> > > > > > > > >> > > SD
> > > > > > > > >> > > > card for booting.
> > > > > > > > >> > > >
> > > > > > > > >> > > > I have been following the examples from the L4Re
> wiki
> > > > > > > > >> > > > <
> > > https://github.com/kernkonzept/manifest/wiki/MultipleVMs>
> > > > > to
> > > > > > > get
> > > > > > > > >> > > started
> > > > > > > > >> > > > with L4Re. These examples run very well on QEMU, but
> > > there
> > > > > is an
> > > > > > > > >> issue—I
> > > > > > > > >> > > am
> > > > > > > > >> > > > unable to use GDB to debug the Fiasco kernel.I
> noticed
> > > that
> > > > > L4Re
> > > > > > > > >> can also
> > > > > > > > >> > > > run on the S32G platform, so I would like to run
> L4Re on
> > > > > S32G
> > > > > > > and
> > > > > > > > >> use a
> > > > > > > > >> > > > hardware debugging tool to debug the Fiasco kernel
> > > during
> > > > > its
> > > > > > > > >> execution.
> > > > > > > > >> > > > However, the wiki does not provide instructions on
> how
> > > to
> > > > > run
> > > > > > > L4Re
> > > > > > > > >> on
> > > > > > > > >> > > real
> > > > > > > > >> > > > hardware.Therefore, I would like your guidance on
> how to
> > > > > run the
> > > > > > > > >> examples
> > > > > > > > >> > > > from the wiki <
> > > > > > > > >> https://github.com/kernkonzept/manifest/wiki/MultipleVMs>
> > > > > > > > >> > > on
> > > > > > > > >> > > > the S32G platform and boot from an SD card.
> > > > > > > > >> > > >
> > > > > > > > >> > > > Regards,
> > > > > > > > >> > > > Qiang
> > > > > > > > >> > > >
> > > > > > > > >> > > > On Mon, Jan 6, 2025 at 9:56 AM Adam Lackorzynski <
> > > > > [email protected]
> > > > > > > >
> > > > > > > > >> wrote:
> > > > > > > > >> > > >
> > > > > > > > >> > > > > Hi Qiang,
> > > > > > > > >> > > > >
> > > > > > > > >> > > > > On Sat Jan 04, 2025 at 17:03:21 +0800, qiang xu
> wrote:
> > > > > > > > >> > > > > > I would like to know how to run L4Re on the
> S32G. I
> > > > > couldn’t
> > > > > > > > >> find any
> > > > > > > > >> > > > > > related documentation. I’m a beginner in this
> > > technical
> > > > > > > field,
> > > > > > > > >> so
> > > > > > > > >> > > could
> > > > > > > > >> > > > > you
> > > > > > > > >> > > > > > provide friendly step-by-step instructions?
> > > > > > > > >> > > > >
> > > > > > > > >> > > > > One option is to use the snapshot from l4re.org
> as it
> > > > > has a
> > > > > > > > >> > > menu-driven
> > > > > > > > >> > > > > target selection which includes the S32G. This
> hides
> > > > > quite a
> > > > > > > few
> > > > > > > > >> of the
> > > > > > > > >> > > > > details but gives examples for the S32G right
> away.
> > > > > > > > >> > > > > How do you boot your S32G?
> > >
>
> Adam
> --
> Adam [email protected]
> Lackorzynski http://os.inf.tu-dresden.de/~adam/
>
_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]