Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


SEABIOS updates to support reset and to simplify
Peter Dinda [Thu, 18 Jun 2015 21:41:46 +0000 (16:41 -0500)]
bios/seabios/.config
bios/seabios/out/bios.bin
bios/seabios/out/bios.bin.elf
bios/seabios/out/bios.bin.raw
bios/seabios/palacios_config
bios/seabios/src/Kconfig
bios/seabios/src/resume.c
bios/seabios/src/romlayout.S
bios/seabios/tools/layoutrom.pyc

index 992484a..150785b 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # SeaBIOS Configuration
-# Wed Mar 14 18:51:09 2012
+# Thu Jun 18 16:39:59 2015
 #
 
 #
@@ -9,10 +9,11 @@
 #
 # CONFIG_COREBOOT is not set
 # CONFIG_XEN is not set
+CONFIG_PALACIOS=y
 # CONFIG_THREADS is not set
 CONFIG_RELOCATE_INIT=y
 CONFIG_BOOTMENU=y
-CONFIG_BOOTSPLASH=y
+# CONFIG_BOOTSPLASH is not set
 CONFIG_BOOTORDER=y
 
 #
@@ -23,19 +24,12 @@ CONFIG_ATA_DMA=y
 CONFIG_ATA_PIO32=y
 # CONFIG_AHCI is not set
 CONFIG_VIRTIO_BLK=y
-CONFIG_FLOPPY=y
+# CONFIG_FLOPPY is not set
 CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
+# CONFIG_USB is not set
 CONFIG_SERIAL=y
 CONFIG_LPT=y
-CONFIG_USE_SMM=y
+# CONFIG_USE_SMM is not set
 # CONFIG_MTRR_INIT is not set
 
 #
@@ -45,8 +39,8 @@ CONFIG_DRIVES=y
 CONFIG_CDROM_BOOT=y
 CONFIG_CDROM_EMU=y
 CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
+# CONFIG_APMBIOS is not set
+# CONFIG_PNPBIOS is not set
 CONFIG_OPTIONROMS=y
 CONFIG_OPTIONROMS_DEPLOYED=y
 CONFIG_PMM=y
@@ -54,7 +48,7 @@ CONFIG_BOOT=y
 CONFIG_KEYBOARD=y
 CONFIG_KBD_CALL_INT15_4F=y
 CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
+# CONFIG_S3_RESUME is not set
 # CONFIG_DISABLE_A20 is not set
 
 #
index 561b6c5..ff7fad4 100644 (file)
Binary files a/bios/seabios/out/bios.bin and b/bios/seabios/out/bios.bin differ
index c011f97..6be2724 100755 (executable)
Binary files a/bios/seabios/out/bios.bin.elf and b/bios/seabios/out/bios.bin.elf differ
index e92e1b7..8ddcfea 100755 (executable)
Binary files a/bios/seabios/out/bios.bin.raw and b/bios/seabios/out/bios.bin.raw differ
index 992484a..150785b 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # SeaBIOS Configuration
-# Wed Mar 14 18:51:09 2012
+# Thu Jun 18 16:39:59 2015
 #
 
 #
@@ -9,10 +9,11 @@
 #
 # CONFIG_COREBOOT is not set
 # CONFIG_XEN is not set
+CONFIG_PALACIOS=y
 # CONFIG_THREADS is not set
 CONFIG_RELOCATE_INIT=y
 CONFIG_BOOTMENU=y
-CONFIG_BOOTSPLASH=y
+# CONFIG_BOOTSPLASH is not set
 CONFIG_BOOTORDER=y
 
 #
@@ -23,19 +24,12 @@ CONFIG_ATA_DMA=y
 CONFIG_ATA_PIO32=y
 # CONFIG_AHCI is not set
 CONFIG_VIRTIO_BLK=y
-CONFIG_FLOPPY=y
+# CONFIG_FLOPPY is not set
 CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
+# CONFIG_USB is not set
 CONFIG_SERIAL=y
 CONFIG_LPT=y
-CONFIG_USE_SMM=y
+# CONFIG_USE_SMM is not set
 # CONFIG_MTRR_INIT is not set
 
 #
@@ -45,8 +39,8 @@ CONFIG_DRIVES=y
 CONFIG_CDROM_BOOT=y
 CONFIG_CDROM_EMU=y
 CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
+# CONFIG_APMBIOS is not set
+# CONFIG_PNPBIOS is not set
 CONFIG_OPTIONROMS=y
 CONFIG_OPTIONROMS_DEPLOYED=y
 CONFIG_PMM=y
@@ -54,7 +48,7 @@ CONFIG_BOOT=y
 CONFIG_KEYBOARD=y
 CONFIG_KBD_CALL_INT15_4F=y
 CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
+# CONFIG_S3_RESUME is not set
 # CONFIG_DISABLE_A20 is not set
 
 #
index 338f51a..08471c3 100644 (file)
@@ -4,19 +4,27 @@ mainmenu "SeaBIOS Configuration"
 
 menu "General Features"
 
+  choice
+    prompt "Target"
+    default PALACIOS
+
     config COREBOOT
         bool "Build for coreboot"
-        default n
         help
             Configure as a coreboot payload.
 
     config XEN
-        depends on !COREBOOT
         bool "Build for Xen HVM"
-        default n
         help
             Configure to be used by xen hvmloader, for a HVM guest.
 
+    config PALACIOS
+        bool "Build for Palacios VMM"
+        help
+            Configure to be used by the Palacios VMM for a regular or ROS guest
+
+  endchoice
+
     config THREADS
         bool "Parallelize hardware init"
         default y
index 4390fb5..59dc337 100644 (file)
@@ -128,18 +128,26 @@ tryReboot(void)
     dprintf(1, "Attempting a hard reboot\n");
 
     // Setup for reset on qemu.
-    if (! CONFIG_COREBOOT) {
+    if (! CONFIG_COREBOOT && !CONFIG_PALACIOS) {
         qemu_prep_reset();
         if (HaveRunPost)
             apm_shutdown();
     }
 
+    HaveRunPost=0;
+
+    dprintf(1,"Attempting i8042 reboot\n");
+
     // Try keyboard controller reboot.
     i8042_reboot();
 
+    dprintf(1,"Attempting PCI reboot\n");
+
     // Try PCI 0xcf9 reboot
     pci_reboot();
 
+    dprintf(1,"Attempting int3 reboot\n");
+
     // Try triple fault
     asm volatile("int3");
 
index 5983a4a..c6d0248 100644 (file)
@@ -459,7 +459,9 @@ entry_18:
         ORG 0xe05b
 entry_post:
         cmpl $0, %cs:HaveRunPost                // Check for resume/reboot
-        jnz entry_resume
+               
+       //  Do not attempt a resume on Palacios
+    //        jnz entry_resume
         ENTRY_INTO32 _cfunc32flat_handle_post   // Normal entry point
 
         ORG 0xe2c3
index f0425ce..4f8b2b5 100644 (file)
Binary files a/bios/seabios/tools/layoutrom.pyc and b/bios/seabios/tools/layoutrom.pyc differ