Hi Travis,

The addresses are board specific. The document for your board is UG1085,

    
https://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ultrascale-trm.pdf

If all you need is a number, you can also find it in the dts files in u-boot, 
Linux kernel or seL4,

    https://github.com/seL4/seL4/blob/master/tools/dts/zynqmp.dts#L900, #L910

- Siwei
________________________________________
From: Travis Wheatley <[email protected]>
Sent: Thursday, 25 June 2020 5:49 AM
To: [email protected]
Cc: Zhuang, Siwei (Data61, Kensington NSW)
Subject: Re: ramdisk vs. persistant rfs in VMs.

Thanks Siwei. This was very helpful.

I do have a follow up question about the addresses used in the devices.camkes 
file. Are these board specific or standard locations for the microkernel? The 
board I am using is a zcu102. Not sure where/how to find the appropriate 
address to use for the sdhci device.

— Travis

> On Jun 23, 2020, at 3:54 AM, Zhuang, Siwei (Data61, Kensington NSW) 
> <[email protected]> wrote:
>
> Hi Travis,
>
> If you only need one VM to access the SD card. You could pass-through the SD 
> card controller to Linux, recompile the Linux kernel with the proper driver. 
> Then passing your rootfs on SD card via Linux kernel boot parameters. An 
> example can be found in the "camkes-arm-vm" repo. Have a read about the "TK1 
> configuration" on this page,
>
>    https://docs.sel4.systems/projects/camkes-arm-vm/
>
> The configuration code can be found here,
>
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/apps/vm_minimal/tk1/devices.camkes#L38
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/apps/vm_minimal/tk1/devices.camkes#L43
>
> If you need to share the SD card between an native seL4 application and a VM 
> or among multiple VMs, you'll need a virtual SD card driver. We only have a 
> virtual USB driver at the moment. Use it as a reference to make your virtual 
> driver. The code can be found here,
>
>    
> https://github.com/SEL4PROJ/seL4_projects_libs/blob/master/libsel4vmmplatsupport/src/arch/arm/devices/vusb.c
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/components/VM/src/modules/plat/exynos5410/init.c
>
> You can of course partition the SD card, if your board supports boot from SD 
> card. Consult the board's manual regarding how to boot from SD card. Note 
> that, the Linux VM would have the access to your boot partition, hence the 
> seL4 boot image could be compromised. To avoid that, you'll need to intercept 
> the SD card access from the VM. The code here demonstrates one way of doing 
> it,
>
>    
> https://github.com/SEL4PROJ/seL4_projects_libs/blob/master/libsel4vmmplatsupport/src/plat/exynos5/devices/vsdhc.c
>
> Hope these helps.
>
> - Siwei
> ________________________________________
> From: Devel <[email protected]> on behalf of Travis Wheatley 
> <[email protected]>
> Sent: Tuesday, 23 June 2020 6:47 AM
> To: [email protected]
> Subject: [seL4] ramdisk vs. persistant rfs in VMs.
>
> I’ve been working with VMs running under SEL4 on ARM hardware. I have been 
> able to boot to a command prompt in a VM. However, the filesystem being used 
> is a ramdisk. I need some sort of persistent storage, preferably a regular 
> rfs that lives on an SD card. Not exactly sure what modifications to make and 
> where to cause the kernel to use a persistent rfs rather than the ramdisk. 
> Barring that, wondering if the SD card can be divided into multiple 
> partitions such that one can be the boot partition and the other mounted to 
> provide persistent storage space. Hoping one of y’all can point me in the 
> right direction.
>
> — Travis
> _______________________________________________
> Devel mailing list
> [email protected]
> https://sel4.systems/lists/listinfo/devel


_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to