[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [PATCH v2 03/22] mini-os: add CONFIG_PARAVIRT



Add a new config macro CONFIG_PARAVIRT which defaults to be defined on
x86. This is the first step for supporting a HVMlite Mini-OS.

Doing this via CONFIG_PARAVIRT instead of something like CONFIG_HVMLITE
was chosen as the arm port can then drop some dummy routines needed for
para-virtualization only.

Add include/paravirt.h for future support of paravirt specific
handling.

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
 Config.mk          |  6 ++++++
 include/paravirt.h | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+)
 create mode 100644 include/paravirt.h

diff --git a/Config.mk b/Config.mk
index 8ab1a7e..aa36761 100644
--- a/Config.mk
+++ b/Config.mk
@@ -153,6 +153,11 @@ LDFLAGS-$(clang) += -plugin LLVMgold.so
 endif
 
 # Configuration defaults
+ifeq ($(TARGET_ARCH_FAM),x86)
+CONFIG_PARAVIRT ?= y
+else
+CONFIG_PARAVIRT ?= n
+endif
 CONFIG_START_NETWORK ?= y
 CONFIG_SPARSE_BSS ?= y
 CONFIG_QEMU_XS_ARGS ?= n
@@ -172,6 +177,7 @@ CONFIG_LWIP ?= $(lwip)
 CONFIG_BALLOON ?= n
 
 # Export config items as compiler directives
+DEFINES-$(CONFIG_PARAVIRT) += -DCONFIG_PARAVIRT
 DEFINES-$(CONFIG_START_NETWORK) += -DCONFIG_START_NETWORK
 DEFINES-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
 DEFINES-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
diff --git a/include/paravirt.h b/include/paravirt.h
new file mode 100644
index 0000000..7852e16
--- /dev/null
+++ b/include/paravirt.h
@@ -0,0 +1,33 @@
+/* -*-  Mode:C; c-basic-offset:4; tab-width:4 -*-
+ *
+ * (C) 2016 - Juergen Gross, SUSE Linux GmbH
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef _PARAVIRT_H
+#define _PARAVIRT_H
+
+#if defined(CONFIG_PARAVIRT)
+
+#else
+
+#endif
+
+#endif /* _PARAVIRT_H */
-- 
2.6.6


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.