diff --git a/virt/vm.md b/virt/vm.md
index 6a65c2c..7e19b60 100644
--- a/virt/vm.md
+++ b/virt/vm.md
@@ -2,7 +2,7 @@
title: Machine definition
description: Virtual machine hardware
published: true
-date: 2025-06-01T17:41:22.711Z
+date: 2025-06-02T17:41:18.805Z
tags:
editor: markdown
dateCreated: 2025-06-01T17:37:29.262Z
@@ -12,7 +12,29 @@ dateCreated: 2025-06-01T17:37:29.262Z
Libvirt uses XML files to define virtual machine hardware.
-In the context of libvirt, a virtual machine or guest system is called a domain. In turn, a domain type refers to the hypervisor used for running the virtual machine.
+In the context of libvirt, a virtual machine or guest system is called a domain.
+
+A domain *type* refers to the hypervisor used for running the virtual machine.
+
+- Truncated snippet of an imaginary virtual machine called *phyllome*:
+
+```
+
+ phyllome
+ 1
+ 1
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+```
+
+One can identify the domain type, KVM, the machine name, *phyllome*, the allocated memory, 1 GiB, the vCPU allocation, 1vCPU, the firmware type, UEFI.
+
+These elements are primarily managed by Linux and KVM, whereas the elements within the devices section are managed by QEMU. One can find the keyboard, for instance.
## Domain type
@@ -24,8 +46,7 @@ At the moment, Phyllome OS focuses solely on hardware-assisted virtualization wi
```
-Not all QEMU commands are supported by Libvirt. To [pass QEMU commands](https://www.libvirt.org/drvqemu.html#pass-through-of-arbitrary-qemu-commands
-), one need to use the following instead and add the QEMU command line at the end :
+Not all QEMU commands are supported by Libvirt. To [pass QEMU commands](https://www.libvirt.org/drvqemu.html#pass-through-of-arbitrary-qemu-commands), one need to use the following instead and add the QEMU command line at the end :
```
@@ -40,12 +61,46 @@ Not all QEMU commands are supported by Libvirt. To [pass QEMU commands](https://
```
-> If QEMU command lines are not immediately provided, it will automatically revert to simply `` upon writing changes to the domain
+> If QEMU command lines are not immediately provided, it will automatically revert to simply `` when writing changes to the domain definition
{.is-info}
-Under QEMU, the said domain definition translates to:
+Under QEMU, the said domain definition translates simply to:
```
qemu-system-x86_64 -enable-kvm [...]
```
+## Memory
+
+There are many ways to allocate memory. For maximum performance, one could reserve memory to virtual machine in such a way that it may not be used by the host or any other virtual machine.
+
+A sane default, which does not maximize performance, is the following:
+
+```
+
+[...]
+ 4
+ 1
+[...]
+
+
+
+
+```
+
+Up to 4 GiB of memory is allocated to the virtual machine, with a minimum of 1 GiB.
+
+A memballon device is defined, which can release memory to the host and other virtual machine in case it is not needed anymore.
+
+```
+
+[...]
+
+
+
+
+[...]
+
+```
+
+What is also done is to mark the memory as shared memory, which is necessary for other features to work, like *virtiofs*.
\ No newline at end of file