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? _______________________________________________ l4-hackers mailing list -- [email protected] To unsubscribe send an email to [email protected]
