diff --git a/labs/lab-virtual_game_machine/lab-virtual_game_machine.md b/labs/lab-virtual_game_machine/lab-virtual_game_machine.md index ad497e0036a7b81ffdcc1a5c853cea7cc868d44c..34af85fe0b46e5c10f5313b4fa8c693cf4ed142c 100644 --- a/labs/lab-virtual_game_machine/lab-virtual_game_machine.md +++ b/labs/lab-virtual_game_machine/lab-virtual_game_machine.md @@ -357,3 +357,26 @@ Pour vous aider à tester votre VMM et vous assurer que son comportement est cor Le binaire de l'hyperviseur complet à réaliser vous sera également fourni afin que vous puissiez vérifier que le code de votre guest est également correct. +## Guests à disposition + +Plusieurs guest OSes sont mis à votre disposition afin que vous puissiez valider que le comportement de votre VMM est correct. Ces guests se trouvent dans le répertoire `validation/guests`. Voici la liste avec une brève description de ce qu'ils réalisent et le comportement attendu par le VMM\ : + +### guest_pv_1.bin + +Ce guest réalise 11 hypercalls afin d'afficher du texte sur la console virtuelle. Le texte affiché par le VMM est donné ci-dessous\ : + +\footnotesize +``` +Looping 10 times: +Hello from Guest OS (0/9) +Hello from Guest OS (1/9) +Hello from Guest OS (2/9) +Hello from Guest OS (3/9) +Hello from Guest OS (4/9) +Hello from Guest OS (5/9) +Hello from Guest OS (6/9) +Hello from Guest OS (7/9) +Hello from Guest OS (8/9) +Hello from Guest OS (9/9) +``` +\normalsize diff --git a/labs/lab-virtual_game_machine/skeleton/guest/Makefile b/labs/lab-virtual_game_machine/skeleton/guest/Makefile index 3cf535c8a537bb7c30141b4c25a846a616c8e9d6..76f484458d08e3ad5583cac96991a706e5b77320 100644 --- a/labs/lab-virtual_game_machine/skeleton/guest/Makefile +++ b/labs/lab-virtual_game_machine/skeleton/guest/Makefile @@ -1,4 +1,4 @@ -BAREMETAL_FLAGS=-m32 -ffreestanding -nostdlib -fno-builtin -fno-stack-protector -fno-pie -static -O3 +BAREMETAL_FLAGS=-m32 -march=i386 -ffreestanding -nostdlib -fno-builtin -fno-stack-protector -fno-pie -static CC=gcc -std=gnu17 $(BAREMETAL_FLAGS) -Wall -Wextra -MMD -Ishared -I../.. -I.. CC+=-DPV=$(PV) diff --git a/labs/lab-virtual_game_machine/validation/guests/guest_pv_1.bin b/labs/lab-virtual_game_machine/validation/guests/guest_pv_1.bin new file mode 100755 index 0000000000000000000000000000000000000000..27a2b278e52964d5d7528e56f73f09380824d75e Binary files /dev/null and b/labs/lab-virtual_game_machine/validation/guests/guest_pv_1.bin differ