From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1163789AbdKRTXH (ORCPT ); Sat, 18 Nov 2017 14:23:07 -0500 Received: from mout.web.de ([212.227.15.4]:64865 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162292AbdKRTXA (ORCPT ); Sat, 18 Nov 2017 14:23:00 -0500 Subject: Re: [PATCH 02/10] x86: jailhouse: Add infrastructure for running in non-root cell To: Thomas Gleixner Cc: Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, Linux Kernel Mailing List , jailhouse-dev@googlegroups.com References: <160b45b696173511465a471a08143bcd9f09dd6e.1510817211.git.jan.kiszka@siemens.com> From: Jan Kiszka Message-ID: Date: Sat, 18 Nov 2017 20:21:45 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:Qfr75cm22NShadFHPvFdopdOzeQ0gEb71QVe1davm1SODoSxRDH QOUUC80hXyaTJ3YluxA4xf9t5AQdeAb7DEqne5so4xRmO7si3EpqG5NbNt1vFi/lNhi4GuN 3IXMxyifWMibJJLXavB3REWd32sdOtIaLrG3fjYV0Pz57kuDyE8g7fGe5n2Ufugt6hfG6ML zN4CYE9DbxP5zEL5iG7Vw== X-UI-Out-Filterresults: notjunk:1;V01:K0:NZhHjGYb3FQ=:z83FniYVha3lIyh1FDTdXz GbOI+r0zM/hj8OH/e1dxtmcdcfDXe9U3CeHcgtIfcBqnebc3pm7xkpFHXMoEzgg5GGfoVC2Sp aqATViJk8QPjJl7VhPQVAG5qeW41FLhMAooCMsLyltY7cduHLbgdIJwxCqjPt2oy1ghM1xGnG anNigx946ykKV9XOv/SbAjdcDQaK7FEY4BJpMPZJmn1p+hWE0IajNP+RmxJSm9iPZtVmwzqNf J5c3ToGypXviFXytkaWAPf9yYo2b1Kng+5Jo+jeYBXZsalCwNmUCKo44fqnlmRFD0n6kZOKVa Ic5A3WgVAjyJ8fLRIdlunkBsj/sRjkaKRUSKXbBLJT6HhlAUGUiqfQF5DnL3WDlb+KtXML8DU YbVLPN9prjMabhpsSbzZ6IaXh3Z7XZe+Ywflrq6yTmrxfcXCHwjqX7GAS7aRyl8E95iHhs9Tq Mpi1RrcWAjz2tyt9JiERx7eOWwa3733ecD5Al+YG0Vfsk/tMucbkKwvxnsGB/lq4JfpK3BXuN FUTmQPtgawkByoYGo3x+f6rNOsWY6IF6+rAYtJyQXdkhz57l11YCZWEEgFWlGUeyB2qhirLzS Z6Fegep3l/PLIdUqeQWjfFvSuOqhaTZ27YAtiVnqCkYeez5qKyaOy/CXm1dczcOf0xs0NC2Yi l1g2xf3PV0ZodTK8YIrxhfV7gPU06Xjl0yJmuSZ1HT0tuBLBzOy1jhOyGaKiS3E57hT+gXZzU O/2wWw96byuaFfruQpGFACe8rr4+UhqXvZfRtAEeVWWvSnp3FdWxK3kgbeKqfgBovuXdBs/ty i2IHTLkEMAndTKAM96fAOGAIjBzAunOK9ODJUhBYyws5jYwlzU= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017-11-17 22:54, Thomas Gleixner wrote: > On Thu, 16 Nov 2017, Jan Kiszka wrote: > >> +config JAILHOUSE_GUEST >> + bool "Jailhouse non-root cell support" >> + depends on PARAVIRT && X86_64 >> + ---help--- >> + This option allows to run Linux as guest in a Jailhouse non-root >> + cell. You can leave this option disabled if you only want to start >> + Jailhouse and run Linux afterwards in the root cell. >> + >> + You likely also want to disable CONFIG_SUSPEND and CONFIG_SERIO to >> + avoid access to I/O resources that are usually not assigned to the >> + non-root cell. > > That should be prevented programatically. Theoretically, serio access could also be assigned to a non-root cell. But excluding SUSPEND may make sense unconditionally, will check again. > >> +#include >> +#include >> +#include >> +#include >> + >> +#define SETUP_JAILHOUSE 0x53484c4a /* "JLHS" */ >> + >> +#define SETUP_REQUIRED_VERSION 1 >> + >> +/* >> + * The boot loader is passing platform information via this Jailhouse-specific >> + * setup data structure. >> + */ >> +struct jailhouse_setup_data { >> + struct setup_data header; >> + u16 version; >> + u16 compatible_version; >> + u16 pm_timer_address; >> + u16 num_cpus; >> + u64 pci_mmconfig_base; >> + u8 standard_ioapic; >> + u8 cpu_ids[255]; > > Shouldn't this structure and SETUP_JAILHOUSE be defined in a header file > which can be exported to boot loaders? Something like arch/x86/include/uapi/asm/jailhouse_setup.h? Jan