On Sat, Sep 20, 2025 at 02:40:18PM -0700, Cong Wang wrote: > On Fri, Sep 19, 2025 at 2:27 PM Stefan Hajnoczi wrote: > > > > On Thu, Sep 18, 2025 at 03:25:59PM -0700, Cong Wang wrote: > > > This patch series introduces multikernel architecture support, enabling > > > multiple independent kernel instances to coexist and communicate on a > > > single physical machine. Each kernel instance can run on dedicated CPU > > > cores while sharing the underlying hardware resources. > > > > > > The multikernel architecture provides several key benefits: > > > - Improved fault isolation between different workloads > > > - Enhanced security through kernel-level separation > > > > What level of isolation does this patch series provide? What stops > > kernel A from accessing kernel B's memory pages, sending interrupts to > > its CPUs, etc? > > It is kernel-enforced isolation, therefore, the trust model here is still > based on kernel. Hence, a malicious kernel would be able to disrupt, > as you described. With memory encryption and IPI filtering, I think > that is solvable. I think solving this is key to the architecture, at least if fault isolation and security are goals. A cooperative architecture where nothing prevents kernels from interfering with each other simply doesn't offer fault isolation or security. On CPU architectures that offer additional privilege modes it may be possible to run a supervisor on every CPU to restrict access to resources in the spawned kernel. Kernels would need to be modified to call into the supervisor instead of accessing certain resources directly. IOMMU and interrupt remapping control would need to be performed by the supervisor to prevent spawned kernels from affecting each other. This seems to be the price of fault isolation and security. It ends up looking similar to a hypervisor, but maybe it wouldn't need to use virtualization extensions, depending on the capabilities of the CPU architecture. Stefan