[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-25 Thread Daniele Feliciani
It doesn't seem to work. I'm attaching the device.camkes file and the error
screenshots.



Il giorno lun 25 mar 2024 alle ore 10:43 Peter Chubb <
peter.ch...@unsw.edu.au> ha scritto:

> > "Daniele" == Daniele Feliciani  writes:
>
> Daniele> I changed the value but now i
> Daniele> have the following error:
>
> Danielle> ./simulate: QEMU command: qemu-system-aarch64 -machine
> Danielle> virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53
> -nographic
> Danielle>  -m size=2048  -kernel
> images/capdl-loader-image-arm-qemu-arm-virt
> Danielle> ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
> Danielle>   paddr=[61b07000..62ee00b7]
> Danielle> No DTB passed in from boot loader.
> Danielle> Looking for DTB in CPIO archive...found at 61c07c68.
> Danielle> Loaded DTB from 61c07c68.
> Danielle>paddr=[60242000..60243fff]
> Danielle> ELF-loading image 'kernel' to 6000
> Danielle>   paddr=[6000..60241fff]
> Danielle>   vaddr=[806000..8060241fff]
> Danielle>   virt_entry=806000
> Danielle> ELF-loading image 'capdl-loader' to 60244000
> Danielle>   paddr=[60244000..6170cfff]
> Danielle>   vaddr=[40..18c8fff]
> Danielle>   virt_entry=408d88
> Danielle> Enabling hypervisor MMU and paging
> Danielle> Jumping to kernel-image entry point...
> Danielle>
> Danielle> Bootstrapping kernel
> Danielle> Warning: Could not infer GIC interrupt target ID, assuming 0.
> Danielle> available phys memory regions: 1
> Danielle>   [6000..c000]
> ^ this is the physical memory region you have to play
> with.  Make the region given to the VM start at 0x6000
> instead of 04000
>
> --
> Dr Peter Chubbhttps://trustworthy.systems/
> Trustworthy Systems GroupCSE, UNSW
> Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
>
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems


[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-25 Thread Peter Chubb via Devel
> "Hugo" == Hugo V C  writes:

Hugo> Hi Peter, I followed the steps you propose and got exactly the
Hugo> same error message as Daniele:


Unfortunately, there's not a lot of CAmkES knowledge left at UNSW.
We've moved to use the seL4 Microkit and libvmm instead
(at https://github.com/au-ts/libvmm ) because we could never get
CAmkES to perform as well as it should have been able to, plus
configuration was confusing.

I'm hoping someone else on the list can help out.

-- 
Dr Peter Chubbhttps://trustworthy.systems/
Trustworthy Systems GroupCSE, UNSW
Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems


[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-25 Thread Hugo V.C.
Hi Peter,
I followed the steps you propose and got exactly the same error message as
Daniele:

Booting all finished, dropped to user space
create_object@main.c:679 [Cond failed: err != seL4_NoError]
(...)
halting...
Kernel entry via Unknown syscall, word: 1


El lun, 25 mar 2024 a las 10:44, Daniele Feliciani (<
felicianidani...@gmail.com>) escribió:

> I changed the value but now i have the following error:
>
> ./simulate: QEMU command: qemu-system-aarch64 -machine
> virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53 -nographic
>  -m size=2048  -kernel images/capdl-loader-image-arm-qemu-arm-virt
> ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
>   paddr=[61b07000..62ee00b7]
> No DTB passed in from boot loader.
> Looking for DTB in CPIO archive...found at 61c07c68.
> Loaded DTB from 61c07c68.
>paddr=[60242000..60243fff]
> ELF-loading image 'kernel' to 6000
>   paddr=[6000..60241fff]
>   vaddr=[806000..8060241fff]
>   virt_entry=806000
> ELF-loading image 'capdl-loader' to 60244000
>   paddr=[60244000..6170cfff]
>   vaddr=[40..18c8fff]
>   virt_entry=408d88
> Enabling hypervisor MMU and paging
> Jumping to kernel-image entry point...
>
> Bootstrapping kernel
> Warning: Could not infer GIC interrupt target ID, assuming 0.
> available phys memory regions: 1
>   [6000..c000]
> reserved virt address space regions: 3
>   [806000..8060242000]
>   [8060242000..8060243e40]
>   [8060244000..806170d000]
> Booting all finished, dropped to user space
> create_object@main.c:679 [Cond failed: err != seL4_NoError]
> Failed to find device frame/untyped at paddr = 0x4000
> seL4 root server abort()ed
> Debug halt syscall from user thread 0x80bf813400 "rootserver"
> halting...
> Kernel entry via Unknown syscall, word: 1
>
> Il giorno lun 25 mar 2024 alle ore 10:22 Peter Chubb <
> peter.ch...@unsw.edu.au> ha scritto:
>
> > > "Daniele" == Daniele Feliciani 
> writes:
> >
> > Daniele> Hello Peter, I have the same
> > Daniele> problem. i tried to change the guest ram value to
> > Daniele> 0x4000. I added set(QEMU_MEMORY "2048") in config.cmake
> > Daniele> but I get the following errors while running : "
> > Daniele> map_vm_memory_reservation@guest_memory.c:477 Failed to get
> > Daniele> frame for reservation address 0x6000" and "
> > Daniele> vm_ram_touch@guest_ram.c:165 Failed to touch ram region: Not
> > Daniele> registered RAM region 32 bit ARM insts not decoded"
> >
> > Check the size of the MMIO region.  By default it uses 29 bits; for a
> > 2G region you need 31 bits.
> >
> > In the devices.camkes file, in the untyped_mmios section.
> > There's probably an entry,
> > "0x4000:29", try increasing this to
> > "0x4000:31"  to get a 2^31 region.
> >
> > --
> > Dr Peter Chubbhttps://trustworthy.systems/
> > Trustworthy Systems GroupCSE, UNSW
> > Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
> >
> ___
> Devel mailing list -- devel@sel4.systems
> To unsubscribe send an email to devel-leave@sel4.systems
>
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems


[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-25 Thread Daniele Feliciani
I changed the value but now i have the following error:

./simulate: QEMU command: qemu-system-aarch64 -machine
virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53 -nographic
 -m size=2048  -kernel images/capdl-loader-image-arm-qemu-arm-virt
ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
  paddr=[61b07000..62ee00b7]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 61c07c68.
Loaded DTB from 61c07c68.
   paddr=[60242000..60243fff]
ELF-loading image 'kernel' to 6000
  paddr=[6000..60241fff]
  vaddr=[806000..8060241fff]
  virt_entry=806000
ELF-loading image 'capdl-loader' to 60244000
  paddr=[60244000..6170cfff]
  vaddr=[40..18c8fff]
  virt_entry=408d88
Enabling hypervisor MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
Warning: Could not infer GIC interrupt target ID, assuming 0.
available phys memory regions: 1
  [6000..c000]
reserved virt address space regions: 3
  [806000..8060242000]
  [8060242000..8060243e40]
  [8060244000..806170d000]
Booting all finished, dropped to user space
create_object@main.c:679 [Cond failed: err != seL4_NoError]
Failed to find device frame/untyped at paddr = 0x4000
seL4 root server abort()ed
Debug halt syscall from user thread 0x80bf813400 "rootserver"
halting...
Kernel entry via Unknown syscall, word: 1

Il giorno lun 25 mar 2024 alle ore 10:22 Peter Chubb <
peter.ch...@unsw.edu.au> ha scritto:

> > "Daniele" == Daniele Feliciani  writes:
>
> Daniele> Hello Peter, I have the same
> Daniele> problem. i tried to change the guest ram value to
> Daniele> 0x4000. I added set(QEMU_MEMORY "2048") in config.cmake
> Daniele> but I get the following errors while running : "
> Daniele> map_vm_memory_reservation@guest_memory.c:477 Failed to get
> Daniele> frame for reservation address 0x6000" and "
> Daniele> vm_ram_touch@guest_ram.c:165 Failed to touch ram region: Not
> Daniele> registered RAM region 32 bit ARM insts not decoded"
>
> Check the size of the MMIO region.  By default it uses 29 bits; for a
> 2G region you need 31 bits.
>
> In the devices.camkes file, in the untyped_mmios section.
> There's probably an entry,
> "0x4000:29", try increasing this to
> "0x4000:31"  to get a 2^31 region.
>
> --
> Dr Peter Chubbhttps://trustworthy.systems/
> Trustworthy Systems GroupCSE, UNSW
> Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
>
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems


[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-25 Thread Peter Chubb via Devel
> "Daniele" == Daniele Feliciani  writes:

Daniele> Hello Peter, I have the same
Daniele> problem. i tried to change the guest ram value to
Daniele> 0x4000. I added set(QEMU_MEMORY "2048") in config.cmake
Daniele> but I get the following errors while running : "
Daniele> map_vm_memory_reservation@guest_memory.c:477 Failed to get
Daniele> frame for reservation address 0x6000" and "
Daniele> vm_ram_touch@guest_ram.c:165 Failed to touch ram region: Not
Daniele> registered RAM region 32 bit ARM insts not decoded"

Check the size of the MMIO region.  By default it uses 29 bits; for a
2G region you need 31 bits.

In the devices.camkes file, in the untyped_mmios section.
There's probably an entry,
"0x4000:29", try increasing this to
"0x4000:31"  to get a 2^31 region.

-- 
Dr Peter Chubbhttps://trustworthy.systems/
Trustworthy Systems GroupCSE, UNSW
Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems


[seL4] Re: Only 512mb ram available on capdl-loader-image-arm-qemu-arm-virt image

2024-03-24 Thread Peter Chubb via Devel
> "skydivebcn" == skydivebcn   writes:

skydivebcn> I have noticed that no matter how I set the "-m size"
skydivebcn> parameter that only 512MB are available to the Linux
skydivebcn> guest. Removing the "highmem=off" crashes the system.

The QEMU parameter just says what the memory available to the system
as a whole is.  The amount of memory available to the guest is in the
devices.camkes file you used to configure the system.

For example, in
projects/vm-examples/apps/Arm/vm_minimal/qemu-arm-virt/devices.camkes
the amount of RAM for the guest is set to 0x2000 with parameter
VM_RAM_SIZE. (that's 512Mb)

You will also need  to set QEMU_MEMORY in a CMAKE file before building
the seL4 kernel -- the build system needs to know the amount of RAM
avaiable; it's not determined at runtime.  Probably something like:
set(QEMU_MEMORY "2048")
in kernel/config.cmake will up the RAM from the default 1G to 2G.

-- 
Dr Peter Chubbhttps://trustworthy.systems/
Trustworthy Systems GroupCSE, UNSW
Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.
___
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems