nyuuzyou/wikis huggingface dataset:
Xen ARM with Virtualization Extensions/ESPRESSObin

The EspressoBin is a single board computer with a Marvell Armada 3720 SoC, driven by two Cortex-A53 cores (64-bit ARMv8). In comparison to other SBCs it is I/O oriented, with three Gb-Ethernet ports, a SATA port and a mini-PCIe slot. Unfortunately it has no SMMU. There is a 1GB and a 2G DRAM version.
The board is well supported in mainline Linux, most peripherals works well since Linux v4.12. The arm64 Linux defconfig enables support for both the SoC and Xen. The device tree name is armada-3720-espressobin.dtb.
== Xen support ==
The SoC features a non-standard UART, which is supported since Xen 4.11-rc1. It should work on an older Xen release by backporting commits 33fcfac4ee76 (UART driver) and 16a31ca73516 (GICv3 DT fix).
With a supported Xen version, the standard compilation instructions work fine. When support for Xen earlyprintk is required, add CONFIG_EARLY_PRINTK=mvebu to your build command line. The resulting image will only work on that SoC then.
== Booting Xen ==
The board comes with a usable U-Boot in SPI flash, so it boots without any SD card inserted or without the need to supply a special firmware image. You can load Xen from SD card, USB or via TFTP. If in doubt, use the following load addresses:
 Marvell>> setenv xen_addr_r 0x0
 Marvell>> setenv fdt_addr_r 0x780000
 Marvell>> setenv kernel_addr_r 0x800000
 Marvell>> setenv ramdisk_addr_r 0x4000000
Load the Xen image, the .dtb file, the Dom0 kernel and optionally an initrd image file to the respective locations (via fatload, ext4load or via tftpboot). Then setup the Xen device tree node:
 Marvell>> fdt addr $fdt_addr_r
 Marvell>> fdt resize
 Marvell>> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=384M"
 Marvell>> fdt set /chosen \#address-cells <1>
 Marvell>> fdt set /chosen \#size-cells <1>
 Marvell>> fdt mknod /chosen module@0
 Marvell>> fdt resize
 Marvell>> fdt set /chosen/module@0 compatible "xen,linux-zimage" "xen,multiboot-module"
 Marvell>> fdt set /chosen/module@0 reg <$kernel_addr_r 0x1800000>
 Marvell>> setenv bootargs "console=hvc0 ro root=/dev/mmcblk0p2 clk_ignore_unused rootwait earlycon=xenboot"
Adjust the Linux command line and the Dom0 memory size to your needs. Finally boot Xen:
 Marvell>> booti $xen_addr_r - $fdt_addr_r
Although the shipped U-Boot does not support the "source" command, you can store those commands in the environment and save it with "saveenv".
For general usage instructions please refer to the generic Xen ARM with Virtualization Extensions page.
----
The initial EspressoBin Xen support and this wiki page were created by Amit Singh Tomar <amittomer25@gmail.com>.
Category:XenARM
Category:Developers
Xen ARM with Virtualization Extensions/Salvator-X

== General information ==
This wiki describes how to run XEN on Renesas Salvator-X board with R-Car H3 SoC.
Due to the fact that Renesas provide their reference software in form of Yocto build instruction, it is provided additional steps in order to add XEN to the system being built. Those steps add meta-virtualization layer and a glue layer to the Yocto build.
XEN hypervisor is taken from a master branch of xen.git.
This wiki relies on Renesas Yocto version 2.19.0.
== Known limitations ==
Due to different XEN specifics there is a list of system deviations from Renesas'es reference software:
* ATF exits to bootloader in EL2 mode
* TEE client is not functional
* reserved memory is not supported
* adsp, mmngr, mmngrbuf are dropped because they rely on reserved memory
Because of the fact that Renesas BSP u-boot uses cli-simple, adequate manual updating of fdt is not possible. So within the glue layer it is provided a device tree with changes required for XEN.
Please consider changes to dts and appropriate dtb load in case you want system configuration changes (i.e. nfs server ip, dom0 root option, xen command line, etc.)
== System build ==
* Follow the instruction to the system build step 10, including it.
* Add meta-virtualization layer with its dependencies:
 git clone git://git.yoctoproject.org/meta-virtualization -b morty ../meta-virtualization
 bitbake-layers add-layer ../meta-virtualization
 git clone git://git.yoctoproject.org/meta-selinux -b jethro ../meta-selinux
 bitbake-layers add-layer ../meta-selinux
 bitbake-layers add-layer ../meta-openembedded/meta-networking
 bitbake-layers add-layer ../meta-openembedded/meta-python
* Add the glue layer
 git clone https://github.com/xen-troops/meta-demo -b master ../meta-demo
 bitbake-layers add-layer ../meta-demo/meta-rcar-gen3-xen
* Continue build steps from instruction 
== BL2 & U-boot update procedure ==
It is crucial to update ATF on the board in order to get XEN start in EL2.
Please follow your board manual to find out ATF update procedure. 
== Running the system ==
Setup tftp and nfs as described in instruction.
Please consider that default expected nfs server setup is nfsroot=192.168.1.100:/srv/dom0.
For the system boot issue from u-boot cli:
 setenv bootargs #empties the bootargs added by u-boot
 tftp 0x48000000 Image-r8a7795-salvator-x-xen.dtb
 tftp 0x48080000 xen-salvator-x.uImage
 tftp 0x7a000000 Image
 bootm 0x48080000 - 0x48000000
Category:XenARM
Category:Yocto
Category:Developers
Xen Architecture

__NOTOC__
= Topics =
* XenTerminology
* XenIntro - introduction to Xen : Implementation details and Design
* XenEventChannels - the use of event channels in Xen, including common channels
* XenMemoryManagement - page table updates, sharing pages between domains etc.
* XenStoreReference - a reference for the nodes in XenStore
* XenBusDriver - a reference for those writing Xen aware Linux kernel modules, especially `split' drivers.
* XenSegments - the use of segments, including the use of negative offsets
* VirtualFramebuffer - design/implementation discussion for a Xen Virtual Framebuffer
* XenSplitDrivers - Architecture for Split Drivers Within Xen
NB: Some of the above articles were either not written by Xen developers or are considerably out of date. If you are capable of updating/correcting this information, please do. Also, while user contributions are greatly appreciated, if you're not sure if you understand a particular subsystem fully before doing a write-up, please use an appropriate disclaimer.
= Articles and Papers =
A complete list of Xen related papers and publications is available at http://www.xen.org/community/xenpapers.html
Category:Xen
Category:Users
Category:Beginners
Category:Index
Category:Overview
Xen Benchmarks

See: 
* Ubuntu 15.10: KVM vs. Xen vs. VirtualBox Virtualization Performance (Oct 2015)
* PVHVM Xen Is Smacking Xen PV's Performance (Nov 2013)
* Debian PVHVM vs PV (Nov 2013)
* Welcome to Performance Cloud Servers; Have Some Benchmarks! (Oct 2013)
* Hypervisor virtual network performance comparison from a virtualized load balancer point of view (April 2012) 
* Xen NUMA Benchmarks (April 2012)
* Ubuntu 12.04 KVM/Xen Virtualization (March 2012)
* Ubuntu 12.04 Intel i7 Clarksfield Virtualization (March 2012)
* Baremetal vs. Xen vs. KVM — Redux (November 2011)
* Linux PV on HVM (November 2011)
Category:RefToExternalArticle
Category:Performance
Category:Xen
Xen Bridge Loop

This article describes the causing of bridge loops in dom0 and domU.
= Bridged Network under Xen Overview =
Xen uses bridged network by default. For detail, see: Xen Networking.
= Why STP is turned off? =
It will take longer for the bridge to "settle" when new vifs came online if STP is enabled. When DHCP is enabled, it may cause DHCP requests to time out.
On the other hand, turning off STP along with other parameters (hello/learning latencies) is part of a blanket effort to make the bridge dumb but efficient.
= What's the problem? =
This simple topology is not hiding bridges. If you intentionally set up soft bridges in the vm, loops may be established. Look at the following two scenarios:
There is a loop in switch0 and xenbr0:
 +-----------------------------------+
 | switch0 |
 +-----+--------+----------+-----+---+
 | | | |
 +-----+--------+-----+ PC2 PC3
 | | | |
 | +---+--------+---+ |
 | | | | | |
 | | peth0 peth1 | |
 | | | |
 | | xenbr0 | |
 | | | |
 | | vif0.0 vif0.1 | |
 | | | | | |
 | +---+--------+---+ |
 | | | |
 | eth0 eth1 |
 | |
 | Domain0 |
 +--------------------+
There is a loop in xenbr0 and vmbr0:
 +----------------------------------------------+
 | switch0 |
 +-----+------------------------------+-----+---+
 | | |
 +-----+-------------------------+ PC2 PC3
 | | |
 | +---+-----------------------+ |
 | | | | |
 | | peth0 xenbr0 | |
 | | | |
 | | vif0.0 vif1.0 vif1.1 | |
 | | | | | | |
 | +---+------------+------+---+ |
 | | | | |
 | | +------+------+-----+
 | | | | | 
 | | | +----+------+-----+
 | | | | | | |
 | | | | +--+------+---+ |
 | | | | | | | | |
 | eth0 | | | eth0 eth1 | |
 | | | | | |
 | | | | vmbr0 | |
 | | | +-------------+ | 
 | Domain0 | | Domain1 |
 +-----------+ +-----------------+
Both of them will cause the switch0 not working. Thus affect all PCs connected to switch0.
The solution is to enable STP on all switch and bridges. Note: only enable STP in one or two bridges is not enough.
= Reference =
* Linux bridge
* Understanding Spanning-Tree Protocol (Cisco)
* wikipedia:Spanning_tree_protocol
* Ethernet-bridge HOWTO
* Linux-bridge STP HOWTO
* Ebtables firewalling
Category:Xen
Category:Design Document
Category:Developers
Xen Case Studies

__NOTOC__
This page contains a collection of Xen hypervisor case studies showing the unique solutions being solved with the open source Xen hypervisor.
===Europe===
* Google ((video)
* Xen ATG Case Study (pdf)
* Xen Time Machine (pdf)
===North America===
* Amazon (video)
* Xen Brandeis Case Study (pdf)
* Pivot3 Case Study (pdf)
* Xen Avaya Case Study (pdf)
* Aplura Virtualization Slides (pdf)
Please contact community.manager@xen.org, if you would like to be added to this list.
Category:Beginners
Category:Community
Category:Index
Xen Debian.py

== Why ==
XenDebian.py:
* helps to install Debian VMs on XenServer and XCP (using XenAPI);
* is an example of XenAPI usage from Python.
== What ==
The code is accessible from GitHub. To make it easier to use the example of it's config file along the preseed config file are added.
I used XMLRPClib module directly rather than XenAPI python wrapper, because of XAPI developers. It seems that XenAPI may cause some problems and doesn't bring so many advantages.
== How ==
=== Direct code ===
You can just get a copy of the code from GitHub and use XenDebian.py directly. I.e.:
XenDebian.py -m p2-m1 -s p2-m1 -a 32 -M 2 -C 1 -d 6 -a http://files.your.company.com/XenDebian/preseed-6.cfg -r http://ftp.uk.debian.org/debian -v hub-04 -i "Box for Performance Team"
or using long options:
XenDebian.py --master p2-m1 --server p2-m1 --arch 32 --memory 2 --cpu 1 --distro 6 --answerfile http://files.your.company.com/XenDebian/preseed-6.cfg --repo http://ftp.uk.debian.org/debian --vm test4 --info "Box for Test"
=== Config file ===
* Rather then type all the necessary information (especially answerfile and repository addresses) you can create a config file. It has very simple format "option_name: value" (see the example file below).
* By default XenDebian tries to read a file define by the "--config/-c" option. If it fails will try xendebian.conf in the current directory and finally .xendebian.conf from the user home directory.
* You can mix commandline and config variable. Settings from command line overwrite values from config file.
* The example config file: 
: arch: 32
: distro: 6
: memory: 1.0
: cpu: 1
: vmname: new
: description: New VM prepared by XenDebian.py
: answerfile http://files.your.company.com/XenDebian/preseed-6.cfg 
: repo: http://ftp.uk.debian.com/debian
: server: xenserver
: master: xenserver
: username: root
: password: xenroot
=== Help ===
 [niewod on bizantium] /local/home/niewod #>XenDebian.py --help
 This is the tool to create a Debian based VM.
 It is controlled by following options:
 -c --configfile= string: name of a file with config
 (default: xendebian.conf and ~xendebian.py);
 -u --username= string: username to connect to the pool master/server;
 -p --password= string: password used to login into the pool master/server;
 -m --master= string: name of the pool master/server you want to connect to;
 -s --server= string: name of the server (host) you want to install your VM;
 -v --vm= string: name of the new VM;
 -i --info= string: description of the new VM;
 -d --distro= [5,6]: release number of Debian release;
 -a --answerfile= [address] : address of preseed file to use;
 -r --repo= [address]: address of local mirror;
 -A --arch= [32,64]: VM architecture;
 -C --cpu= int: number of virtual CPU assign to vm;
 -M --memory= float: number of memory in GB;
 
 
----
Category:Users
Category:Beginners
Category:Xen
Xen Developer Docs

== API & Protocol Documentation ==
Document(s) 	Description
Hypercall Interfaces 	API description of Xen hypercalls
Xenstore Protocol Specification 	
Xen Error Handling 	Describes different ways to handle errors
Xen HVM emulated device unplug protocol	The protocol covers three basic things: a)Disconnecting emulated devices; b)Getting log messages out of the drivers and into dom0; c)Allowing dom0 to block the loading of specific drivers.
Xen dump-core file format 	
== Debugging ==
Document(s) 	Description
Xen crash debugger notes	Xen has a simple gdb stub for doing post-mortem debugging. This document shows how to use it.
Kexec and Kdump for Xen 	This is a brief guide to using Kexec and Kdump in conjunction with Xen. This functionaly works at the level of the hypervisor and dom0 kernel. And will thus affect all guests running on a machine.
== How to use ... ==
Document(s) 	Description
Xen Hypervisor Command Line Options 	List of hypervisor command line options.
A Rough Introduction to Using Grant Tables	Grant tables are a mechanism for sharing and transferring frames between domains, without requiring the participating domains to be privileged.
== Notes on Experimental Features ==
Document(s) 	Description
How to use QEMU upstream	
VBD Interface 	
Virtual TPM support 	This document gives a short introduction to the virtual TPM support in XEN and goes as far as connecting a user domain to a virtual TPM instance and doing a short test to verify success. It is assumed that the user is fairly familiar with compiling and installing XEN and Linux on a machine.
Xen Paging 	
XSM:FLASK 	These notes are compiled from xen-devel questions and postings that have occurred since the inclusion of XSM. These notes are not intended to be definitive documentation but should address many common problems that arise when experimenting with XSM:FLASK.
Category:Developers
Category:Design Document
Xen Document Days/Acknowledgements/Jan2013

== Wiki ==
=== Overall Stats on Wiki ===
* 56499 characters changed in 126 changesets
* That equates to 11078K words changed (using an average word lenght of 5.1 in the English language)
* This excludes changes to docymentation in code and xen.org (of which there were a few)
=== Top Wiki Pages Changed ===
* Submitting Xen Patches with Git
* Help:Talk Pages
* Xen ARMv7 with Virtualization Extensions
* Xen Document Days/TODO
* Event Channel Internals
* Mainline Linux Kernel Configs
* Xen Networking
* Securing Xen
* Xen Version Compatibility
* Xen ARMv7 with Virtualization Extensions/Arndale
* Network Configuration Examples (Xen 4.1+)
* Minial-init
* :Category:Manual
* Xen Project Document Days
* Xen Development Projects
* Books
* User:Double-p
* Main Page
* Xen-tools
* Talk:XCP Roadmap
* Driver Domain
* Xen FAQ Compatibility
* Wiki Community
* Template:Project/doc2
* Template:GSoC Project/doc2
* Security vulnerability process draft
* :Category:Pages with comments
* Template:Action
* Ubuntu XCP Toolstack Improvements Spec
* How to Install a FreeBSD domU on a Linux Host
* Dom0
* New Panda Mascot Artwork
* :Category:Templates
* Compile the XCP toolstack from source
* XCP Development
* XCP 1.6 test instructions
* XCP Design and Architecture Docs
* XCP NIC Bonding
* NagiosXCP
* Template:Project
* Talk:Xen VGA Passthrough Tested Adapters
* Using XCP - preparing the toolstack
* Help:Contents
* XCP Management Tools
* :Category:Compatibility
* Template:GSoC Project
* Xen ARMv7 with Virtualization Extensions/FastModels
* Xen API (disambiguation)
* Xen / XCP / XCP on Linux Overview
* Vif-route
=== Top Wiki Contributors ===
* User:Royger
* User:Lars.kurth
* User:Ijc
* User:StefanoStabellini
* User:WeiLiu
* User:Dunlapg
* User:Double-p
* User:Anthony
* User:GarveyPatrickD
== Xen.org ==
* New page OpenPGP keys by Diziet
== In code docs ==
* Please add here, if you submitted patches
== IRC ==
More than 25 people participated on IRC, and we had vibrant discussions on how to change navigation and other items. There was a lot more focus this time on how we can improve the Wiki platform, finding stuff and making the wiki more consistent. The led to new sections in the TODO list, e.g. 
* Mediwiki Issues 
* XCP : Open work items
Xen Document Days/Volunteers

Go back to Xen Project Document Days
= Moderators =
We are always looking for moderators for Asia Pacific, Europe, US who commits to being on the #xendocs IRC channels for a few hours and points other participates to this document and generally provides advice. Please add yourself to the date below
== January 27, 2014 (moderators needed) ==
* 0 GMT - 14 GMT: 
* 14 GMT - 24 GMT: User:Rcpavlicek
* 0 GMT(Jan 28) - 8GMT(Jan 28):
== Moderator Hall of Fame : Thank You! ==
* Mike Hamanaka
* Lars Kurth
Category:Community
Category:Events
Xen FAQ Booting

== I have problems getting Xen or dom0 kernel to boot, how can I set up a serial console to log and troubleshoot the boot process? ==
See the XenSerialConsole wiki page.
== I am booting my new EFI-based system. I se "Loading ramdisk..." and then it stops ==
Go into your BIOS and enable Legacy Booting (non-EFI). If it still doesn't work, upgrade the BIOS to its latest version. 
== Where do I find more Booting FAQs? ==
See Xen_Common_Problems#Booting
Category:Xen
Category:FAQ
Category:Users
Category:Beginners
Xen FAQ Console

=== I have an Xen image that was built for a graphical console (VNC). Is there any way to change it to the non-graphical console (xen console)? ===
For HVM guest, you need to enable serial port on domU config file (example here: http://pastebin.com/fb6fe631), and setup domU to use serial port (ttyS0 on Linux) by modifying (for Linux domU) /boot/grub/menu.lst, /etc/inittab, and /etc/securetty.
If it's PV guest, you need to set up domU to use xen console (which is xvc0 on current xen version,
hvc0 on pv_ops kernel). It's similar to setting up domU for serial console, you just need to change ttyS0 to hvc0. An example of domU setup that can use both xvc0 and vnc console is here : http://pastebin.com/f6a5022bf
=== How do I run xl console to an HVM DomU? ===
By default "xl console" on an HVM guest will attach to the virtual serial port, but this requires serial = "pty" in your guest configuration file.
This requires that your guest OS is configured to use the serial console (e.g. serial console for a Linux guest)
=== How do I connect to or detach from a console? ===
You can connect to a console directly when starting a domU:
<nowiki>
# xl create -c your-DomU-config
</nowiki>
This command will start a domU and connect to it's console immediately.
If you want to connect to a domU console that is already running you can do so using the domain name:
<nowiki>
# xl console your-DomU-name
</nowiki>
Detach from a console depends on the system / keyboard layout. 
*Default: <CTRL> ']'
*German keyboard :<CTRL> '5' (Works for Putty and gnome-terminal)
*German keyboard (Mac): <CTRL> <ALT> '6'
*Swedish keyboard (Mac with iTerm): <CTRL> 'å'
== Where do I find more Console FAQs? ==
See Xen Common Problems#Console
Category:Xen
Category:FAQ
Category:Users
Category:Beginners
Xen FAQ Devices

== Can I identify the physical device in DomU as phy:label=fslabel? ==
For my xen domUs I'm using a mixture of locah physical partitions (with LVM) and iSCSI disks. For local partitions, I don't have any problem, because LVM volumes are always the same. But for iSCSI disks, devices are assigned in the order they are connected, so I can't be sured that device that now is /dev/sdb (for example) will always be /dev/sdb.
So, is there any way to identify the physical device in the domU configuration not as phy:/dev/sdb, but something like phy:label=fslabel? Or is there any other solution to this problem?
I go with phy:/dev/disk/by-path/ip-*-iscsi-iqn.* If you assign iscsi luns directly as domU's fs without additional partitioning, you could probably also use /dev/disk/by-label/* or /dev/disk/by-uuid/*
Category:Xen
Category:FAQ
Category:Users
Category:Beginners
Xen FAQ Dom0

=== Why cannot I see all my RAM on my Dom0? ===
Domain 0 is a paravirt VM in reality, so the amount of ram you allocate to it is what you will see when using local tools like free, /proc/meminfo, top, etc.
To see the full system ram, you need to use the xl tools... and in this case, 'xl info' which will show you all the system resources, as opposed to the resources available to dom0.
Also, you have 16GB ram on the system... you probably already know this, but be aware that without a PAE enabled kernel (if you're using 32bit Xen) you'll only see 4GB of this. PAE will allow you to use up to 16, or maybe 32 (I don't remember what the upper limit for PAE enabled Xen is off the top of my head).
=== Is there any way of checking DomU's I/O from Dom0? === 
iostat (Debian: sysstat-package)
=== Can I allocate one CPU to the Dom0 exclusively? ===
Add this to the kernel boot line - dom0_max_vcpus=1.
To force dom0 to also run on a single pcpu also add dom0_vcpus_pin.
To try on an active system without a Reboot, use the following commands -
 # xl vcpu-set 0 1 
 # xl vcpu-pin 0 0 0
=== Running "xl info" I see the following memory available; what does the "free memory" mean? ===
 total_memory : 2046
 free_memory : 5
The entry "free_memory" from "xl info" shows memory not allocated to any domain (including dom0). "free", "top" (or whatever) shows free memory on that particular domain (in your case, dom0). You can adjust memory allocation per domain using "xl mem-set". The unit size is MiB.
=== How do I tell if I'm running in a dom0 or a domU? ===
Domain 0 will have a pseudo-file called /proc/xen/capabilities which will contain the string control_d. Some domUs will have the file and some will not; so a reliable shell test for running in Domain 0 would be:
 -e /proc/xen/capabilities && grep -q control_d /proc/xen/capabilities
=== Domain 0 Won't Shutdown and There Are ACPI Errors in the Boot Log ===
If your ACPI is not functioning correctly, try adding "acpi=off" to the boot arguments in grub.conf.
== There are messages saying my IOMMU is disabled on my 55x0 chipset ==
When booting, if you see:
(XEN) [VT-D]Disabling IOMMU due to Intel 5500/5520/X58 Chipset errata #47, #53 
(XEN) I/O virtualisation disabled 
consult this document for some workarounds.
== Where do I find more Dom0 FAQs? ==
See Xen Common Problems#Host/ Dom0
Category:Xen
Category:FAQ
Category:Users
Category:Beginners