[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable the fp/simd at the starting point
On 20/12/2019 13:10, Santiago Pagani wrote: Hi Julien, Hi,Thank you for not top-posting, but please configure your e-mail client to avoid quoting with tab. After a few e-mails the thread will be a nightmare to read. On 20.12.19, 08:50, "Julien Grall" <julien@xxxxxxx> wrote: I've been thinking a bit more about this, and I do not think we can do what you suggest. Namely, in Unikraft there is no difference between a kernel and an application. This is not Linux, where we have user space and applications and kernel space. The concept of Unikraft is not much different from drivers/code in Linux kernel (such as crypto) able to use FPSIMD but not the rest of the kernel (see kernel_neon_{begin, end}). While your application and kernel is linked in the same binary, you still have some boundary between kernel and application code. So you could decide when to enable/disable FPSIMD. Everything gets compiled as a single image, running in flat memory space, everything with the same privileges and properties. We could compile the "application" files without the -mgeneral-regs-only flag, and the "kernel" files with it, but that does not guarantee that there will not be corruption in an exception, as the exception could occur when running "application code", and it is directly handled without going through the "kernel". Well if your exception is free of FPSIMD instructions then you don't have any corruption problem. Therefore, when we are compiling an image that has floating point support, then yes, every will need to save/restore all registers that could potentially get corrupted, and this should be added by Justin to his patch. >So it means that every time you receive an interrupt, you will have to save/restore the FPSIMD. That's going to increase to increase quite a bit the cost of receiving an interrupt. If that's acceptable for you, then fine. However, we need consistency for a given imagen, and we cannot have different parts of the image compiled with/without the -mgeneral-regs-only flag. Why so? It is just a matter how you define your boundary. Cheers, -- Julien Grall _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |