All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] efidisk: move device path helpers in core for efinet
@ 2015-04-19  8:01 Andrei Borzenkov
  2015-04-19  8:01 ` [PATCH 2/2] efinet: fix lost packets due to active MNP instances Andrei Borzenkov
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Andrei Borzenkov @ 2015-04-19  8:01 UTC (permalink / raw)
  To: grub-devel; +Cc: mmazur, mchang, edk2-devel, msalter

---
 grub-core/disk/efi/efidisk.c | 61 ++++++++------------------------------------
 grub-core/kern/efi/efi.c     | 41 +++++++++++++++++++++++++++++
 include/grub/efi/efi.h       |  4 +++
 3 files changed, 55 insertions(+), 51 deletions(-)

diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
index 60a6d3c..a8783a3 100644
--- a/grub-core/disk/efi/efidisk.c
+++ b/grub-core/disk/efi/efidisk.c
@@ -43,47 +43,6 @@ static struct grub_efidisk_data *fd_devices;
 static struct grub_efidisk_data *hd_devices;
 static struct grub_efidisk_data *cd_devices;
 
-/* Duplicate a device path.  */
-static grub_efi_device_path_t *
-duplicate_device_path (const grub_efi_device_path_t *dp)
-{
-  grub_efi_device_path_t *p;
-  grub_size_t total_size = 0;
-
-  for (p = (grub_efi_device_path_t *) dp;
-       ;
-       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
-    {
-      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
-      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
-	break;
-    }
-
-  p = grub_malloc (total_size);
-  if (! p)
-    return 0;
-
-  grub_memcpy (p, dp, total_size);
-  return p;
-}
-
-/* Return the device path node right before the end node.  */
-static grub_efi_device_path_t *
-find_last_device_path (const grub_efi_device_path_t *dp)
-{
-  grub_efi_device_path_t *next, *p;
-
-  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
-    return 0;
-
-  for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p);
-       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
-       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
-    ;
-
-  return p;
-}
-
 static struct grub_efidisk_data *
 make_devices (void)
 {
@@ -110,7 +69,7 @@ make_devices (void)
       if (! dp)
 	continue;
 
-      ldp = find_last_device_path (dp);
+      ldp = grub_efi_find_last_device_path (dp);
       if (! ldp)
 	/* This is empty. Why?  */
 	continue;
@@ -150,11 +109,11 @@ find_parent_device (struct grub_efidisk_data *devices,
   grub_efi_device_path_t *dp, *ldp;
   struct grub_efidisk_data *parent;
 
-  dp = duplicate_device_path (d->device_path);
+  dp = grub_efi_duplicate_device_path (d->device_path);
   if (! dp)
     return 0;
 
-  ldp = find_last_device_path (dp);
+  ldp = grub_efi_find_last_device_path (dp);
   ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
   ldp->length = sizeof (*ldp);
@@ -180,11 +139,11 @@ is_child (struct grub_efidisk_data *child,
   grub_efi_device_path_t *dp, *ldp;
   int ret;
 
-  dp = duplicate_device_path (child->device_path);
+  dp = grub_efi_duplicate_device_path (child->device_path);
   if (! dp)
     return 0;
 
-  ldp = find_last_device_path (dp);
+  ldp = grub_efi_find_last_device_path (dp);
   ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
   ldp->length = sizeof (*ldp);
@@ -207,8 +166,8 @@ add_device (struct grub_efidisk_data **devices, struct grub_efidisk_data *d)
     {
       int ret;
 
-      ret = grub_efi_compare_device_paths (find_last_device_path ((*p)->device_path),
-					   find_last_device_path (d->device_path));
+      ret = grub_efi_compare_device_paths (grub_efi_find_last_device_path ((*p)->device_path),
+					   grub_efi_find_last_device_path (d->device_path));
       if (ret == 0)
 	ret = grub_efi_compare_device_paths ((*p)->device_path,
 					     d->device_path);
@@ -795,7 +754,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
   if (! dp)
     return 0;
 
-  ldp = find_last_device_path (dp);
+  ldp = grub_efi_find_last_device_path (dp);
   if (! ldp)
     return 0;
 
@@ -810,14 +769,14 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
 
       /* It is necessary to duplicate the device path so that GRUB
 	 can overwrite it.  */
-      dup_dp = duplicate_device_path (dp);
+      dup_dp = grub_efi_duplicate_device_path (dp);
       if (! dup_dp)
 	return 0;
 
       while (1)
 	{
 	  grub_efi_device_path_t *dup_ldp;
-	  dup_ldp = find_last_device_path (dup_dp);
+	  dup_ldp = grub_efi_find_last_device_path (dup_dp);
 	  if (!(GRUB_EFI_DEVICE_PATH_TYPE (dup_ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE
 		&& (GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE
 		    || GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)))
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index b9eb1ab..49a1501 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -394,6 +394,47 @@ grub_efi_get_device_path (grub_efi_handle_t handle)
 				 GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
 }
 
+/* Return the device path node right before the end node.  */
+grub_efi_device_path_t *
+grub_efi_find_last_device_path (const grub_efi_device_path_t *dp)
+{
+  grub_efi_device_path_t *next, *p;
+
+  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
+    return 0;
+
+  for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p);
+       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
+       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
+    ;
+
+  return p;
+}
+
+/* Duplicate a device path.  */
+grub_efi_device_path_t *
+grub_efi_duplicate_device_path (const grub_efi_device_path_t *dp)
+{
+  grub_efi_device_path_t *p;
+  grub_size_t total_size = 0;
+
+  for (p = (grub_efi_device_path_t *) dp;
+       ;
+       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
+    {
+      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
+      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
+	break;
+    }
+
+  p = grub_malloc (total_size);
+  if (! p)
+    return 0;
+
+  grub_memcpy (p, dp, total_size);
+  return p;
+}
+
 static void
 dump_vendor_path (const char *type, grub_efi_vendor_device_path_t *vendor)
 {
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index 489cf9e..0e6fd86 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -53,6 +53,10 @@ void EXPORT_FUNC(grub_efi_print_device_path) (grub_efi_device_path_t *dp);
 char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp);
 grub_efi_device_path_t *
 EXPORT_FUNC(grub_efi_get_device_path) (grub_efi_handle_t handle);
+grub_efi_device_path_t *
+EXPORT_FUNC(grub_efi_find_last_device_path) (const grub_efi_device_path_t *dp);
+grub_efi_device_path_t *
+EXPORT_FUNC(grub_efi_duplicate_device_path) (const grub_efi_device_path_t *dp);
 grub_err_t EXPORT_FUNC (grub_efi_finish_boot_services) (grub_efi_uintn_t *outbuf_size, void *outbuf,
 							grub_efi_uintn_t *map_key,
 							grub_efi_uintn_t *efi_desc_size,
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-19  8:01 [PATCH 1/2] efidisk: move device path helpers in core for efinet Andrei Borzenkov
@ 2015-04-19  8:01 ` Andrei Borzenkov
  2015-04-20  6:30   ` Michael Chang
  2015-04-29 15:42 ` [PATCH 1/2] efidisk: move device path helpers in core for efinet Vladimir 'phcoder' Serbinenko
  2015-05-07 14:53 ` Vladimir 'φ-coder/phcoder' Serbinenko
  2 siblings, 1 reply; 19+ messages in thread
From: Andrei Borzenkov @ 2015-04-19  8:01 UTC (permalink / raw)
  To: grub-devel; +Cc: mmazur, mchang, edk2-devel, msalter

EDK2 network stack is based on Managed Network Protocol which is layered
on top of Simple Management Protocol and does background polling. This
polling races with grub for received (and probably trasmitted) packets
which causes either serious slowdown or complete failure to load files.

Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
bound SNP instance as well. This means we get three cards for every
physical adapter when enumerating. Not only is this confusing, this
may result in grub ignoring packets that come in via the "wrong" card.

Example of device hierarchy is

 Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
   Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
     Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
     Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)

Skip PXE created virtual devices and open SNP on base device exclusively.
This destroys all child MNP instances and stops background polling.  We
cannot do it for virtual devices anyway as PXE would probably attempt
to destroy them when stopped and current OVMF crashes when we try to do it.

Exclusive open cannot be done when enumerating cards, as it would destroy
PXE information we need to autoconfigure interface; and it cannot be done
during autoconfiguration as we need to do it for non-PXE boot as well. So
move SNP open to card ->open method and add matching ->close to clean up.

References: https://savannah.gnu.org/bugs/?41731
---
 grub-core/net/drivers/efi/efinet.c | 147 ++++++++++++++++++++++++++++---------
 1 file changed, 112 insertions(+), 35 deletions(-)

diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
index f171f20..5777016 100644
--- a/grub-core/net/drivers/efi/efinet.c
+++ b/grub-core/net/drivers/efi/efinet.c
@@ -142,9 +142,72 @@ get_card_packet (struct grub_net_card *dev)
   return nb;
 }
 
+static grub_err_t
+open_card (struct grub_net_card *dev)
+{
+  grub_efi_simple_network_t *net;
+
+  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
+				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
+  if (! net)
+    /* This should not happen... Why?  */
+    return GRUB_ERR_BAD_DEVICE;
+
+  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
+      && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
+    return GRUB_ERR_BAD_DEVICE;
+
+  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
+    return GRUB_ERR_BAD_DEVICE;
+
+  if (net->mode->state == GRUB_EFI_NETWORK_STARTED
+      && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
+    return GRUB_ERR_BAD_DEVICE;
+
+  dev->mtu = net->mode->max_packet_size;
+
+  dev->txbufsize = ALIGN_UP (dev->mtu, 64) + 256;
+  dev->txbuf = grub_zalloc (dev->txbufsize);
+  if (!dev->txbuf)
+    {
+      grub_print_error ();
+      return GRUB_ERR_BAD_DEVICE;
+    }
+  dev->txbusy = 0;
+
+  dev->rcvbufsize = ALIGN_UP (dev->mtu, 64) + 256;
+
+  grub_memcpy (dev->default_address.mac,
+	       net->mode->current_address,
+	       sizeof (dev->default_address.mac));
+
+  dev->efi_net = net;
+  return GRUB_ERR_NONE;
+}
+
+static void
+close_card (struct grub_net_card *dev)
+{
+  if (dev->txbuf)
+    {
+      grub_free (dev->txbuf);
+      dev->txbuf = NULL;
+    }
+
+  if (dev->rcvbuf)
+    {
+      grub_free (dev->rcvbuf);
+      dev->rcvbuf = NULL;
+    }
+
+  /* FIXME do we need to close Simple Network Protocol here? */
+}
+
 static struct grub_net_card_driver efidriver =
   {
     .name = "efinet",
+    .open = open_card,
+    .close = close_card,
     .send = send_card_buffer,
     .recv = get_card_packet
   };
@@ -172,24 +235,29 @@ grub_efinet_findcards (void)
     return;
   for (handle = handles; num_handles--; handle++)
     {
-      grub_efi_simple_network_t *net;
       struct grub_net_card *card;
-
-      net = grub_efi_open_protocol (*handle, &net_io_guid,
-				    GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-      if (! net)
-	/* This should not happen... Why?  */
+      grub_efi_device_path_t *dp, *parent = NULL, *child = NULL;
+
+      /* EDK2 UEFI PXE drivers creates IPv4 and IPv6 messaging devices as
+	 children of main MAC messaging device. We only need one device with
+	 bound SNP per physical card, otherwise they compete with each other
+	 when polling for incoming packets.
+       */
+      dp = grub_efi_get_device_path (*handle);
+      if (!dp)
 	continue;
-
-      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
-	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
-	continue;
-
-      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
-	continue;
-
-      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
-	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
+      for (; ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp); dp = GRUB_EFI_NEXT_DEVICE_PATH (dp))
+	{
+	  parent = child;
+	  child = dp;
+	}
+      if (child
+	  && GRUB_EFI_DEVICE_PATH_TYPE (child) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	  && (GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
+	      || GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE)
+	  && parent
+	  && GRUB_EFI_DEVICE_PATH_TYPE (parent) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	  && GRUB_EFI_DEVICE_PATH_SUBTYPE (parent) == GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE)
 	continue;
 
       card = grub_zalloc (sizeof (struct grub_net_card));
@@ -200,28 +268,11 @@ grub_efinet_findcards (void)
 	  return;
 	}
 
-      card->mtu = net->mode->max_packet_size;
-      card->txbufsize = ALIGN_UP (card->mtu, 64) + 256;
-      card->txbuf = grub_zalloc (card->txbufsize);
-      if (!card->txbuf)
-	{
-	  grub_print_error ();
-	  grub_free (handles);
-	  grub_free (card);
-	  return;
-	}
-      card->txbusy = 0;
-
-      card->rcvbufsize = ALIGN_UP (card->mtu, 64) + 256;
-
       card->name = grub_xasprintf ("efinet%d", i++);
       card->driver = &efidriver;
       card->flags = 0;
       card->default_address.type = GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET;
-      grub_memcpy (card->default_address.mac,
-		   net->mode->current_address,
-		   sizeof (card->default_address.mac));
-      card->efi_net = net;
+      card->efi_net = NULL;
       card->efi_handle = *handle;
 
       grub_net_card_register (card);
@@ -251,7 +302,33 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
     if (! cdp)
       continue;
     if (grub_efi_compare_device_paths (dp, cdp) != 0)
-      continue;
+      {
+	grub_efi_device_path_t *ldp, *dup_dp, *dup_ldp;
+	int match;
+
+	/* EDK2 PXE implementation creates pseudo devices with type IPv4/IPv6
+	   as children of Ethernet card and binds PXE and Load File protocols
+	   to it. Loaded Image Device Path protocol will point to these pseudo
+	   devices. We skip them when enumerating cards, so here we need to
+	   find matching MAC device.
+         */
+	ldp = grub_efi_find_last_device_path (dp);
+	if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	    || (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
+		&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE))
+	  continue;
+	dup_dp = grub_efi_duplicate_device_path (dp);
+	if (!dup_dp)
+	  continue;
+	dup_ldp = grub_efi_find_last_device_path (dup_dp);
+	dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
+	dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
+	dup_ldp->length = sizeof (*dup_ldp);
+	match = grub_efi_compare_device_paths (dup_dp, cdp) == 0;
+	grub_free (dup_dp);
+	if (!match)
+	  continue;
+      }
     pxe = grub_efi_open_protocol (hnd, &pxe_io_guid,
 				  GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
     if (! pxe)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-19  8:01 ` [PATCH 2/2] efinet: fix lost packets due to active MNP instances Andrei Borzenkov
@ 2015-04-20  6:30   ` Michael Chang
  2015-04-21  6:12     ` [edk2] " Michael Chang
  0 siblings, 1 reply; 19+ messages in thread
From: Michael Chang @ 2015-04-20  6:30 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, msalter, mmazur

On Sun, Apr 19, 2015 at 11:01:11AM +0300, Andrei Borzenkov wrote:
> EDK2 network stack is based on Managed Network Protocol which is layered
> on top of Simple Management Protocol and does background polling. This
> polling races with grub for received (and probably trasmitted) packets
> which causes either serious slowdown or complete failure to load files.
> 
> Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
> bound SNP instance as well. This means we get three cards for every
> physical adapter when enumerating. Not only is this confusing, this
> may result in grub ignoring packets that come in via the "wrong" card.
> 
> Example of device hierarchy is
> 
>  Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
>    Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
>      Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
>      Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
> 
> Skip PXE created virtual devices and open SNP on base device exclusively.
> This destroys all child MNP instances and stops background polling.  We
> cannot do it for virtual devices anyway as PXE would probably attempt
> to destroy them when stopped and current OVMF crashes when we try to do it.
> 
> Exclusive open cannot be done when enumerating cards, as it would destroy
> PXE information we need to autoconfigure interface; and it cannot be done
> during autoconfiguration as we need to do it for non-PXE boot as well. So
> move SNP open to card ->open method and add matching ->close to clean up.
> 
> References: https://savannah.gnu.org/bugs/?41731
> ---
>  grub-core/net/drivers/efi/efinet.c | 147 ++++++++++++++++++++++++++++---------
>  1 file changed, 112 insertions(+), 35 deletions(-)
> 
> diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> index f171f20..5777016 100644
> --- a/grub-core/net/drivers/efi/efinet.c
> +++ b/grub-core/net/drivers/efi/efinet.c
> @@ -142,9 +142,72 @@ get_card_packet (struct grub_net_card *dev)
>    return nb;
>  }
>  
> +static grub_err_t
> +open_card (struct grub_net_card *dev)
> +{
> +  grub_efi_simple_network_t *net;

I'm not sure about adding null check for dev->efi_net here is necessary
or not, as we don't close it in close_card so that reopening a closed
interface would make open_protocol fail with EFI_ACCESS_DENIED and in
turn makes the entire open_card funtion fail with GRUB_ERR_BAD_DEVICE.

> +
> +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> +  if (! net)
> +    /* This should not happen... Why?  */
> +    return GRUB_ERR_BAD_DEVICE;
> +
> +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> +      && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> +    return GRUB_ERR_BAD_DEVICE;
> +
> +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> +    return GRUB_ERR_BAD_DEVICE;
> +
> +  if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> +      && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> +    return GRUB_ERR_BAD_DEVICE;
> +
> +  dev->mtu = net->mode->max_packet_size;
> +
> +  dev->txbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> +  dev->txbuf = grub_zalloc (dev->txbufsize);
> +  if (!dev->txbuf)
> +    {
> +      grub_print_error ();
> +      return GRUB_ERR_BAD_DEVICE;
> +    }
> +  dev->txbusy = 0;
> +
> +  dev->rcvbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> +
> +  grub_memcpy (dev->default_address.mac,
> +	       net->mode->current_address,
> +	       sizeof (dev->default_address.mac));
> +
> +  dev->efi_net = net;
> +  return GRUB_ERR_NONE;
> +}
> +
> +static void
> +close_card (struct grub_net_card *dev)
> +{
> +  if (dev->txbuf)
> +    {
> +      grub_free (dev->txbuf);
> +      dev->txbuf = NULL;
> +    }
> +
> +  if (dev->rcvbuf)
> +    {
> +      grub_free (dev->rcvbuf);
> +      dev->rcvbuf = NULL;
> +    }
> +
> +  /* FIXME do we need to close Simple Network Protocol here? */

The question from me is why not? :)

If we don't close it, the consequence might prevent other application
(for eg, the chainloaded one from grub) from using managed network
protocol or related one ?

The rest of the patch looks good to me and a lot better than my
workaround patch. Thanks for you work on this.

I can give this patch a test to see if it fixed the slowness issue I
have also experienced in OVMF for IPv4 networking and also together with
my net_bootp6 patch.

Thanks,
Michael

> +}
> +
>  static struct grub_net_card_driver efidriver =
>    {
>      .name = "efinet",
> +    .open = open_card,
> +    .close = close_card,
>      .send = send_card_buffer,
>      .recv = get_card_packet
>    };
> @@ -172,24 +235,29 @@ grub_efinet_findcards (void)
>      return;
>    for (handle = handles; num_handles--; handle++)
>      {
> -      grub_efi_simple_network_t *net;
>        struct grub_net_card *card;
> -
> -      net = grub_efi_open_protocol (*handle, &net_io_guid,
> -				    GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
> -      if (! net)
> -	/* This should not happen... Why?  */
> +      grub_efi_device_path_t *dp, *parent = NULL, *child = NULL;
> +
> +      /* EDK2 UEFI PXE drivers creates IPv4 and IPv6 messaging devices as
> +	 children of main MAC messaging device. We only need one device with
> +	 bound SNP per physical card, otherwise they compete with each other
> +	 when polling for incoming packets.
> +       */
> +      dp = grub_efi_get_device_path (*handle);
> +      if (!dp)
>  	continue;
> -
> -      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> -	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> -	continue;
> -
> -      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> -	continue;
> -
> -      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> -	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> +      for (; ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp); dp = GRUB_EFI_NEXT_DEVICE_PATH (dp))
> +	{
> +	  parent = child;
> +	  child = dp;
> +	}
> +      if (child
> +	  && GRUB_EFI_DEVICE_PATH_TYPE (child) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	  && (GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
> +	      || GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE)
> +	  && parent
> +	  && GRUB_EFI_DEVICE_PATH_TYPE (parent) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	  && GRUB_EFI_DEVICE_PATH_SUBTYPE (parent) == GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE)
>  	continue;
>  
>        card = grub_zalloc (sizeof (struct grub_net_card));
> @@ -200,28 +268,11 @@ grub_efinet_findcards (void)
>  	  return;
>  	}
>  
> -      card->mtu = net->mode->max_packet_size;
> -      card->txbufsize = ALIGN_UP (card->mtu, 64) + 256;
> -      card->txbuf = grub_zalloc (card->txbufsize);
> -      if (!card->txbuf)
> -	{
> -	  grub_print_error ();
> -	  grub_free (handles);
> -	  grub_free (card);
> -	  return;
> -	}
> -      card->txbusy = 0;
> -
> -      card->rcvbufsize = ALIGN_UP (card->mtu, 64) + 256;
> -
>        card->name = grub_xasprintf ("efinet%d", i++);
>        card->driver = &efidriver;
>        card->flags = 0;
>        card->default_address.type = GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET;
> -      grub_memcpy (card->default_address.mac,
> -		   net->mode->current_address,
> -		   sizeof (card->default_address.mac));
> -      card->efi_net = net;
> +      card->efi_net = NULL;
>        card->efi_handle = *handle;
>  
>        grub_net_card_register (card);
> @@ -251,7 +302,33 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
>      if (! cdp)
>        continue;
>      if (grub_efi_compare_device_paths (dp, cdp) != 0)
> -      continue;
> +      {
> +	grub_efi_device_path_t *ldp, *dup_dp, *dup_ldp;
> +	int match;
> +
> +	/* EDK2 PXE implementation creates pseudo devices with type IPv4/IPv6
> +	   as children of Ethernet card and binds PXE and Load File protocols
> +	   to it. Loaded Image Device Path protocol will point to these pseudo
> +	   devices. We skip them when enumerating cards, so here we need to
> +	   find matching MAC device.
> +         */
> +	ldp = grub_efi_find_last_device_path (dp);
> +	if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	    || (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
> +		&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE))
> +	  continue;
> +	dup_dp = grub_efi_duplicate_device_path (dp);
> +	if (!dup_dp)
> +	  continue;
> +	dup_ldp = grub_efi_find_last_device_path (dup_dp);
> +	dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
> +	dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
> +	dup_ldp->length = sizeof (*dup_ldp);
> +	match = grub_efi_compare_device_paths (dup_dp, cdp) == 0;
> +	grub_free (dup_dp);
> +	if (!match)
> +	  continue;
> +      }
>      pxe = grub_efi_open_protocol (hnd, &pxe_io_guid,
>  				  GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>      if (! pxe)
> -- 
> 2.1.4
> 

-- 
Michael Chang
Software Engineer
Rm. B, 26F, No.216, Tun Hwa S. Rd., Sec.2
Taipei 106, Taiwan, R.O.C
+886223760030
mchang@suse.com
SUSE


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-20  6:30   ` Michael Chang
@ 2015-04-21  6:12     ` Michael Chang
  2015-04-21  6:49       ` Michael Chang
                         ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Michael Chang @ 2015-04-21  6:12 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, mmazur

On Mon, Apr 20, 2015 at 02:30:00PM +0800, Michael Chang wrote:
> On Sun, Apr 19, 2015 at 11:01:11AM +0300, Andrei Borzenkov wrote:
> > EDK2 network stack is based on Managed Network Protocol which is layered
> > on top of Simple Management Protocol and does background polling. This
> > polling races with grub for received (and probably trasmitted) packets
> > which causes either serious slowdown or complete failure to load files.
> > 
> > Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
> > bound SNP instance as well. This means we get three cards for every
> > physical adapter when enumerating. Not only is this confusing, this
> > may result in grub ignoring packets that come in via the "wrong" card.
> > 
> > Example of device hierarchy is
> > 
> >  Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
> >    Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
> >      Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
> >      Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
> > 
> > Skip PXE created virtual devices and open SNP on base device exclusively.
> > This destroys all child MNP instances and stops background polling.  We
> > cannot do it for virtual devices anyway as PXE would probably attempt
> > to destroy them when stopped and current OVMF crashes when we try to do it.
> > 
> > Exclusive open cannot be done when enumerating cards, as it would destroy
> > PXE information we need to autoconfigure interface; and it cannot be done
> > during autoconfiguration as we need to do it for non-PXE boot as well. So
> > move SNP open to card ->open method and add matching ->close to clean up.
> > 
> > References: https://savannah.gnu.org/bugs/?41731
> > ---
> >  grub-core/net/drivers/efi/efinet.c | 147 ++++++++++++++++++++++++++++---------
> >  1 file changed, 112 insertions(+), 35 deletions(-)
> > 
> > diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> > index f171f20..5777016 100644
> > --- a/grub-core/net/drivers/efi/efinet.c
> > +++ b/grub-core/net/drivers/efi/efinet.c
> > @@ -142,9 +142,72 @@ get_card_packet (struct grub_net_card *dev)
> >    return nb;
> >  }
> >  
> > +static grub_err_t
> > +open_card (struct grub_net_card *dev)
> > +{
> > +  grub_efi_simple_network_t *net;
> 
> I'm not sure about adding null check for dev->efi_net here is necessary
> or not, as we don't close it in close_card so that reopening a closed
> interface would make open_protocol fail with EFI_ACCESS_DENIED and in
> turn makes the entire open_card funtion fail with GRUB_ERR_BAD_DEVICE.
> 
> > +
> > +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> > +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> > +  if (! net)
> > +    /* This should not happen... Why?  */
> > +    return GRUB_ERR_BAD_DEVICE;
> > +
> > +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> > +      && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> > +    return GRUB_ERR_BAD_DEVICE;
> > +
> > +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> > +    return GRUB_ERR_BAD_DEVICE;
> > +
> > +  if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> > +      && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> > +    return GRUB_ERR_BAD_DEVICE;
> > +
> > +  dev->mtu = net->mode->max_packet_size;
> > +
> > +  dev->txbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> > +  dev->txbuf = grub_zalloc (dev->txbufsize);
> > +  if (!dev->txbuf)
> > +    {
> > +      grub_print_error ();
> > +      return GRUB_ERR_BAD_DEVICE;
> > +    }
> > +  dev->txbusy = 0;
> > +
> > +  dev->rcvbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> > +
> > +  grub_memcpy (dev->default_address.mac,
> > +	       net->mode->current_address,
> > +	       sizeof (dev->default_address.mac));
> > +
> > +  dev->efi_net = net;
> > +  return GRUB_ERR_NONE;
> > +}
> > +
> > +static void
> > +close_card (struct grub_net_card *dev)
> > +{
> > +  if (dev->txbuf)
> > +    {
> > +      grub_free (dev->txbuf);
> > +      dev->txbuf = NULL;
> > +    }
> > +
> > +  if (dev->rcvbuf)
> > +    {
> > +      grub_free (dev->rcvbuf);
> > +      dev->rcvbuf = NULL;
> > +    }
> > +
> > +  /* FIXME do we need to close Simple Network Protocol here? */
> 
> The question from me is why not? :)
> 
> If we don't close it, the consequence might prevent other application
> (for eg, the chainloaded one from grub) from using managed network
> protocol or related one ?
> 
> The rest of the patch looks good to me and a lot better than my
> workaround patch. Thanks for you work on this.
> 
> I can give this patch a test to see if it fixed the slowness issue I
> have also experienced in OVMF for IPv4 networking and also together with
> my net_bootp6 patch.

The patch works well with IPv4 as expected, I verfied it to fix the
slowness problem.

But with IPv6, there were some problems found.

1. It failed with "packet too big" in grub_net_send_ip6_packet. The
reason is the card not opened at that time so that the mtu is unset
(zero). That makes the packet size testing against mtu "too big".

The call stack looks like.

grub_net_link_layer_resolve grub_net_icmp6_send_request
grub_net_send_ip_packet grub_net_send_ip6_packet
    
Meanwhile the IPv4 call stack:

grub_net_link_layer_resolve grub_net_arp_send_request
send_ethernet_packet

It calls send_ethernet_packet which do not have the mtu size check and
also the open the card device if not opened.

2. I tried to get it going by adding card open to
grub_net_send_ip6_packet (), but experienced another problem as the link
layer resolve timeout due to the network interface's hardware mac
address unset (inf->hwaddress.mac). After some debugging I realized
that's in my net_bootp6 patch, the network interface is added during
handling of cached dhcpv6 reply packets using the hardware mac provided
by the card instance, which is again not yet opened.:(

The reason why IPv4 works is because it doesn't use card instance's mac
address but mac_addr from the bootp's ack packet.

It's possble to find mac_addr from the DHCPv6 Reply packets, but it's
unreliable you will always have one. I think it's related to what DUID
type is using in the CLIENT_ID option. The spec defines

DUID-LLT  1 DUID-EN   2 DUID-LL   3

With DUID-LLT, DUID-LL you can read the mac_addr (and type) but with
DUID-EN you are out of luck. The final round made me surrender is that
the cached reply packet in UEFI, the DUID seems to be undefined type
"4"..

3. Even I can add the card open earler before hadling the dhcpv6
packets, it will freeze at grub_efi_open_protocol if the option in use
is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
out of idea how to deal with that diversity.

Thanks,
Michael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-21  6:12     ` [edk2] " Michael Chang
@ 2015-04-21  6:49       ` Michael Chang
  2015-04-21 12:30         ` Laszlo Ersek
  2015-04-25 14:12       ` Andrei Borzenkov
  2015-04-26  6:42       ` Andrei Borzenkov
  2 siblings, 1 reply; 19+ messages in thread
From: Michael Chang @ 2015-04-21  6:49 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, mmazur

On Tue, Apr 21, 2015 at 02:12:54PM +0800, Michael Chang wrote:
> On Mon, Apr 20, 2015 at 02:30:00PM +0800, Michael Chang wrote:
> > On Sun, Apr 19, 2015 at 11:01:11AM +0300, Andrei Borzenkov wrote:
> > > EDK2 network stack is based on Managed Network Protocol which is layered
> > > on top of Simple Management Protocol and does background polling. This
> > > polling races with grub for received (and probably trasmitted) packets
> > > which causes either serious slowdown or complete failure to load files.
> > > 
> > > Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
> > > bound SNP instance as well. This means we get three cards for every
> > > physical adapter when enumerating. Not only is this confusing, this
> > > may result in grub ignoring packets that come in via the "wrong" card.
> > > 
> > > Example of device hierarchy is
> > > 
> > >  Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
> > >    Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
> > >      Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
> > >      Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
> > > 
> > > Skip PXE created virtual devices and open SNP on base device exclusively.
> > > This destroys all child MNP instances and stops background polling.  We
> > > cannot do it for virtual devices anyway as PXE would probably attempt
> > > to destroy them when stopped and current OVMF crashes when we try to do it.
> > > 
> > > Exclusive open cannot be done when enumerating cards, as it would destroy
> > > PXE information we need to autoconfigure interface; and it cannot be done
> > > during autoconfiguration as we need to do it for non-PXE boot as well. So
> > > move SNP open to card ->open method and add matching ->close to clean up.
> > > 
> > > References: https://savannah.gnu.org/bugs/?41731
> > > ---
> > >  grub-core/net/drivers/efi/efinet.c | 147 ++++++++++++++++++++++++++++---------
> > >  1 file changed, 112 insertions(+), 35 deletions(-)
> > > 
> > > diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> > > index f171f20..5777016 100644
> > > --- a/grub-core/net/drivers/efi/efinet.c
> > > +++ b/grub-core/net/drivers/efi/efinet.c
> > > @@ -142,9 +142,72 @@ get_card_packet (struct grub_net_card *dev)
> > >    return nb;
> > >  }
> > >  
> > > +static grub_err_t
> > > +open_card (struct grub_net_card *dev)
> > > +{
> > > +  grub_efi_simple_network_t *net;
> > 
> > I'm not sure about adding null check for dev->efi_net here is necessary
> > or not, as we don't close it in close_card so that reopening a closed
> > interface would make open_protocol fail with EFI_ACCESS_DENIED and in
> > turn makes the entire open_card funtion fail with GRUB_ERR_BAD_DEVICE.
> > 
> > > +
> > > +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> > > +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> > > +  if (! net)
> > > +    /* This should not happen... Why?  */
> > > +    return GRUB_ERR_BAD_DEVICE;
> > > +
> > > +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> > > +      && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> > > +    return GRUB_ERR_BAD_DEVICE;
> > > +
> > > +  if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> > > +    return GRUB_ERR_BAD_DEVICE;
> > > +
> > > +  if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> > > +      && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> > > +    return GRUB_ERR_BAD_DEVICE;
> > > +
> > > +  dev->mtu = net->mode->max_packet_size;
> > > +
> > > +  dev->txbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> > > +  dev->txbuf = grub_zalloc (dev->txbufsize);
> > > +  if (!dev->txbuf)
> > > +    {
> > > +      grub_print_error ();
> > > +      return GRUB_ERR_BAD_DEVICE;
> > > +    }
> > > +  dev->txbusy = 0;
> > > +
> > > +  dev->rcvbufsize = ALIGN_UP (dev->mtu, 64) + 256;
> > > +
> > > +  grub_memcpy (dev->default_address.mac,
> > > +	       net->mode->current_address,
> > > +	       sizeof (dev->default_address.mac));
> > > +
> > > +  dev->efi_net = net;
> > > +  return GRUB_ERR_NONE;
> > > +}
> > > +
> > > +static void
> > > +close_card (struct grub_net_card *dev)
> > > +{
> > > +  if (dev->txbuf)
> > > +    {
> > > +      grub_free (dev->txbuf);
> > > +      dev->txbuf = NULL;
> > > +    }
> > > +
> > > +  if (dev->rcvbuf)
> > > +    {
> > > +      grub_free (dev->rcvbuf);
> > > +      dev->rcvbuf = NULL;
> > > +    }
> > > +
> > > +  /* FIXME do we need to close Simple Network Protocol here? */
> > 
> > The question from me is why not? :)
> > 
> > If we don't close it, the consequence might prevent other application
> > (for eg, the chainloaded one from grub) from using managed network
> > protocol or related one ?
> > 
> > The rest of the patch looks good to me and a lot better than my
> > workaround patch. Thanks for you work on this.
> > 
> > I can give this patch a test to see if it fixed the slowness issue I
> > have also experienced in OVMF for IPv4 networking and also together with
> > my net_bootp6 patch.
> 
> The patch works well with IPv4 as expected, I verfied it to fix the
> slowness problem.
> 
> But with IPv6, there were some problems found.
> 
> 1. It failed with "packet too big" in grub_net_send_ip6_packet. The
> reason is the card not opened at that time so that the mtu is unset
> (zero). That makes the packet size testing against mtu "too big".
> 
> The call stack looks like.
> 
> grub_net_link_layer_resolve grub_net_icmp6_send_request
> grub_net_send_ip_packet grub_net_send_ip6_packet
>     
> Meanwhile the IPv4 call stack:
> 
> grub_net_link_layer_resolve grub_net_arp_send_request
> send_ethernet_packet
> 
> It calls send_ethernet_packet which do not have the mtu size check and
> also the open the card device if not opened.
> 
> 2. I tried to get it going by adding card open to
> grub_net_send_ip6_packet (), but experienced another problem as the link
> layer resolve timeout due to the network interface's hardware mac
> address unset (inf->hwaddress.mac). After some debugging I realized
> that's in my net_bootp6 patch, the network interface is added during
> handling of cached dhcpv6 reply packets using the hardware mac provided
> by the card instance, which is again not yet opened.:(
> 
> The reason why IPv4 works is because it doesn't use card instance's mac
> address but mac_addr from the bootp's ack packet.
> 
> It's possble to find mac_addr from the DHCPv6 Reply packets, but it's
> unreliable you will always have one. I think it's related to what DUID
> type is using in the CLIENT_ID option. The spec defines
> 
> DUID-LLT  1 DUID-EN   2 DUID-LL   3
> 
> With DUID-LLT, DUID-LL you can read the mac_addr (and type) but with
> DUID-EN you are out of luck. The final round made me surrender is that
> the cached reply packet in UEFI, the DUID seems to be undefined type
> "4"..
> 
> 3. Even I can add the card open earler before hadling the dhcpv6
> packets, it will freeze at grub_efi_open_protocol if the option in use
> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> out of idea how to deal with that diversity.


Hi Andrey,

I checked other grub_net_card implementation (emucard, grub_pxe_card,
ofnet). The mtu and default_adree are determined during the device
enumeration but not open. I think it would be better to follow them as
those properties are needed quite early and that may also fix the
problem #1 and #2.

For #3, I'm not trying to get the log from OVMF ..

Thanks,
Michael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-21  6:49       ` Michael Chang
@ 2015-04-21 12:30         ` Laszlo Ersek
  2015-04-22  9:57           ` Michael Chang
  0 siblings, 1 reply; 19+ messages in thread
From: Laszlo Ersek @ 2015-04-21 12:30 UTC (permalink / raw)
  To: mchang; +Cc: Andrei Borzenkov, grub-devel, edk2-devel, mmazur

On 04/21/15 08:49, Michael Chang wrote:
> On Tue, Apr 21, 2015 at 02:12:54PM +0800, Michael Chang wrote:

>> 3. Even I can add the card open earler before hadling the dhcpv6
>> packets, it will freeze at grub_efi_open_protocol if the option in use
>> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
>> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
>> out of idea how to deal with that diversity.

> For #3, I'm not trying to get the log from OVMF ..

I guess that's "now trying", not "not trying".

Pass

  -debugcon file:debug.log -global isa-debugcon.iobase=0x402

to QEMU, for saving the debug log.

Also, the debug log mask is set in PcdDebugPrintErrorLevel in the DSC
files. For the meaning of the individual bits, see
"MdePkg/Include/Library/DebugLib.h".

Laszlo


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-21 12:30         ` Laszlo Ersek
@ 2015-04-22  9:57           ` Michael Chang
  2015-04-22 10:50             ` Laszlo Ersek
  0 siblings, 1 reply; 19+ messages in thread
From: Michael Chang @ 2015-04-22  9:57 UTC (permalink / raw)
  To: Laszlo Ersek; +Cc: Andrei Borzenkov, grub-devel, edk2-devel, mmazur

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

On Tue, Apr 21, 2015 at 02:30:17PM +0200, Laszlo Ersek wrote:
> On 04/21/15 08:49, Michael Chang wrote:
> > On Tue, Apr 21, 2015 at 02:12:54PM +0800, Michael Chang wrote:
> 
> >> 3. Even I can add the card open earler before hadling the dhcpv6
> >> packets, it will freeze at grub_efi_open_protocol if the option in use
> >> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> >> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> >> out of idea how to deal with that diversity.
> 
> > For #3, I'm not trying to get the log from OVMF ..
> 
> I guess that's "now trying", not "not trying".
> 
> Pass
> 
>   -debugcon file:debug.log -global isa-debugcon.iobase=0x402
> 
> to QEMU, for saving the debug log.
> 
> Also, the debug log mask is set in PcdDebugPrintErrorLevel in the DSC
> files. For the meaning of the individual bits, see
> "MdePkg/Include/Library/DebugLib.h".

Hi Laszlo,

Please check attachment.

debug-exclusive.log: open SNP with exclusive, IPv6 PXE booting fails in
grub2 and falls into grub rescue mode immediately. (no freeze).

debug-no-exclusive.log: open without exclusive, IPv6 PXE booting succeed
into normal mode and can see the boot menu.

I didn't see freeze this time, maybe because I rebuilt OVMF from different
version.

The debug mask bits was set to
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040404F

(added version + net to default mask).

But interestingly, I didn't see much difference in the logs, probably
debug output not really enabled ?

Thanks.
Michael

> 
> Laszlo

[-- Attachment #2: debug-exclusive.log --]
[-- Type: text/x-log, Size: 85531 bytes --]

SecCoreStartupWithStack(0xFFFCC000, 0x818000)
SEC: Normal boot
Register PPI Notify: DCD0BE23-9586-40F4-B643-06522CED4EDE
Install PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Install PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
The 0th FV start address is 0x00000820000, size is 0x000E0000, handle is 0x820000
Register PPI Notify: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Register PPI Notify: EA7CA24B-DED5-4DAD-A389-BF827E8F9B38
Install PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: DBE23AA9-A345-4B97-85B6-B226F1617389
Loading PEIM at 0x00000838C20 EntryPoint=0x00000838E80 PcdPeim.efi
Install PPI: 06E81C58-4AD7-44BC-8390-F10265F72480
Install PPI: 01F34D25-4DE2-23AD-3FF3-36353FF323F1
Install PPI: 4D8B155B-C059-4C8F-8926-06FD4331DB8A
Install PPI: A60C6B59-E459-425D-9C69-0BCC9CB27D81
Loading PEIM at 0x00000841DA0 EntryPoint=0x00000842000 StatusCodePei.efi
Install PPI: 229832D3-7A30-4B36-B827-F40CB7D45436
Loading PEIM at 0x000008479A0 EntryPoint=0x00000847C00 PlatformPei.efi
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Platform PEIM Loaded
CMOS:
00: 47 00 49 00 09 00 04 22 04 15 26 02 00 80 00 00
10: 00 00 00 00 06 80 02 FF FF 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: FF FF 20 00 00 3F 00 20 30 00 00 00 00 12 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Select Item: 0x19
Select Item: 0x25
S3 support was detected on QEMU
Install PPI: 7408D748-FC8C-4EE6-9288-C4BEC092A410
PeiInstallPeiMemory MemoryBegin 0x3C000000, MemoryLength 0x4000000
QemuInitializeRam called
Allocated Memory unaligned: Address = 0x3FFD0000, Pages = 0x30, Type = 6 
After aligning to 0x10000 bytes: Address = 0x3FFD0000, Pages = 0x20 
Updated aligned-mem HOB with BaseAddress = 3FFD0000, Length = 20000, MemoryType = 6 
Created after-mem HOB with BaseAddress = 3FFF0000, Length = 10000, MemoryType = 7 
Reserved variable store memory: 0x3FFD0000; size: 128kb
Platform PEI Firmware Volume Initialization
Install PPI: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Notify: PPI Guid: 49EDB1C1-BF21-4761-BB12-EB0031AABB39, Peim notify entry point: 8242CA
The 1th FV start address is 0x00000900000, size is 0x00800000, handle is 0x900000
Temp Stack : BaseAddress=0x814000 Length=0x4000
Temp Heap  : BaseAddress=0x810000 Length=0x1950
Total temporary memory:    32768 bytes.
  temporary memory stack ever used: 16384 bytes.
  temporary memory heap used:       6480 bytes.
Old Stack size 16384, New stack size 131072
Stack Hob: BaseAddress=0x3C000000 Length=0x20000
Heap Offset = 0x3B810000 Stack Offset = 0x3B808000
TemporaryRamMigration(0x810000, 0x3C01C000, 0x8000)
Loading PEIM at 0x0003FFB6000 EntryPoint=0x0003FFB6260 PeiCore.efi
Reinstall PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Reinstall PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
Reinstall PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: F894643D-C449-42D1-8EA8-85BDD8C65BDE
Loading PEIM at 0x0003FFAC000 EntryPoint=0x0003FFAC260 DxeIpl.efi
Install PPI: 0AE8CE5D-E448-4437-A8D7-EBF5F194F731
Install PPI: 1A36E4E7-FAB6-476A-8E75-695A0576FDD7
Loading PEIM at 0x0003FFA1000 EntryPoint=0x0003FFA1260 S3Resume2Pei.efi
Install PPI: 6D582DBC-DB85-4514-8FCC-5ADF6227B147
DXE IPL Entry
Loading PEIM at 0x0003FF65000 EntryPoint=0x0003FF65260 DxeCore.efi
Loading DXE CORE at 0x0003FF65000 EntryPoint=0x0003FF65260
Install PPI: 605EA650-C65C-42E1-BA80-91A52AB618C6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3FF94848
HOBLIST address in DXE = 0x3FD1A018
Memory Allocation 0x0000000A 0x818000 - 0x81FFFF
Memory Allocation 0x0000000A 0x810000 - 0x817FFF
Memory Allocation 0x0000000A 0x807000 - 0x807FFF
Memory Allocation 0x0000000A 0x800000 - 0x805FFF
Memory Allocation 0x0000000A 0x806000 - 0x806FFF
Memory Allocation 0x00000006 0x3FFD0000 - 0x3FFEFFFF
Memory Allocation 0x00000007 0x3FFF0000 - 0x3FFFFFFF
Memory Allocation 0x0000000A 0x820000 - 0x8FFFFF
Memory Allocation 0x00000004 0x900000 - 0x10FFFFF
Memory Allocation 0x00000004 0x3FF45000 - 0x3FF64FFF
Memory Allocation 0x00000004 0x3FFCF000 - 0x3FFCFFFF
Memory Allocation 0x00000004 0x3FFB6000 - 0x3FFCEFFF
Memory Allocation 0x00000004 0x3FFAC000 - 0x3FFB5FFF
Memory Allocation 0x00000004 0x3FFA1000 - 0x3FFABFFF
Memory Allocation 0x00000004 0x3FF65000 - 0x3FFA0FFF
Memory Allocation 0x00000003 0x3FF65000 - 0x3FFA0FFF
Memory Allocation 0x00000004 0x3FF45000 - 0x3FF64FFF
Memory Allocation 0x00000004 0x3FF03000 - 0x3FF44FFF
Memory Allocation 0x00000004 0x3C000000 - 0x3C01FFFF
FV Hob            0x900000 - 0x10FFFFF
InstallProtocolInterface: D8117CFE-94A6-11D4-9A3A-0090273FC14D 3FF94320
InstallProtocolInterface: 8F644FA9-E850-4DB1-9CE2-0B44698E8DA4 3FD16270
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FD16658
InstallProtocolInterface: 220E73B6-6BDB-4413-8405-B974B108619A 3FD15C70
InstallProtocolInterface: EE4E5898-3914-4259-9D6E-DC7BD79403CF 3FF94538
Loading driver 9B680FCE-AD6B-4F3A-B60B-F59899003443
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B6B00
Loading driver at 0x0003FE8D000 EntryPoint=0x0003FE8D2AF DevicePathDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B61D8
InstallProtocolInterface: 0379BE4E-D706-437D-B037-EDB82FB772A4 3FE991E0
InstallProtocolInterface: 8B843E20-8132-4852-90CC-551A4E4A7F1C 3FE99220
InstallProtocolInterface: 05C99A21-C70F-4AD2-8A5F-35DF3343F51E 3FE99230
Loading driver 80CF7257-87AB-47F9-A3FE-D50B76D89541
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A8040
Loading driver at 0x0003FE80000 EntryPoint=0x0003FE802AF PcdDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6A8E58
InstallProtocolInterface: 11B34006-D85B-4D0A-A290-D5A571310EF7 3FE88C40
InstallProtocolInterface: 13A3F0F6-264A-3EF0-F2E0-DEC512342F34 3FE88D40
InstallProtocolInterface: 5BE40F57-FA68-4610-BBBF-E9C5FCDAD365 3FE88DD0
InstallProtocolInterface: FD0F4478-0EFD-461D-BA2D-E58C45FD5F5E 3FE88DF0
Loading driver 733CBAC2-B23F-4B92-BC8E-FB01CE5907B7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5180
Loading driver at 0x0003FEC4000 EntryPoint=0x0003FEC42AF FvbServicesRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B5E58
QEMU Flash: Attempting flash detection at FFE00010
QemuFlashDetected => FD behaves as ROM
QemuFlashDetected => No
QEMU flash was not detected. Writable FVB is not being installed.
Error: Image at 0003FEC4000 start failed: Write Protected
Loading driver FEDE0A1B-BCA2-4A9F-BB2B-D9FD7DEC2E9F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5180
Loading driver at 0x0003FEC4000 EntryPoint=0x0003FEC42AF StatusCodeRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B5CD8
InstallProtocolInterface: D2B2B828-0826-48A7-B3DF-983C006024F0 3FECA5E0
Loading driver B601F8C4-43B7-4784-95B1-F4226CB40CEE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5680
Loading driver at 0x0003FEBC000 EntryPoint=0x0003FEBC2AF RuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AA018
InstallProtocolInterface: B7DFB4E1-052F-449F-87BE-9818FC91B733 3FEC06A0
Loading driver F80697E9-7FD6-4665-8646-88E33EF71DFC
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AA200
Loading driver at 0x0003FDFA000 EntryPoint=0x0003FDFA2AF SecurityStubDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AA918
InstallProtocolInterface: 94AB2F58-1438-4EF1-9152-18941A3A0E68 3FE58B50
InstallProtocolInterface: A46423E3-4617-49F1-B9FF-D1BFA9115839 3FE58B48
Loading driver 13AC6DD0-73D0-11D4-B06B-00AA00BD6DE7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B20C0
Loading driver at 0x0003FDEE000 EntryPoint=0x0003FDEE2AF EbcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B2ED8
InstallProtocolInterface: 13AC6DD1-73D0-11D4-B06B-00AA00BD6DE7 3F6B2CD8
InstallProtocolInterface: 2755590C-6F3C-42FA-9EA4-A3BA543CDA25 3F6B2858
InstallProtocolInterface: AAEACCFD-F27B-4C17-B610-75CA1F2DFB52 3F6B29D8
Loading driver 79CA4208-BBA1-4A9A-8456-E1E66A81484E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B2500
Loading driver at 0x0003FDE9000 EntryPoint=0x0003FDE92AF Legacy8259.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ACF98
InstallProtocolInterface: 38321DBA-4FE0-4E17-8AEC-413055EAEDC1 3FDEC020
Loading driver A19B1FE7-C1BC-49F8-875F-54A5D542443F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6ACB00
Loading driver at 0x0003FDE3000 EntryPoint=0x0003FDE32AF CpuIo2Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AC998
InstallProtocolInterface: AD61F191-AE5F-4C0E-B9FA-E869D288C64F 3FDE6380
Loading driver 1A1E4886-9517-440E-9FDE-3BE44CEE2136
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AC440
Loading driver at 0x0003FDD0000 EntryPoint=0x0003FDD02AF CpuDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B1018
InstallProtocolInterface: 26BACCB1-6F42-11D4-BCE7-0080C73C8881 3FDDCF00
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
Detect CPU count: 1
Loading driver 6F0198AA-1F1D-426D-AE3E-39AB633FCC28
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B1BC0
Loading driver at 0x0003FEB6000 EntryPoint=0x0003FEB62AF KbcReset.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AEED8
InstallProtocolInterface: 27CFAC88-46CC-11D4-9A38-0090273FC14D 0
Loading driver C8339973-A563-4561-B858-D8476F9DEFC4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AD040
Loading driver at 0x0003FDCB000 EntryPoint=0x0003FDCB2AF Metronome.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AD218
InstallProtocolInterface: 26BACCB2-6F42-11D4-BCE7-0080C73C8881 3FDCDEF0
Loading driver 22DC2B60-FE40-42AC-B01F-3AB1FAD9AAD8
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AD2C0
Loading driver at 0x0003FEAE000 EntryPoint=0x0003FEAE2AF EmuVariableFvbRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AD9D8
EMU Variable FVB Started
EMU Variable FVB: Using pre-reserved block at 3FFD0000
EMU Variable FVB: Basic FV headers were invalid
Installing FVB for EMU Variable support
InstallProtocolInterface: 8F644FA9-E850-4DB1-9CE2-0B44698E8DA4 3FEB2C20
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FEB2BE8
Loading driver 2226F30F-3D5B-402D-9936-A97184EB4516
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AB0C0
Loading driver at 0x0003ED8B000 EntryPoint=0x0003ED8B2AF VariableAuthRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ABED8
Variable driver common space: 0xDF9C 0xDF9C 0xDF9C
InstallProtocolInterface: CD3D0A05-9E24-437C-A891-1EE053DB7638 3EDF4588
InstallProtocolInterface: AF23B340-97B4-4685-8D4F-A3F28169B21D 3EDF4590
InstallProtocolInterface: 1E5668E2-8481-11D4-BCF1-0080C73C8881 0
Loading driver 79E4A61C-ED73-4312-94FE-E3E7563362A9
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A9180
Loading driver at 0x0003FDC6000 EntryPoint=0x0003FDC62AF PrintDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ABC18
InstallProtocolInterface: F05976EF-83F1-4F3D-8619-F7595D41E538 3FDC90C0
Loading driver 348C4D62-BFBD-4882-9ECE-C80BB1C4783B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A9940
Loading driver at 0x0003FD9F000 EntryPoint=0x0003FD9F2AF HiiDatabase.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6A9798
InstallProtocolInterface: E9CA4775-8657-47FC-97E7-7ED65A084324 3FDBFEE8
InstallProtocolInterface: 0FD96974-23AA-4CDC-B9CB-98D17750322A 3FDBFF30
InstallProtocolInterface: EF9FC172-A1B2-4693-B327-6D32FC416042 3FDBFF58
InstallProtocolInterface: 587E72D7-CC50-4F79-8209-CA291FC1A10F 3FDBFFB0
InstallProtocolInterface: 31A6406A-6BDF-4E46-B2A2-EBAA89C40920 3FDBFF08
Loading driver 96B5C032-DF4C-4B6E-8232-438DCF448D0E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A1200
Loading driver at 0x0003FD99000 EntryPoint=0x0003FD992AF NullMemoryTestDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A1998
InstallProtocolInterface: 309DE7F1-7F5E-4ACE-B49C-531BE5AA95EF 3FD9C2A0
Loading driver F9D88642-0737-49BC-81B5-6889CD57D9EA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F297040
Loading driver at 0x0003FD90000 EntryPoint=0x0003FD902AF SmbiosDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F297218
InstallProtocolInterface: 03583FF6-CB36-4940-947E-B9B39F4AFAF7 3FD96570
Loading driver 9622E42C-8E38-4A08-9E8F-54F784652F6B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2972C0
Loading driver at 0x0003FD81000 EntryPoint=0x0003FD812AF AcpiTableDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F297A58
InstallProtocolInterface: FFE06BDD-6107-46A6-7BB2-5A9C7EC5275C 3F2976E8
Loading driver BDCE85BB-FBAA-4F4E-9264-501A2C249581
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A00C0
Loading driver at 0x0003FD76000 EntryPoint=0x0003FD762AF S3SaveStateDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A0E58
InstallProtocolInterface: E857CAF6-C046-45DC-BE3F-EE0765FBA887 3FD7DBC0
Loading driver A210F973-229D-4F4D-AA37-9895E6C9EABA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A0400
Loading driver at 0x0003FD70000 EntryPoint=0x0003FD702AF DpcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A0858
InstallProtocolInterface: 480F8AE9-0C46-4AA9-BC89-DB9FBA619806 3FD730A0
Loading driver F2765DEC-6B41-11D5-8E71-00902707B35E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29FA80
Loading driver at 0x0003FD6B000 EntryPoint=0x0003FD6B2AF Timer.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29FCD8
InstallProtocolInterface: 26BACCB3-6F42-11D4-BCE7-0080C73C8881 3FD6E040
Loading driver 2383608E-C6D0-4E3E-858D-45DFAC3543D5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29F340
Loading driver at 0x0003FD60000 EntryPoint=0x0003FD602AF PciHostBridge.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29F518
InstallProtocolInterface: CF8034BE-6768-4D8B-B739-7CCE683A9FBE 3F29E048
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FD67C30
InstallProtocolInterface: 2F707EBB-4A1A-11D4-9A38-0090273FC14D 3F29EB38
Loading driver FE5CEA76-4F72-49E8-986F-2CD899DFFE5D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29E200
Loading driver at 0x0003FD53000 EntryPoint=0x0003FD532AF FaultTolerantWriteDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29E818
Ftw: FtwWorkSpaceLba - 0x0, WorkBlockSize  - 0x10000, FtwWorkSpaceBase - 0xE000
Ftw: FtwSpareLba     - 0x1, SpareBlockSize - 0x10000
Ftw: NumberOfWorkBlock - 0x1, FtwWorkBlockLba - 0x0
Ftw: WorkSpaceLbaInSpare - 0x0, WorkSpaceBaseInSpare - 0xE000
Ftw: Remaining work space size - FE0
Ftw: Work block header check error
Ftw: Work block header check error
Ftw: Both are invalid, init workspace
Ftw: start to reclaim work space
Ftw: reclaim work space successfully
InstallProtocolInterface: 3EBD9E82-2C78-4DE6-9786-8D4BFCB7C881 3F29C028
Variable PK does not exist.
Variable SetupMode is 1
Variable SecureBoot is 0
Variable SecureBootEnable is 0
Variable CustomMode is 0
Variable VendorKeys is 1
InstallProtocolInterface: 6441F818-6362-4E44-B570-7DBA31DD2453 0
Loading driver EBF342FE-B1D3-4EF8-957C-8048606FF671
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29BA80
Loading driver at 0x0003FD28000 EntryPoint=0x0003FD282AF SetupBrowser.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29BC58
InstallProtocolInterface: B9D4C360-BCFB-4F9B-9298-53C136982258 3FD4B630
InstallProtocolInterface: A770C357-B693-4E6D-A6CF-D21C728E550B 3FD4B660
InstallProtocolInterface: 1F73B18D-4630-43C1-A1DE-6F80855D7DA4 3FD4B640
Loading driver 4110465D-5FF3-4F4B-B580-24ED0D06747A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29A040
Loading driver at 0x0003FD21000 EntryPoint=0x0003FD212AF SmbiosPlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29AE58
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Select Item: 0x19
Select Item: 0x19
Select Item: 0x22
Select Item: 0x21
SmbiosAdd: Smbios type 1 with size 0x51 is added to 32-bit table
SmbiosAdd: Smbios type 1 with size 0x51 is added to 64-bit table
SmbiosCreateTable: Initialize 32-bit entry point structure
SmbiosCreateTable() re-allocate SMBIOS 32-bit table
SmbiosCreateTable: Initialize 64-bit entry point structure
SmbiosCreate64BitTable() re-allocate SMBIOS 64-bit table
SmbiosAdd: Smbios type 3 with size 0x29 is added to 32-bit table
SmbiosAdd: Smbios type 3 with size 0x29 is added to 64-bit table
SmbiosAdd: Smbios type 4 with size 0x44 is added to 32-bit table
SmbiosAdd: Smbios type 4 with size 0x44 is added to 64-bit table
SmbiosAdd: Smbios type 16 with size 0x19 is added to 32-bit table
SmbiosAdd: Smbios type 16 with size 0x19 is added to 64-bit table
SmbiosAdd: Smbios type 17 with size 0x35 is added to 32-bit table
SmbiosAdd: Smbios type 17 with size 0x35 is added to 64-bit table
SmbiosAdd: Smbios type 19 with size 0x21 is added to 32-bit table
SmbiosAdd: Smbios type 19 with size 0x21 is added to 64-bit table
SmbiosAdd: Smbios type 32 with size 0xD is added to 32-bit table
SmbiosAdd: Smbios type 32 with size 0xD is added to 64-bit table
SmbiosAdd: Smbios type 0 with size 0x48 is added to 32-bit table
SmbiosAdd: Smbios type 0 with size 0x48 is added to 64-bit table
Loading driver 49970331-E3FA-4637-9ABC-3B7868676970
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29A2C0
Loading driver at 0x0003ECB1000 EntryPoint=0x0003ECB12AF AcpiPlatform.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F299D98
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
AcpiPlatformEntryPoint: PCI enumeration pending, registered callback
Loading driver 378D7B65-8DA9-4773-B6E4-A47826A833E1
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2992C0
Loading driver at 0x0003FEA4000 EntryPoint=0x0003FEA42AF PcRtc.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2998D8
InstallProtocolInterface: 27CFAC87-46CC-11D4-9A38-0090273FC14D 0
Loading driver F0E6A44F-7195-41C3-AC64-54F202CD0A21
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F298B40
Loading driver at 0x0003EC91000 EntryPoint=0x0003EC912AF SecureBootConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F298D98
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3ECA75D0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3F2989A0
InstallProtocolInterface: F0E6A44F-7195-41C3-AC64-54F202CD0A21 3F298998
Loading driver F099D67F-71AE-4C36-B2A3-DCEB0EB2B7D8
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F296380
Loading driver at 0x0003EC8C000 EntryPoint=0x0003EC8C2AF WatchdogTimer.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F296B18
InstallProtocolInterface: 665E3FF5-46CC-11D4-9A38-0090273FC14D 3EC8EF20
Loading driver AD608272-D07F-4964-801E-7BD3B7888652
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F295040
Loading driver at 0x0003FE9E000 EntryPoint=0x0003FE9E2AF MonotonicCounterRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F295E58
InstallProtocolInterface: 1DA97072-BDDC-4B30-99F1-72A0B56FFF2A 0
Loading driver 42857F0A-13F2-4B21-8A23-53D3F714B840
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F295400
Loading driver at 0x0003EC81000 EntryPoint=0x0003EC812AF CapsuleRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2955D8
InstallProtocolInterface: 5053697E-2CBC-4819-90D9-0580DEEE5754 0
Loading driver FC5C7020-1A48-4198-9BE2-EAD5ABC8CF2F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F292A80
Loading driver at 0x0003EC2E000 EntryPoint=0x0003EC2E2AF BdsDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F292C58
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
InstallProtocolInterface: 665E3FF6-46CC-11D4-9A38-0090273FC14D 3EC6ED38
Loading driver E660EA85-058E-4B55-A54B-F02F83A24707
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F291200
Loading driver at 0x0003EC0D000 EntryPoint=0x0003EC0D2AF DisplayEngine.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F292258
InstallProtocolInterface: 9BBE29E9-FDA1-41EC-AD52-452213742D2E 3EC27290
Loading driver 6B79BBC0-26B9-4FE9-B631-551D8AB078C6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28E0C0
Loading driver at 0x0003EC05000 EntryPoint=0x0003EC052AF AcpiS3SaveDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28EED8
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Select Item: 0x19
Select Item: 0x25
InstallProtocolInterface: 125F2DE1-FB85-440C-A54C-4D99358A8D38 3EC0A200
InstallProtocolInterface: BD445D79-B7AD-4F04-9AD8-29BD2040EB3C 0
Loading driver D9DCC5DF-4007-435E-9098-8970935504B2
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28E340
Loading driver at 0x0003EBFB000 EntryPoint=0x0003EBFB2AF PlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28E518
ExecutePlatformConfig: failed to load platform config: Not Found
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC019D0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC019F0
Loading driver 93B80004-9FB3-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28ABC0
Loading driver at 0x0003EBDC000 EntryPoint=0x0003EBDC2AF PciBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28E698
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBF6020
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBF62A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBF62C0
InstallProtocolInterface: 19CB87AB-2CB9-4665-8360-DDCF6054F79D 3EBF6078
Loading driver 33CB97AF-6C33-4C42-986B-07581FA366D4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28A340
Loading driver at 0x0003EBD5000 EntryPoint=0x0003EBD52AF BlockMmioToBlockIoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28A798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBD8F60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBD9250
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBD9270
Loading driver 83DD3B39-7CAF-4FAC-A542-E050B767E3A7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F289A80
Loading driver at 0x0003EBCE000 EntryPoint=0x0003EBCE2AF VirtioPciDeviceDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F289CD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBD2600
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBD2660
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBD2680
Loading driver 11D92DFB-3CA9-4F93-BA2E-4780ED3E03B5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F289340
Loading driver at 0x0003EBC6000 EntryPoint=0x0003EBC62AF VirtioBlkDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F289798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBCAF20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBCAF80
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBCAFA0
Loading driver FAB5D4F4-83C0-4AAF-8480-442D11DF6CEA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F288A80
Loading driver at 0x0003EBBE000 EntryPoint=0x0003EBBE2AF VirtioScsiDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F288CD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBC33A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBC3400
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBC3420
Loading driver CF569F50-DE44-4F54-B4D7-F4AE25CDA599
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F288340
Loading driver at 0x0003EBB8000 EntryPoint=0x0003EBB82AF XenIoPciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F288798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBBB920
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBBB980
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBBB9A0
Loading driver 565EC8BA-A484-11E3-802B-B8AC6F7D65E6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287A80
Loading driver at 0x0003EBA7000 EntryPoint=0x0003EBA72AF XenBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287CD8
Error: Image at 0003EBA7000 start failed: Aborted
Loading driver 8C2487EA-9AF3-11E3-B966-B8AC6F7D65E6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287A80
Loading driver at 0x0003EBAD000 EntryPoint=0x0003EBAD2AF XenPvBlkDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287E18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBB42A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBB4420
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBB4440
Loading driver 51CCF399-4FDF-4E55-A45B-E123F84D456A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287880
Loading driver at 0x0003EBA5000 EntryPoint=0x0003EBA52AF ConPlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287598
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA9B80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA9D50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA9D70
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA9BC0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA9D50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA9D70
Loading driver 408EDCEC-CF6D-477C-A5A8-B4844E3DE281
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F286200
Loading driver at 0x0003EB96000 EntryPoint=0x0003EB962AF ConSplitterDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F286918
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1A60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA1FF0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2010
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1B20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA2030
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2050
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1B60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA2070
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2090
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1AA0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA20B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA20D0
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1AE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA20F0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2110
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3EBA1670
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3EBA16A0
InstallProtocolInterface: 31878C87-0B75-11D5-9A4F-0090273FC14D 3EBA16F8
InstallProtocolInterface: 8D59D32B-C655-4AE9-9B15-F25904992A43 3EBA1750
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3EBA1830
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3EBA1950
Loading driver CCCB0C28-4B24-11D5-9A5A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2820C0
Loading driver at 0x0003EB89000 EntryPoint=0x0003EB892AF GraphicsConsoleDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F282DD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB90860
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB90B00
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB90B20
Loading driver 9E863906-A40F-4875-977F-5B93FF237FC6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F282500
Loading driver at 0x0003EB79000 EntryPoint=0x0003EB792AF TerminalDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F281018
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB844A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB849B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB849D0
Loading driver 6B38F7B4-AD98-40E9-9093-ACA2B5A253C4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F281B40
Loading driver at 0x0003EB6F000 EntryPoint=0x0003EB6F2AF DiskIoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F281818
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB75A80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB76050
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB76070
Loading driver 1FA1F39E-FEFF-4AAE-BD7B-38A070A3B609
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2814C0
Loading driver at 0x0003EB63000 EntryPoint=0x0003EB632AF PartitionDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F280018
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB6B860
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB6BA00
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB6BA20
Loading driver CD3BAFB6-50FB-4FE8-8E4E-AB74D2C1A600
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F280B40
Loading driver at 0x0003EB5D000 EntryPoint=0x0003EB5D2AF EnglishDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F280818
InstallProtocolInterface: 1D85CD7F-F43D-11D2-9A0C-0090273FC14D 3EB60200
InstallProtocolInterface: A4C751FC-23AE-4C3E-92E9-4964CF63F349 3EB60240
Loading driver 0167CCC4-D0F7-4F21-A3EF-9E64B7CDCE8B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F040
Loading driver at 0x0003EB54000 EntryPoint=0x0003EB542AF ScsiBus.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2802D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB5A540
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB5A650
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB5A670
Loading driver 0A66E322-3740-4CCE-AD62-BD172CECCA35
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F2C0
Loading driver at 0x0003EB46000 EntryPoint=0x0003EB462AF ScsiDisk.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27FA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB502E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB50890
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB508B0
Loading driver 69FD8E47-A161-4550-B01A-5594CEB2B2B2
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F680
Loading driver at 0x0003EB30000 EntryPoint=0x0003EB302AF IdeBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27EF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB417C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB41BC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB41BE0
InstallProtocolInterface: 0784924F-E296-11D4-9A49-0090273FC14D 3EB41AA0
InstallProtocolInterface: 4D330321-025F-4AAC-90D8-5ED900173B63 3EB41AB0
Loading driver 99549F44-49BB-4820-B9D2-901329412D67
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27E880
Loading driver at 0x0003EB2A000 EntryPoint=0x0003EB2A2AF IdeController.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27E458
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB2DA00
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB2DBC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB2DBE0
Loading driver 38A0EC22-FBE7-4911-8BC1-176E0D6C1DBD
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27B0C0
Loading driver at 0x0003EB24000 EntryPoint=0x0003EB242AF IsaAcpi.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27BB18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB27CE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB27FB0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB27F90
Loading driver 240612B5-A063-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27B880
Loading driver at 0x0003EB1B000 EntryPoint=0x0003EB1B2AF IsaBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27BCD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB21340
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB21450
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB21470
Loading driver 93B80003-9FB3-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26F040
Loading driver at 0x0003EB10000 EntryPoint=0x0003EB102AF IsaSerialDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26FBD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB17E60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB18140
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB18160
Loading driver 3DC82376-637B-40A6-A8FC-A565417F2C38
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26F940
Loading driver at 0x0003EB03000 EntryPoint=0x0003EB032AF Ps2KeyboardDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26FD98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB0B8E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB0BAC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB0BAE0
Loading driver 0ABD8284-6DA3-4616-971A-83A5148067BA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27A040
Loading driver at 0x0003EAF7000 EntryPoint=0x0003EAF72AF IsaFloppyDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27ABD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAFECE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAFEEB0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAFEED0
Loading driver FA20568B-548B-4B2B-81EF-1BA08D4A3CEC
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27A940
Loading driver at 0x0003EADE000 EntryPoint=0x0003EADE2AF BootScriptExecutorDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27A518
Loading driver 961578FE-B6B7-44C3-AF35-6BC705CD2B1F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F279180
Loading driver at 0x0003EAD7000 EntryPoint=0x0003EAD756C 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F279BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAD7360
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAD7438
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAD7450
Loading driver A2F436EA-A127-4EF8-957C-8048606FF670
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F279940
Loading driver at 0x0003EAC8000 EntryPoint=0x0003EAC82AF SnpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F279D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAD2EC0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAD36E0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAD3700
Loading driver 025BBFC7-E6A9-4B8B-82AD-6815A1AEAF4A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F278040
Loading driver at 0x0003EAB3000 EntryPoint=0x0003EAB32AF MnpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F278BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAC2440
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAC38D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAC38F0
Loading driver E4F61863-FE2C-4B56-A8F4-08519BC439DF
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F278940
Loading driver at 0x0003EAA5000 EntryPoint=0x0003EAA52AF VlanConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F278D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAAE580
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAAEB60
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAAEB80
Loading driver 529D3F93-E8E9-4E73-B1E1-BDF6A9D50113
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F277040
Loading driver at 0x0003EA97000 EntryPoint=0x0003EA972AF ArpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F277BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAA0500
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAA0820
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAA0840
Loading driver 94734718-0BBC-47FB-96A5-EE7A5AE6A2AD
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F277940
Loading driver at 0x0003EA82000 EntryPoint=0x0003EA822AF Dhcp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F277D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA918A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA91FF0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA92010
Loading driver 26841BDE-920A-4E7A-9FBE-637F477143A6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F276040
Loading driver at 0x0003EA72000 EntryPoint=0x0003EA722AF Ip4ConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F276BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA7D8C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA7DF50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA7DF70
Loading driver 9FB1A1F3-3B71-4324-B39A-745CBB015FFF
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F276940
Loading driver at 0x0003EA58000 EntryPoint=0x0003EA582AF Ip4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F276D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA6C700
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA6CF70
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA6CF90
Loading driver DC3641B8-2FA8-4ED3-BC1F-F9962A03454B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F275040
Loading driver at 0x0003EA45000 EntryPoint=0x0003EA452AF Mtftp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F275BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA53220
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA533A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA533C0
Loading driver 6D6963AB-906D-4A65-A7CA-BD40E5D6AF2B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F275940
Loading driver at 0x0003EA32000 EntryPoint=0x0003EA322AF Udp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2757D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA40200
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA40370
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA40390
Loading driver 5BEDB5CC-D830-4EB2-8742-2D4CC9B54F2C
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F274040
Loading driver at 0x0003E9FF000 EntryPoint=0x0003E9FF2AF Ip6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F274F18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA29920
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA29B20
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA29B40
Loading driver 1A7E4468-2F55-4A56-903C-01265EB7622B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F274A00
Loading driver at 0x0003E9DB000 EntryPoint=0x0003E9DB2AF TcpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F274898
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9F6780
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9F8270
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9F8290
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9F67C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9F8270
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9F8290
Loading driver D912C7BC-F098-4367-92BA-E911083C7B0E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F273B40
Loading driver at 0x0003E9C8000 EntryPoint=0x0003E9C82AF Udp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2739D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9D60E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9D64F0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9D6510
Loading driver 95E3669D-34BE-4775-A651-7EA41B69D89E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2734C0
Loading driver at 0x0003E9B1000 EntryPoint=0x0003E9B12AF Dhcp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F273918
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9C2E80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9C3790
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9C37B0
Loading driver 99F03B99-98D8-49DD-A8D3-3219D0FFE41E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F272A80
Loading driver at 0x0003E99D000 EntryPoint=0x0003E99D2AF Mtftp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F272998
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9AC020
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9AC760
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9AC780
Loading driver B95E9FDA-26DE-48D2-8807-1F9107AC5E3A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F272200
Loading driver at 0x0003E97F000 EntryPoint=0x0003E97F2AF UefiPxeBcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F272858
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E997AE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E998D30
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E998D50
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E997B20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E998D30
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E998D50
Loading driver 86CDDF93-4872-4597-8AF9-A35AE4D3725F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F271200
Loading driver at 0x0003E954000 EntryPoint=0x0003E9542AF IScsiDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2713D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E977620
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9780D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9780F0
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E977660
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9780D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9780F0
InstallProtocolInterface: 59324945-EC44-4C0D-B1CD-9DB139DF070C 3E977870
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3E9782E0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3F270EE8
InstallProtocolInterface: 7671D9D0-53DB-4173-AA69-2327F21F0BC7 3E978150
Loading driver A92CDB4B-82F1-4E0B-A516-8A655D371524
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26BAC0
Loading driver at 0x0003E94A000 EntryPoint=0x0003E94A2AF VirtioNetDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26B558
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E950A40
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E950920
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E950940
Loading driver 2FB92EFA-2EE0-4BAE-9EB6-7464125E1EF7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26B800
Loading driver at 0x0003E93B000 EntryPoint=0x0003E93B2AF UhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26EF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E946120
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9463B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9463D0
Loading driver BDFE430E-8F2A-4DB0-9991-6F856594777E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26E440
Loading driver at 0x0003E929000 EntryPoint=0x0003E9292AF EhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26EA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9365C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E937B60
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E937B80
Loading driver B7F50E91-A759-412C-ADE4-DCD03E7F7C28
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26E640
Loading driver at 0x0003E90F000 EntryPoint=0x0003E90F2AF XhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26DF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9230C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9250A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9250C0
Loading driver 240612B7-A063-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26D440
Loading driver at 0x0003E8FC000 EntryPoint=0x0003E8FC2AF UsbBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26DA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E909A40
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E90A450
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E90A470
Loading driver 2D2E62CF-9ECF-43B7-8219-94E7FC713DFE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26D640
Loading driver at 0x0003E8EE000 EntryPoint=0x0003E8EE2AF UsbKbDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F25CF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8F7560
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8F8360
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8F8380
Loading driver 9FB4B4A7-42C0-4BCD-8540-9BCC6711F83E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F25C440
Loading driver at 0x0003E8E2000 EntryPoint=0x0003E8E22AF UsbMassStorageDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F25CA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8EA160
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8EADE0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8EAE00
Loading driver E3752948-B9A1-4770-90C4-DF41C38986BE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F25C640
Loading driver at 0x0003E8D1000 EntryPoint=0x0003E8D12AF QemuVideoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26AF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8D9700
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8DA480
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8DA4A0
InstallProtocolInterface: 5C198761-16A8-4E69-972C-89D67954F81D 3E8D99C0
[BdsDxe] Locate Variable Lock protocol - Success
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:PlatformLangCodes
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:LangCodes
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:BootOptionSupport
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:HwErrRecSupport
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:OsIndicationsSupported
Variable Driver Auto Update Lang, Lang:eng, PlatformLang:en Status: Success
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70B10
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70AC8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70B30
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70AE0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC713C0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC713F8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70780
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70760
PlatformBdsInit
Registered NotifyDevPath Event
PlatformBdsPolicyBehavior
PCI Bus First Scanning
PciBus: Discovered PCI @ [00|00|00]

PciBus: Discovered PCI @ [00|01|00]

PciBus: Discovered PCI @ [00|01|01]
   BAR[4]: Type =   Io32; Alignment = 0xF;	Length = 0x10;	Offset = 0x20

PciBus: Discovered PCI @ [00|01|03]

PciBus: Discovered PCI @ [00|02|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x14
   BAR[2]: Type =  Mem32; Alignment = 0x1FFF;	Length = 0x2000;	Offset = 0x18
   BAR[3]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x1C

PciBus: Discovered PCI @ [00|03|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|04|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFF;	Length = 0x4000;	Offset = 0x10

PciBus: Discovered PCI @ [00|05|00]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|01]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|02]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|07]
   BAR[0]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x10

PciBus: Discovered PCI @ [00|06|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|07|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10

PciBus: Discovered PCI @ [00|00|00]

PciBus: Discovered PCI @ [00|01|00]

PciBus: Discovered PCI @ [00|01|01]
   BAR[4]: Type =   Io32; Alignment = 0xF;	Length = 0x10;	Offset = 0x20

PciBus: Discovered PCI @ [00|01|03]

PciBus: Discovered PCI @ [00|02|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x14
   BAR[2]: Type =  Mem32; Alignment = 0x1FFF;	Length = 0x2000;	Offset = 0x18
   BAR[3]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x1C

PciBus: Discovered PCI @ [00|03|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|04|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFF;	Length = 0x4000;	Offset = 0x10

PciBus: Discovered PCI @ [00|05|00]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|01]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|02]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|07]
   BAR[0]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x10

PciBus: Discovered PCI @ [00|06|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|07|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10

PciBus: HostBridge->SubmitResources() - Success
PciBus: HostBridge->NotifyPhase(AllocateResources) - Success
PciBus: Resource Map for Root Bridge PciRoot(0x0)
Type =   Io16; Base = 0xC000;	Length = 0x1000;	Alignment = 0xFFF
 Base = 0xC000;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|07|00:10]
 Base = 0xC020;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|06|00:10]
 Base = 0xC040;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|02:20]
 Base = 0xC060;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|01:20]
 Base = 0xC080;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|00:20]
 Base = 0xC0A0;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|03|00:10]
 Base = 0xC0C0;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|02|00:1C]
 Base = 0xC0E0;	Length = 0x10;	Alignment = 0xF;	Owner = PCI  [00|01|01:20]
Type =  Mem32; Base = 0x80000000;	Length = 0x8100000;	Alignment = 0x3FFFFFF
 Base = 0x80000000;	Length = 0x4000000;	Alignment = 0x3FFFFFF;	Owner = PCI  [00|02|00:14]
 Base = 0x84000000;	Length = 0x4000000;	Alignment = 0x3FFFFFF;	Owner = PCI  [00|02|00:10]
 Base = 0x88000000;	Length = 0x4000;	Alignment = 0x3FFF;	Owner = PCI  [00|04|00:10]
 Base = 0x88004000;	Length = 0x2000;	Alignment = 0x1FFF;	Owner = PCI  [00|02|00:18]
 Base = 0x88006000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|06|00:14]
 Base = 0x88007000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|05|07:10]
 Base = 0x88008000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|03|00:14]

InstallProtocolInterface: 30CFE3E7-3DE1-4586-BE20-DEABA1B3B793 0
OnPciEnumerated: PCI enumeration complete, installing ACPI tables
Select Item: 0x19
Select Item: 0x28
Select Item: 0x19
Select Item: 0x29
ProcessCmdAllocate: File="etc/acpi/rsdp" Alignment=0x1 Zone=2 Size=0x24 Address=0x3FF00000
Select Item: 0x19
Select Item: 0x27
ProcessCmdAllocate: File="etc/acpi/tables" Alignment=0x40 Zone=1 Size=0x20000 Address=0x3E8B1000
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x49 Start=0x40 Length=0xAF7
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0xB5B PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0xB5F PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0xB40 Start=0xB37 Length=0x74
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0xBB4 Start=0xBAB Length=0xBD3
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x1787 Start=0x177E Length=0x78
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x181A PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x181E PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x1822 PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x17FF Start=0x17F6 Length=0x30
ProcessCmdAddPointer: PointerFile="etc/acpi/rsdp" PointeeFile="etc/acpi/tables" PointerOffset=0x10 PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/rsdp" ResultOffset=0x8 Start=0x0 Length=0x24
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1000 (remaining: 0x20000): found "FACS" size 0x40
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1040 (remaining: 0x1FFC0): found "DSDT" size 0xAF7
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1B37 (remaining: 0x1F4C9): found "FACP" size 0x74
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1BAB (remaining: 0x1F455): found "SSDT" size 0xBD3
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B277E (remaining: 0x1E882): found "APIC" size 0x78
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B27F6 (remaining: 0x1E80A): found "RSDT" size 0x30
InstallQemuFwCfgTables: installed 5 tables
InstallQemuFwCfgTables: freeing "etc/acpi/rsdp"
InstallQemuFwCfgTables: freeing "etc/acpi/tables"
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F269898
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F257028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2696D8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F257568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F257FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F256028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F261FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F256568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F256FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F255028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2668D8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F255568
InstallProtocolInterface: 4006C0C1-FCB3-403E-996D-4A6C8724E06D 3F255630
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F261980
Loading driver at 0x0003E834000 EntryPoint=0x0003E8353EF 1af41000.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F266B98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E84DA88
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E84DAB8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F255FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F254028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F266E18
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F254568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F254FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F253028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F269558
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F253568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F253FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F252028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F266618
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F252568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F252FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F251028
InstallProtocolInterface: A1E37052-80D9-4E65-A317-3E9A55C43EC9 3EB2DA40
InstallProtocolInterface: 69FD8E47-A161-4550-B01A-5594CEB2B2B2 3F214F98
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F214D98
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F214BA8
InstallProtocolInterface: D432A67F-14DC-484B-B3BB-3F0291849327 3F214C08
QemuVideo: QEMU QXL VGA detected
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2136D8
QemuVideoBochsModeSetup: AvailableFbSize=0x1000000
Adding Mode 0 as Bochs Internal Mode 0: 640x480, 32-bit, 60 Hz
Adding Mode 1 as Bochs Internal Mode 1: 800x480, 32-bit, 60 Hz
Adding Mode 2 as Bochs Internal Mode 2: 800x600, 32-bit, 60 Hz
Adding Mode 3 as Bochs Internal Mode 3: 832x624, 32-bit, 60 Hz
Adding Mode 4 as Bochs Internal Mode 4: 960x640, 32-bit, 60 Hz
Adding Mode 5 as Bochs Internal Mode 5: 1024x600, 32-bit, 60 Hz
Adding Mode 6 as Bochs Internal Mode 6: 1024x768, 32-bit, 60 Hz
Adding Mode 7 as Bochs Internal Mode 7: 1152x864, 32-bit, 60 Hz
Adding Mode 8 as Bochs Internal Mode 8: 1152x870, 32-bit, 60 Hz
Adding Mode 9 as Bochs Internal Mode 9: 1280x720, 32-bit, 60 Hz
Adding Mode 10 as Bochs Internal Mode 10: 1280x760, 32-bit, 60 Hz
Adding Mode 11 as Bochs Internal Mode 11: 1280x768, 32-bit, 60 Hz
Adding Mode 12 as Bochs Internal Mode 12: 1280x800, 32-bit, 60 Hz
Adding Mode 13 as Bochs Internal Mode 13: 1280x960, 32-bit, 60 Hz
Adding Mode 14 as Bochs Internal Mode 14: 1280x1024, 32-bit, 60 Hz
Adding Mode 15 as Bochs Internal Mode 15: 1360x768, 32-bit, 60 Hz
Adding Mode 16 as Bochs Internal Mode 16: 1366x768, 32-bit, 60 Hz
Adding Mode 17 as Bochs Internal Mode 17: 1400x1050, 32-bit, 60 Hz
Adding Mode 18 as Bochs Internal Mode 18: 1440x900, 32-bit, 60 Hz
Adding Mode 19 as Bochs Internal Mode 19: 1600x900, 32-bit, 60 Hz
Adding Mode 20 as Bochs Internal Mode 20: 1600x1200, 32-bit, 60 Hz
Adding Mode 21 as Bochs Internal Mode 21: 1680x1050, 32-bit, 60 Hz
Adding Mode 22 as Bochs Internal Mode 22: 1920x1080, 32-bit, 60 Hz
Adding Mode 23 as Bochs Internal Mode 23: 1920x1200, 32-bit, 60 Hz
Adding Mode 24 as Bochs Internal Mode 24: 1920x1440, 32-bit, 60 Hz
Adding Mode 25 as Bochs Internal Mode 25: 2000x2000, 32-bit, 60 Hz
Adding Mode 26 as Bochs Internal Mode 26: 2048x1536, 32-bit, 60 Hz
Adding Mode 27 as Bochs Internal Mode 27: 2048x2048, 32-bit, 60 Hz
Adding Mode 28 as Bochs Internal Mode 28: 2560x1440, 32-bit, 60 Hz
Adding Mode 29 as Bochs Internal Mode 29: 2560x1600, 32-bit, 60 Hz
InitializeBochsGraphicsMode: 640x480 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x12C000
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3F213778
InstallVbeShim: VBE shim installed
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F28A1E0
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F20FE58
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E84D7C8
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E84D7F8
EhcCreateUsb2Hc: capability length 32
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F20F1A0
EhcDriverBindingStart: EHCI started for controller @ 3F216A18
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F20E860
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1E6120
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1E5158 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F217B58, root hub 3F1E5158
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F1E52A0
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1D10A0
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1D1AD8 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F217958, root hub 3F1D1AD8
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F1D0C60
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1BC020
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1BC9D8 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F216E58, root hub 3F1BC9D8
EhcReset: exit status Success
EhcGetState: current state 1
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1BB2A0
EhcGetCapability: 6 ports, 64 bit 0
UsbRootHubInit: root hub 3F1BA018 - max speed 2, 6 ports
UsbBusStart: usb bus started on 3F216A18, root hub 3F1BA018
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F1BAD20
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F1BAB20
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F1BA720
 BlockSize : 2048 
 LastBlock : 0 
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F1BA720
 BlockSize : 2048 
 LastBlock : 1FF 
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F199F98
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F198DF0
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F199B20
 BlockSize : 2048 
 LastBlock : 3 
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 800x600 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x1D4C00
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
GraphicsConsole video resolution 800 x 600
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
Graphics - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: 9E23D768-D2F3-4366-9FC3-3A7ABA864374 3F1988B0
InstallProtocolInterface: F36FF770-A7E1-42CF-9ED2-56F0F271F44C 3EF6AF40
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EF6BB18
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF6B920
InstallProtocolInterface: E4F61863-FE2C-4B56-A8F4-08519BC439DF 3EF6B918
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF708C0
InstallProtocolInterface: F44C00EE-1F2C-4A00-AA09-1C9F3E0800A3 3EF6D8A0
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF7A8C0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EF7BC58
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF7AB10
InstallProtocolInterface: 3B95AA31-3793-434B-8667-C8070892E05E 3EF7AAF8
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF7D940
InstallProtocolInterface: C51711E7-B4BF-404A-BFB8-0A048EF1FFE4 3EF4B020
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EF899E0
InstallProtocolInterface: 83F01464-99BD-45E5-B383-AF6305D8E9E6 3EF889A0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EF96AA0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EF968B8
InstallProtocolInterface: 9D9A39D8-BD42-4A73-A4D5-8EE94BE11380 3EF94920
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFACAA0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFAC8B8
InstallProtocolInterface: 2FE800BE-8F01-4AA6-946B-D71388E1833F 3EFAAC60
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EFAF8C0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EFB0D18
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF49FE8
InstallProtocolInterface: EC835DD3-FE0F-617B-A621-B350C3E13388 3EF49020
InstallProtocolInterface: 937FE521-95AE-4D1A-8929-48BCD90AD31A 3EF49F70
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFBC9E0
InstallProtocolInterface: 00720665-67EB-4A99-BAF7-D3C33A1C7CC9 3EFBBA40
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFC79E0
InstallProtocolInterface: EC20EB79-6C1A-4664-9A0D-D2E4CC16D664 3EFC6B80
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFD19E0
InstallProtocolInterface: 66ED4721-3C98-4D3E-81E3-D03DD39A7254 3EFD0AA0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFDD8A0
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFDB978
InstallProtocolInterface: 9FB9A8A1-2F4A-43A6-889C-D0F7B6C47AD5 3EFDB8B0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFE9960
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFE7A78
InstallProtocolInterface: D9760FF3-3CCA-4267-80F9-7527FAFA4223 3EFE7C60
InstallProtocolInterface: B95E9FDA-26DE-48D2-8807-1F9107AC5E3A 3EF3B030
InstallProtocolInterface: 8A219718-4EF5-4761-91C8-C0F04BDA9E56 3EFEC8A0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFEF8A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFED9F8
InstallProtocolInterface: 78247C57-63DB-4708-99C2-A8B4A9A61F6B 3EFED8B0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF28A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFF1938
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF48A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFF39B8
InstallProtocolInterface: F4B427BB-BA21-4F16-BC4E-43E416AB619C 3EFF5B70
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF78A0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EFF7C18
InstallProtocolInterface: 56EC3091-954C-11D2-8E3F-00A0C969723B 3EFF7B28
InstallProtocolInterface: 03C4E603-AC28-11D3-9A2D-0090273FC14D 3EF3B110
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3EFF9A40
InstallProtocolInterface: BF0A78BA-EC29-49CF-A1C9-7AE54EAB6A51 3EFFB8B8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFFCB60
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFFC8B8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFFF8A0
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFFE938
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F0009A0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F001A18
InstallProtocolInterface: 56EC3091-954C-11D2-8E3F-00A0C969723B 3EFF9BA8
InstallProtocolInterface: 03C4E603-AC28-11D3-9A2D-0090273FC14D 3EF3B110
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 65530BC7-A359-410F-B010-5AADC7EC2B62 3F003AF8
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3F005AA0
InstallProtocolInterface: FA3CDE4C-87C2-427D-AEDE-7DD096C88C58 3F0038B0
InstallProtocolInterface: 46E44855-BD60-4AB7-AB0D-A679B9447D77 3F007AF8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F009AA0
InstallProtocolInterface: 28BE27E5-66CC-4A31-A315-DB14C3744D85 3F0078B0
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
InstallProtocolInterface: 3BC1B285-8A15-4A82-AABF-4D7D13FB3265 3F255618
Found Mass Storage device: PciRoot(0x0)/Pci(0x1,0x1)
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
PlatformBdsGetDriverOption
Boot Mode:0
Found LPC Bridge device
BdsPlatform.c+232: COM1 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x0)/Uart(115200,8,N,1)/VenPcAnsi()
BdsPlatform.c+261: COM2 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x1)/Uart(115200,8,N,1)/VenPcAnsi()
Found PCI VGA device
InstallProtocolInterface: 64A892DC-5561-4536-92C7-799BFC183355 3F0169E8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F016B98
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F0178A8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F018898
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F017AE8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F018AD8
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F018A28
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F019B18
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F019A68
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01AA58
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F01AC68
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01BD58
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F01BAA8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F015A58
InstallProtocolInterface: BB25CF6F-F1D4-11D2-9A0C-0090273FC1FD 3F015928
InstallProtocolInterface: 9E863906-A40F-4875-977F-5B93FF237FC6 3F01EB98
Terminal - Mode 0, Column = 80, Row = 25
Terminal - Mode 1, Column = 80, Row = 50
Terminal - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01F898
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3F0208C0
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3F020990
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F0208D8
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3EF47028
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3EF47040
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
PlatformBdsDiagnostics
PlatformBdsConnectSequence
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F02EAA8
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3EF318A0
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3EF31E68
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F031D20
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
Select Item: 0x8
Select Item: 0x17
qemu -kernel was not used.
BdsLibConnectAll
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
Buffer: EFI DVD/CDROM
Select Item: 0x19
Select Item: 0xE
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC71440
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF1F068
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC71460
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF20948
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 640x480 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x12C000
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
PixelBlueGreenRedReserved8BitPerColor
GraphicsConsole video resolution 640 x 480
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3F046A00
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
Buffer: EFI DVD/CDROM
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 800x600 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x1D4C00
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
GraphicsConsole video resolution 800 x 600
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
Graphics - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
S3Ready!
SaveLockBox: Guid=DEA652B0-D587-4C54-B5B4-C682E7A0AA3D Buffer=3FEF4000 Length=0xA
SetLockBoxAttributes: Guid=DEA652B0-D587-4C54-B5B4-C682E7A0AA3D Attributes=0x1
AcpiS3Context: AcpiFacsTable is 0x3FEFF000
AcpiS3Context: IdtrProfile is 0x3FEF4000
AcpiS3Context: S3NvsPageTableAddress is 0x       0
AcpiS3Context: S3DebugBufferAddress is 0x3FEF2000
SaveLockBox: Guid=AF9FFD67-EC10-488A-9DFC-6CBF5EE22C2E Buffer=3FF64AA8 Length=0x8
SaveLockBox: Guid=0EF98D3A-3E33-497A-A401-77BE3EB74F38 Buffer=3FEF5000 Length=0x30
SetLockBoxAttributes: Guid=0EF98D3A-3E33-497A-A401-77BE3EB74F38 Attributes=0x1
InstallProtocolInterface: 60FF8964-E906-41D0-AFED-F241E974E08E 0
InstallProtocolInterface: FA20568B-548B-4B2B-81EF-1BA08D4A3CEC 0
SaveLockBox: Guid=3079818C-46D4-4A73-AEF3-E3E46CF1EEDB Buffer=3FF646B0 Length=0x8
SaveLockBox: Guid=79CB58C4-AC51-442F-AFD7-98E47D2E9908 Buffer=3E6D6000 Length=0x8
SetLockBoxAttributes: Guid=79CB58C4-AC51-442F-AFD7-98E47D2E9908 Attributes=0x1
SaveLockBox: Guid=9A8D3433-9FE8-42B6-870B-1E31C84EBE3B Buffer=3E6D7000 Length=0x18D40
SetLockBoxAttributes: Guid=9A8D3433-9FE8-42B6-870B-1E31C84EBE3B Attributes=0x1
SaveLockBox: Guid=AEA6B965-DCF5-4311-B4B8-0F12464494D2 Buffer=3E6F0000 Length=0x1B
SetLockBoxAttributes: Guid=AEA6B965-DCF5-4311-B4B8-0F12464494D2 Attributes=0x1
SaveLockBox: Guid=B5AF1D7A-B8CF-4EB3-8925-A820E16B687D Buffer=3E6F0000 Length=0x1B
SaveLockBox: Guid=1810AB4A-2314-4DF6-81EB-67C6EC058591 Buffer=3FF01000 Length=0x8
SetLockBoxAttributes: Guid=1810AB4A-2314-4DF6-81EB-67C6EC058591 Attributes=0x1
Initialize variable error flag (FF)
Memory  Previous  Current    Next   
 Type    Pages     Pages     Pages  
======  ========  ========  ========
  0A    00000004  00000023  0000002B
  09    00000008  00000006  00000008
  00    00000004  00000026  0000002F
  06    00000024  000000F9  00000137
  05    00000030  000000CB  000000FD
  03    00000180  000005F7  00000774
  04    00000F00  00000F96  0000137B
Booting EFI Network 1
InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 3EF3B180
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3F0668C0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F08F920
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3F092BF8
InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 3EF3B180
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F0B1C00
Loading driver at 0x0003E689000 EntryPoint=0x0003E689400 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F266798

[-- Attachment #3: debug-no-exclusive.log --]
[-- Type: text/x-log, Size: 85531 bytes --]

SecCoreStartupWithStack(0xFFFCC000, 0x818000)
SEC: Normal boot
Register PPI Notify: DCD0BE23-9586-40F4-B643-06522CED4EDE
Install PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Install PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
The 0th FV start address is 0x00000820000, size is 0x000E0000, handle is 0x820000
Register PPI Notify: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Register PPI Notify: EA7CA24B-DED5-4DAD-A389-BF827E8F9B38
Install PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: DBE23AA9-A345-4B97-85B6-B226F1617389
Loading PEIM at 0x00000838C20 EntryPoint=0x00000838E80 PcdPeim.efi
Install PPI: 06E81C58-4AD7-44BC-8390-F10265F72480
Install PPI: 01F34D25-4DE2-23AD-3FF3-36353FF323F1
Install PPI: 4D8B155B-C059-4C8F-8926-06FD4331DB8A
Install PPI: A60C6B59-E459-425D-9C69-0BCC9CB27D81
Loading PEIM at 0x00000841DA0 EntryPoint=0x00000842000 StatusCodePei.efi
Install PPI: 229832D3-7A30-4B36-B827-F40CB7D45436
Loading PEIM at 0x000008479A0 EntryPoint=0x00000847C00 PlatformPei.efi
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Platform PEIM Loaded
CMOS:
00: 09 00 47 00 09 00 04 22 04 15 26 02 00 80 00 00
10: 00 00 00 00 06 80 02 FF FF 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: FF FF 20 00 00 3F 00 20 30 00 00 00 00 12 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Select Item: 0x19
Select Item: 0x25
S3 support was detected on QEMU
Install PPI: 7408D748-FC8C-4EE6-9288-C4BEC092A410
PeiInstallPeiMemory MemoryBegin 0x3C000000, MemoryLength 0x4000000
QemuInitializeRam called
Allocated Memory unaligned: Address = 0x3FFD0000, Pages = 0x30, Type = 6 
After aligning to 0x10000 bytes: Address = 0x3FFD0000, Pages = 0x20 
Updated aligned-mem HOB with BaseAddress = 3FFD0000, Length = 20000, MemoryType = 6 
Created after-mem HOB with BaseAddress = 3FFF0000, Length = 10000, MemoryType = 7 
Reserved variable store memory: 0x3FFD0000; size: 128kb
Platform PEI Firmware Volume Initialization
Install PPI: 49EDB1C1-BF21-4761-BB12-EB0031AABB39
Notify: PPI Guid: 49EDB1C1-BF21-4761-BB12-EB0031AABB39, Peim notify entry point: 8242CA
The 1th FV start address is 0x00000900000, size is 0x00800000, handle is 0x900000
Temp Stack : BaseAddress=0x814000 Length=0x4000
Temp Heap  : BaseAddress=0x810000 Length=0x1950
Total temporary memory:    32768 bytes.
  temporary memory stack ever used: 16384 bytes.
  temporary memory heap used:       6480 bytes.
Old Stack size 16384, New stack size 131072
Stack Hob: BaseAddress=0x3C000000 Length=0x20000
Heap Offset = 0x3B810000 Stack Offset = 0x3B808000
TemporaryRamMigration(0x810000, 0x3C01C000, 0x8000)
Loading PEIM at 0x0003FFB6000 EntryPoint=0x0003FFB6260 PeiCore.efi
Reinstall PPI: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Reinstall PPI: 5473C07A-3DCB-4DCA-BD6F-1E9689E7349A
Reinstall PPI: B9E0ABFE-5979-4914-977F-6DEE78C278A6
Install PPI: F894643D-C449-42D1-8EA8-85BDD8C65BDE
Loading PEIM at 0x0003FFAC000 EntryPoint=0x0003FFAC260 DxeIpl.efi
Install PPI: 0AE8CE5D-E448-4437-A8D7-EBF5F194F731
Install PPI: 1A36E4E7-FAB6-476A-8E75-695A0576FDD7
Loading PEIM at 0x0003FFA1000 EntryPoint=0x0003FFA1260 S3Resume2Pei.efi
Install PPI: 6D582DBC-DB85-4514-8FCC-5ADF6227B147
DXE IPL Entry
Loading PEIM at 0x0003FF65000 EntryPoint=0x0003FF65260 DxeCore.efi
Loading DXE CORE at 0x0003FF65000 EntryPoint=0x0003FF65260
Install PPI: 605EA650-C65C-42E1-BA80-91A52AB618C6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3FF94848
HOBLIST address in DXE = 0x3FD1A018
Memory Allocation 0x0000000A 0x818000 - 0x81FFFF
Memory Allocation 0x0000000A 0x810000 - 0x817FFF
Memory Allocation 0x0000000A 0x807000 - 0x807FFF
Memory Allocation 0x0000000A 0x800000 - 0x805FFF
Memory Allocation 0x0000000A 0x806000 - 0x806FFF
Memory Allocation 0x00000006 0x3FFD0000 - 0x3FFEFFFF
Memory Allocation 0x00000007 0x3FFF0000 - 0x3FFFFFFF
Memory Allocation 0x0000000A 0x820000 - 0x8FFFFF
Memory Allocation 0x00000004 0x900000 - 0x10FFFFF
Memory Allocation 0x00000004 0x3FF45000 - 0x3FF64FFF
Memory Allocation 0x00000004 0x3FFCF000 - 0x3FFCFFFF
Memory Allocation 0x00000004 0x3FFB6000 - 0x3FFCEFFF
Memory Allocation 0x00000004 0x3FFAC000 - 0x3FFB5FFF
Memory Allocation 0x00000004 0x3FFA1000 - 0x3FFABFFF
Memory Allocation 0x00000004 0x3FF65000 - 0x3FFA0FFF
Memory Allocation 0x00000003 0x3FF65000 - 0x3FFA0FFF
Memory Allocation 0x00000004 0x3FF45000 - 0x3FF64FFF
Memory Allocation 0x00000004 0x3FF03000 - 0x3FF44FFF
Memory Allocation 0x00000004 0x3C000000 - 0x3C01FFFF
FV Hob            0x900000 - 0x10FFFFF
InstallProtocolInterface: D8117CFE-94A6-11D4-9A3A-0090273FC14D 3FF94320
InstallProtocolInterface: 8F644FA9-E850-4DB1-9CE2-0B44698E8DA4 3FD16270
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FD16658
InstallProtocolInterface: 220E73B6-6BDB-4413-8405-B974B108619A 3FD15C70
InstallProtocolInterface: EE4E5898-3914-4259-9D6E-DC7BD79403CF 3FF94538
Loading driver 9B680FCE-AD6B-4F3A-B60B-F59899003443
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B6B00
Loading driver at 0x0003FE8D000 EntryPoint=0x0003FE8D2AF DevicePathDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B61D8
InstallProtocolInterface: 0379BE4E-D706-437D-B037-EDB82FB772A4 3FE991E0
InstallProtocolInterface: 8B843E20-8132-4852-90CC-551A4E4A7F1C 3FE99220
InstallProtocolInterface: 05C99A21-C70F-4AD2-8A5F-35DF3343F51E 3FE99230
Loading driver 80CF7257-87AB-47F9-A3FE-D50B76D89541
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A8040
Loading driver at 0x0003FE80000 EntryPoint=0x0003FE802AF PcdDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6A8E58
InstallProtocolInterface: 11B34006-D85B-4D0A-A290-D5A571310EF7 3FE88C40
InstallProtocolInterface: 13A3F0F6-264A-3EF0-F2E0-DEC512342F34 3FE88D40
InstallProtocolInterface: 5BE40F57-FA68-4610-BBBF-E9C5FCDAD365 3FE88DD0
InstallProtocolInterface: FD0F4478-0EFD-461D-BA2D-E58C45FD5F5E 3FE88DF0
Loading driver 733CBAC2-B23F-4B92-BC8E-FB01CE5907B7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5180
Loading driver at 0x0003FEC4000 EntryPoint=0x0003FEC42AF FvbServicesRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B5E58
QEMU Flash: Attempting flash detection at FFE00010
QemuFlashDetected => FD behaves as ROM
QemuFlashDetected => No
QEMU flash was not detected. Writable FVB is not being installed.
Error: Image at 0003FEC4000 start failed: Write Protected
Loading driver FEDE0A1B-BCA2-4A9F-BB2B-D9FD7DEC2E9F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5180
Loading driver at 0x0003FEC4000 EntryPoint=0x0003FEC42AF StatusCodeRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B5CD8
InstallProtocolInterface: D2B2B828-0826-48A7-B3DF-983C006024F0 3FECA5E0
Loading driver B601F8C4-43B7-4784-95B1-F4226CB40CEE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B5680
Loading driver at 0x0003FEBC000 EntryPoint=0x0003FEBC2AF RuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AA018
InstallProtocolInterface: B7DFB4E1-052F-449F-87BE-9818FC91B733 3FEC06A0
Loading driver F80697E9-7FD6-4665-8646-88E33EF71DFC
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AA200
Loading driver at 0x0003FDFA000 EntryPoint=0x0003FDFA2AF SecurityStubDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AA918
InstallProtocolInterface: 94AB2F58-1438-4EF1-9152-18941A3A0E68 3FE58B50
InstallProtocolInterface: A46423E3-4617-49F1-B9FF-D1BFA9115839 3FE58B48
Loading driver 13AC6DD0-73D0-11D4-B06B-00AA00BD6DE7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B20C0
Loading driver at 0x0003FDEE000 EntryPoint=0x0003FDEE2AF EbcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B2ED8
InstallProtocolInterface: 13AC6DD1-73D0-11D4-B06B-00AA00BD6DE7 3F6B2CD8
InstallProtocolInterface: 2755590C-6F3C-42FA-9EA4-A3BA543CDA25 3F6B2858
InstallProtocolInterface: AAEACCFD-F27B-4C17-B610-75CA1F2DFB52 3F6B29D8
Loading driver 79CA4208-BBA1-4A9A-8456-E1E66A81484E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B2500
Loading driver at 0x0003FDE9000 EntryPoint=0x0003FDE92AF Legacy8259.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ACF98
InstallProtocolInterface: 38321DBA-4FE0-4E17-8AEC-413055EAEDC1 3FDEC020
Loading driver A19B1FE7-C1BC-49F8-875F-54A5D542443F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6ACB00
Loading driver at 0x0003FDE3000 EntryPoint=0x0003FDE32AF CpuIo2Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AC998
InstallProtocolInterface: AD61F191-AE5F-4C0E-B9FA-E869D288C64F 3FDE6380
Loading driver 1A1E4886-9517-440E-9FDE-3BE44CEE2136
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AC440
Loading driver at 0x0003FDD0000 EntryPoint=0x0003FDD02AF CpuDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6B1018
InstallProtocolInterface: 26BACCB1-6F42-11D4-BCE7-0080C73C8881 3FDDCF00
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
  Flushing GCD
Detect CPU count: 1
Loading driver 6F0198AA-1F1D-426D-AE3E-39AB633FCC28
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6B1BC0
Loading driver at 0x0003FEB6000 EntryPoint=0x0003FEB62AF KbcReset.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AEED8
InstallProtocolInterface: 27CFAC88-46CC-11D4-9A38-0090273FC14D 0
Loading driver C8339973-A563-4561-B858-D8476F9DEFC4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AD040
Loading driver at 0x0003FDCB000 EntryPoint=0x0003FDCB2AF Metronome.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AD218
InstallProtocolInterface: 26BACCB2-6F42-11D4-BCE7-0080C73C8881 3FDCDEF0
Loading driver 22DC2B60-FE40-42AC-B01F-3AB1FAD9AAD8
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AD2C0
Loading driver at 0x0003FEAE000 EntryPoint=0x0003FEAE2AF EmuVariableFvbRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6AD9D8
EMU Variable FVB Started
EMU Variable FVB: Using pre-reserved block at 3FFD0000
EMU Variable FVB: Basic FV headers were invalid
Installing FVB for EMU Variable support
InstallProtocolInterface: 8F644FA9-E850-4DB1-9CE2-0B44698E8DA4 3FEB2C20
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FEB2BE8
Loading driver 2226F30F-3D5B-402D-9936-A97184EB4516
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6AB0C0
Loading driver at 0x0003ED8B000 EntryPoint=0x0003ED8B2AF VariableAuthRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ABED8
Variable driver common space: 0xDF9C 0xDF9C 0xDF9C
InstallProtocolInterface: CD3D0A05-9E24-437C-A891-1EE053DB7638 3EDF4588
InstallProtocolInterface: AF23B340-97B4-4685-8D4F-A3F28169B21D 3EDF4590
InstallProtocolInterface: 1E5668E2-8481-11D4-BCF1-0080C73C8881 0
Loading driver 79E4A61C-ED73-4312-94FE-E3E7563362A9
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A9180
Loading driver at 0x0003FDC6000 EntryPoint=0x0003FDC62AF PrintDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6ABC18
InstallProtocolInterface: F05976EF-83F1-4F3D-8619-F7595D41E538 3FDC90C0
Loading driver 348C4D62-BFBD-4882-9ECE-C80BB1C4783B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F6A9940
Loading driver at 0x0003FD9F000 EntryPoint=0x0003FD9F2AF HiiDatabase.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F6A9798
InstallProtocolInterface: E9CA4775-8657-47FC-97E7-7ED65A084324 3FDBFEE8
InstallProtocolInterface: 0FD96974-23AA-4CDC-B9CB-98D17750322A 3FDBFF30
InstallProtocolInterface: EF9FC172-A1B2-4693-B327-6D32FC416042 3FDBFF58
InstallProtocolInterface: 587E72D7-CC50-4F79-8209-CA291FC1A10F 3FDBFFB0
InstallProtocolInterface: 31A6406A-6BDF-4E46-B2A2-EBAA89C40920 3FDBFF08
Loading driver 96B5C032-DF4C-4B6E-8232-438DCF448D0E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A1200
Loading driver at 0x0003FD99000 EntryPoint=0x0003FD992AF NullMemoryTestDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A1998
InstallProtocolInterface: 309DE7F1-7F5E-4ACE-B49C-531BE5AA95EF 3FD9C2A0
Loading driver F9D88642-0737-49BC-81B5-6889CD57D9EA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F297040
Loading driver at 0x0003FD90000 EntryPoint=0x0003FD902AF SmbiosDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F297218
InstallProtocolInterface: 03583FF6-CB36-4940-947E-B9B39F4AFAF7 3FD96570
Loading driver 9622E42C-8E38-4A08-9E8F-54F784652F6B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2972C0
Loading driver at 0x0003FD81000 EntryPoint=0x0003FD812AF AcpiTableDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F297A58
InstallProtocolInterface: FFE06BDD-6107-46A6-7BB2-5A9C7EC5275C 3F2976E8
Loading driver BDCE85BB-FBAA-4F4E-9264-501A2C249581
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A00C0
Loading driver at 0x0003FD76000 EntryPoint=0x0003FD762AF S3SaveStateDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A0E58
InstallProtocolInterface: E857CAF6-C046-45DC-BE3F-EE0765FBA887 3FD7DBC0
Loading driver A210F973-229D-4F4D-AA37-9895E6C9EABA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2A0400
Loading driver at 0x0003FD70000 EntryPoint=0x0003FD702AF DpcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2A0858
InstallProtocolInterface: 480F8AE9-0C46-4AA9-BC89-DB9FBA619806 3FD730A0
Loading driver F2765DEC-6B41-11D5-8E71-00902707B35E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29FA80
Loading driver at 0x0003FD6B000 EntryPoint=0x0003FD6B2AF Timer.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29FCD8
InstallProtocolInterface: 26BACCB3-6F42-11D4-BCE7-0080C73C8881 3FD6E040
Loading driver 2383608E-C6D0-4E3E-858D-45DFAC3543D5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29F340
Loading driver at 0x0003FD60000 EntryPoint=0x0003FD602AF PciHostBridge.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29F518
InstallProtocolInterface: CF8034BE-6768-4D8B-B739-7CCE683A9FBE 3F29E048
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3FD67C30
InstallProtocolInterface: 2F707EBB-4A1A-11D4-9A38-0090273FC14D 3F29EB38
Loading driver FE5CEA76-4F72-49E8-986F-2CD899DFFE5D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29E200
Loading driver at 0x0003FD53000 EntryPoint=0x0003FD532AF FaultTolerantWriteDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29E818
Ftw: FtwWorkSpaceLba - 0x0, WorkBlockSize  - 0x10000, FtwWorkSpaceBase - 0xE000
Ftw: FtwSpareLba     - 0x1, SpareBlockSize - 0x10000
Ftw: NumberOfWorkBlock - 0x1, FtwWorkBlockLba - 0x0
Ftw: WorkSpaceLbaInSpare - 0x0, WorkSpaceBaseInSpare - 0xE000
Ftw: Remaining work space size - FE0
Ftw: Work block header check error
Ftw: Work block header check error
Ftw: Both are invalid, init workspace
Ftw: start to reclaim work space
Ftw: reclaim work space successfully
InstallProtocolInterface: 3EBD9E82-2C78-4DE6-9786-8D4BFCB7C881 3F29C028
Variable PK does not exist.
Variable SetupMode is 1
Variable SecureBoot is 0
Variable SecureBootEnable is 0
Variable CustomMode is 0
Variable VendorKeys is 1
InstallProtocolInterface: 6441F818-6362-4E44-B570-7DBA31DD2453 0
Loading driver EBF342FE-B1D3-4EF8-957C-8048606FF671
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29BA80
Loading driver at 0x0003FD28000 EntryPoint=0x0003FD282AF SetupBrowser.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29BC58
InstallProtocolInterface: B9D4C360-BCFB-4F9B-9298-53C136982258 3FD4B630
InstallProtocolInterface: A770C357-B693-4E6D-A6CF-D21C728E550B 3FD4B660
InstallProtocolInterface: 1F73B18D-4630-43C1-A1DE-6F80855D7DA4 3FD4B640
Loading driver 4110465D-5FF3-4F4B-B580-24ED0D06747A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29A040
Loading driver at 0x0003FD21000 EntryPoint=0x0003FD212AF SmbiosPlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F29AE58
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Select Item: 0x19
Select Item: 0x19
Select Item: 0x22
Select Item: 0x21
SmbiosAdd: Smbios type 1 with size 0x51 is added to 32-bit table
SmbiosAdd: Smbios type 1 with size 0x51 is added to 64-bit table
SmbiosCreateTable: Initialize 32-bit entry point structure
SmbiosCreateTable() re-allocate SMBIOS 32-bit table
SmbiosCreateTable: Initialize 64-bit entry point structure
SmbiosCreate64BitTable() re-allocate SMBIOS 64-bit table
SmbiosAdd: Smbios type 3 with size 0x29 is added to 32-bit table
SmbiosAdd: Smbios type 3 with size 0x29 is added to 64-bit table
SmbiosAdd: Smbios type 4 with size 0x44 is added to 32-bit table
SmbiosAdd: Smbios type 4 with size 0x44 is added to 64-bit table
SmbiosAdd: Smbios type 16 with size 0x19 is added to 32-bit table
SmbiosAdd: Smbios type 16 with size 0x19 is added to 64-bit table
SmbiosAdd: Smbios type 17 with size 0x35 is added to 32-bit table
SmbiosAdd: Smbios type 17 with size 0x35 is added to 64-bit table
SmbiosAdd: Smbios type 19 with size 0x21 is added to 32-bit table
SmbiosAdd: Smbios type 19 with size 0x21 is added to 64-bit table
SmbiosAdd: Smbios type 32 with size 0xD is added to 32-bit table
SmbiosAdd: Smbios type 32 with size 0xD is added to 64-bit table
SmbiosAdd: Smbios type 0 with size 0x48 is added to 32-bit table
SmbiosAdd: Smbios type 0 with size 0x48 is added to 64-bit table
Loading driver 49970331-E3FA-4637-9ABC-3B7868676970
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F29A2C0
Loading driver at 0x0003ECB1000 EntryPoint=0x0003ECB12AF AcpiPlatform.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F299D98
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
AcpiPlatformEntryPoint: PCI enumeration pending, registered callback
Loading driver 378D7B65-8DA9-4773-B6E4-A47826A833E1
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2992C0
Loading driver at 0x0003FEA4000 EntryPoint=0x0003FEA42AF PcRtc.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2998D8
InstallProtocolInterface: 27CFAC87-46CC-11D4-9A38-0090273FC14D 0
Loading driver F0E6A44F-7195-41C3-AC64-54F202CD0A21
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F298B40
Loading driver at 0x0003EC91000 EntryPoint=0x0003EC912AF SecureBootConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F298D98
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3ECA75D0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3F2989A0
InstallProtocolInterface: F0E6A44F-7195-41C3-AC64-54F202CD0A21 3F298998
Loading driver F099D67F-71AE-4C36-B2A3-DCEB0EB2B7D8
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F296380
Loading driver at 0x0003EC8C000 EntryPoint=0x0003EC8C2AF WatchdogTimer.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F296B18
InstallProtocolInterface: 665E3FF5-46CC-11D4-9A38-0090273FC14D 3EC8EF20
Loading driver AD608272-D07F-4964-801E-7BD3B7888652
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F295040
Loading driver at 0x0003FE9E000 EntryPoint=0x0003FE9E2AF MonotonicCounterRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F295E58
InstallProtocolInterface: 1DA97072-BDDC-4B30-99F1-72A0B56FFF2A 0
Loading driver 42857F0A-13F2-4B21-8A23-53D3F714B840
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F295400
Loading driver at 0x0003EC81000 EntryPoint=0x0003EC812AF CapsuleRuntimeDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2955D8
InstallProtocolInterface: 5053697E-2CBC-4819-90D9-0580DEEE5754 0
Loading driver FC5C7020-1A48-4198-9BE2-EAD5ABC8CF2F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F292A80
Loading driver at 0x0003EC2E000 EntryPoint=0x0003EC2E2AF BdsDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F292C58
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
InstallProtocolInterface: 665E3FF6-46CC-11D4-9A38-0090273FC14D 3EC6ED38
Loading driver E660EA85-058E-4B55-A54B-F02F83A24707
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F291200
Loading driver at 0x0003EC0D000 EntryPoint=0x0003EC0D2AF DisplayEngine.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F292258
InstallProtocolInterface: 9BBE29E9-FDA1-41EC-AD52-452213742D2E 3EC27290
Loading driver 6B79BBC0-26B9-4FE9-B631-551D8AB078C6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28E0C0
Loading driver at 0x0003EC05000 EntryPoint=0x0003EC052AF AcpiS3SaveDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28EED8
Select Item: 0x0
FW CFG Signature: 0x554D4551
Select Item: 0x1
FW CFG Revision: 0x1
QemuFwCfg interface is supported.
Select Item: 0x19
Select Item: 0x25
InstallProtocolInterface: 125F2DE1-FB85-440C-A54C-4D99358A8D38 3EC0A200
InstallProtocolInterface: BD445D79-B7AD-4F04-9AD8-29BD2040EB3C 0
Loading driver D9DCC5DF-4007-435E-9098-8970935504B2
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28E340
Loading driver at 0x0003EBFB000 EntryPoint=0x0003EBFB2AF PlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28E518
ExecutePlatformConfig: failed to load platform config: Not Found
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC019D0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC019F0
Loading driver 93B80004-9FB3-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28ABC0
Loading driver at 0x0003EBDC000 EntryPoint=0x0003EBDC2AF PciBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28E698
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBF6020
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBF62A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBF62C0
InstallProtocolInterface: 19CB87AB-2CB9-4665-8360-DDCF6054F79D 3EBF6078
Loading driver 33CB97AF-6C33-4C42-986B-07581FA366D4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F28A340
Loading driver at 0x0003EBD5000 EntryPoint=0x0003EBD52AF BlockMmioToBlockIoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F28A798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBD8F60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBD9250
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBD9270
Loading driver 83DD3B39-7CAF-4FAC-A542-E050B767E3A7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F289A80
Loading driver at 0x0003EBCE000 EntryPoint=0x0003EBCE2AF VirtioPciDeviceDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F289CD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBD2600
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBD2660
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBD2680
Loading driver 11D92DFB-3CA9-4F93-BA2E-4780ED3E03B5
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F289340
Loading driver at 0x0003EBC6000 EntryPoint=0x0003EBC62AF VirtioBlkDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F289798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBCAF20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBCAF80
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBCAFA0
Loading driver FAB5D4F4-83C0-4AAF-8480-442D11DF6CEA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F288A80
Loading driver at 0x0003EBBE000 EntryPoint=0x0003EBBE2AF VirtioScsiDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F288CD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBC33A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBC3400
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBC3420
Loading driver CF569F50-DE44-4F54-B4D7-F4AE25CDA599
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F288340
Loading driver at 0x0003EBB8000 EntryPoint=0x0003EBB82AF XenIoPciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F288798
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBBB920
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBBB980
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBBB9A0
Loading driver 565EC8BA-A484-11E3-802B-B8AC6F7D65E6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287A80
Loading driver at 0x0003EBA7000 EntryPoint=0x0003EBA72AF XenBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287CD8
Error: Image at 0003EBA7000 start failed: Aborted
Loading driver 8C2487EA-9AF3-11E3-B966-B8AC6F7D65E6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287A80
Loading driver at 0x0003EBAD000 EntryPoint=0x0003EBAD2AF XenPvBlkDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287E18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBB42A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBB4420
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBB4440
Loading driver 51CCF399-4FDF-4E55-A45B-E123F84D456A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F287880
Loading driver at 0x0003EBA5000 EntryPoint=0x0003EBA52AF ConPlatformDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F287598
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA9B80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA9D50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA9D70
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA9BC0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA9D50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA9D70
Loading driver 408EDCEC-CF6D-477C-A5A8-B4844E3DE281
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F286200
Loading driver at 0x0003EB96000 EntryPoint=0x0003EB962AF ConSplitterDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F286918
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1A60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA1FF0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2010
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1B20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA2030
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2050
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1B60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA2070
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2090
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1AA0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA20B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA20D0
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EBA1AE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EBA20F0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EBA2110
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3EBA1670
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3EBA16A0
InstallProtocolInterface: 31878C87-0B75-11D5-9A4F-0090273FC14D 3EBA16F8
InstallProtocolInterface: 8D59D32B-C655-4AE9-9B15-F25904992A43 3EBA1750
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3EBA1830
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3EBA1950
Loading driver CCCB0C28-4B24-11D5-9A5A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2820C0
Loading driver at 0x0003EB89000 EntryPoint=0x0003EB892AF GraphicsConsoleDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F282DD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB90860
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB90B00
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB90B20
Loading driver 9E863906-A40F-4875-977F-5B93FF237FC6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F282500
Loading driver at 0x0003EB79000 EntryPoint=0x0003EB792AF TerminalDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F281018
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB844A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB849B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB849D0
Loading driver 6B38F7B4-AD98-40E9-9093-ACA2B5A253C4
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F281B40
Loading driver at 0x0003EB6F000 EntryPoint=0x0003EB6F2AF DiskIoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F281818
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB75A80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB76050
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB76070
Loading driver 1FA1F39E-FEFF-4AAE-BD7B-38A070A3B609
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2814C0
Loading driver at 0x0003EB63000 EntryPoint=0x0003EB632AF PartitionDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F280018
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB6B860
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB6BA00
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB6BA20
Loading driver CD3BAFB6-50FB-4FE8-8E4E-AB74D2C1A600
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F280B40
Loading driver at 0x0003EB5D000 EntryPoint=0x0003EB5D2AF EnglishDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F280818
InstallProtocolInterface: 1D85CD7F-F43D-11D2-9A0C-0090273FC14D 3EB60200
InstallProtocolInterface: A4C751FC-23AE-4C3E-92E9-4964CF63F349 3EB60240
Loading driver 0167CCC4-D0F7-4F21-A3EF-9E64B7CDCE8B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F040
Loading driver at 0x0003EB54000 EntryPoint=0x0003EB542AF ScsiBus.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2802D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB5A540
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB5A650
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB5A670
Loading driver 0A66E322-3740-4CCE-AD62-BD172CECCA35
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F2C0
Loading driver at 0x0003EB46000 EntryPoint=0x0003EB462AF ScsiDisk.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27FA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB502E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB50890
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB508B0
Loading driver 69FD8E47-A161-4550-B01A-5594CEB2B2B2
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27F680
Loading driver at 0x0003EB30000 EntryPoint=0x0003EB302AF IdeBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27EF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB417C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB41BC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB41BE0
InstallProtocolInterface: 0784924F-E296-11D4-9A49-0090273FC14D 3EB41AA0
InstallProtocolInterface: 4D330321-025F-4AAC-90D8-5ED900173B63 3EB41AB0
Loading driver 99549F44-49BB-4820-B9D2-901329412D67
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27E880
Loading driver at 0x0003EB2A000 EntryPoint=0x0003EB2A2AF IdeController.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27E458
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB2DA00
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB2DBC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB2DBE0
Loading driver 38A0EC22-FBE7-4911-8BC1-176E0D6C1DBD
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27B0C0
Loading driver at 0x0003EB24000 EntryPoint=0x0003EB242AF IsaAcpi.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27BB18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB27CE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB27FB0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB27F90
Loading driver 240612B5-A063-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27B880
Loading driver at 0x0003EB1B000 EntryPoint=0x0003EB1B2AF IsaBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27BCD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB21340
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB21450
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB21470
Loading driver 93B80003-9FB3-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26F040
Loading driver at 0x0003EB10000 EntryPoint=0x0003EB102AF IsaSerialDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26FBD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB17E60
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB18140
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB18160
Loading driver 3DC82376-637B-40A6-A8FC-A565417F2C38
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26F940
Loading driver at 0x0003EB03000 EntryPoint=0x0003EB032AF Ps2KeyboardDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26FD98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EB0B8E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EB0BAC0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EB0BAE0
Loading driver 0ABD8284-6DA3-4616-971A-83A5148067BA
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27A040
Loading driver at 0x0003EAF7000 EntryPoint=0x0003EAF72AF IsaFloppyDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27ABD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAFECE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAFEEB0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAFEED0
Loading driver FA20568B-548B-4B2B-81EF-1BA08D4A3CEC
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F27A940
Loading driver at 0x0003EADE000 EntryPoint=0x0003EADE2AF BootScriptExecutorDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F27A518
Loading driver 961578FE-B6B7-44C3-AF35-6BC705CD2B1F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F279180
Loading driver at 0x0003EAD7000 EntryPoint=0x0003EAD756C 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F279BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAD7360
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAD7438
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAD7450
Loading driver A2F436EA-A127-4EF8-957C-8048606FF670
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F279940
Loading driver at 0x0003EAC8000 EntryPoint=0x0003EAC82AF SnpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F279D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAD2EC0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAD36E0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAD3700
Loading driver 025BBFC7-E6A9-4B8B-82AD-6815A1AEAF4A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F278040
Loading driver at 0x0003EAB3000 EntryPoint=0x0003EAB32AF MnpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F278BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAC2440
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAC38D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAC38F0
Loading driver E4F61863-FE2C-4B56-A8F4-08519BC439DF
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F278940
Loading driver at 0x0003EAA5000 EntryPoint=0x0003EAA52AF VlanConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F278D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAAE580
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAAEB60
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAAEB80
Loading driver 529D3F93-E8E9-4E73-B1E1-BDF6A9D50113
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F277040
Loading driver at 0x0003EA97000 EntryPoint=0x0003EA972AF ArpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F277BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EAA0500
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EAA0820
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EAA0840
Loading driver 94734718-0BBC-47FB-96A5-EE7A5AE6A2AD
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F277940
Loading driver at 0x0003EA82000 EntryPoint=0x0003EA822AF Dhcp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F277D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA918A0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA91FF0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA92010
Loading driver 26841BDE-920A-4E7A-9FBE-637F477143A6
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F276040
Loading driver at 0x0003EA72000 EntryPoint=0x0003EA722AF Ip4ConfigDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F276BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA7D8C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA7DF50
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA7DF70
Loading driver 9FB1A1F3-3B71-4324-B39A-745CBB015FFF
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F276940
Loading driver at 0x0003EA58000 EntryPoint=0x0003EA582AF Ip4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F276D98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA6C700
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA6CF70
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA6CF90
Loading driver DC3641B8-2FA8-4ED3-BC1F-F9962A03454B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F275040
Loading driver at 0x0003EA45000 EntryPoint=0x0003EA452AF Mtftp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F275BD8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA53220
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA533A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA533C0
Loading driver 6D6963AB-906D-4A65-A7CA-BD40E5D6AF2B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F275940
Loading driver at 0x0003EA32000 EntryPoint=0x0003EA322AF Udp4Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2757D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA40200
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA40370
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA40390
Loading driver 5BEDB5CC-D830-4EB2-8742-2D4CC9B54F2C
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F274040
Loading driver at 0x0003E9FF000 EntryPoint=0x0003E9FF2AF Ip6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F274F18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3EA29920
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3EA29B20
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3EA29B40
Loading driver 1A7E4468-2F55-4A56-903C-01265EB7622B
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F274A00
Loading driver at 0x0003E9DB000 EntryPoint=0x0003E9DB2AF TcpDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F274898
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9F6780
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9F8270
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9F8290
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9F67C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9F8270
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9F8290
Loading driver D912C7BC-F098-4367-92BA-E911083C7B0E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F273B40
Loading driver at 0x0003E9C8000 EntryPoint=0x0003E9C82AF Udp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2739D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9D60E0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9D64F0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9D6510
Loading driver 95E3669D-34BE-4775-A651-7EA41B69D89E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F2734C0
Loading driver at 0x0003E9B1000 EntryPoint=0x0003E9B12AF Dhcp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F273918
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9C2E80
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9C3790
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9C37B0
Loading driver 99F03B99-98D8-49DD-A8D3-3219D0FFE41E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F272A80
Loading driver at 0x0003E99D000 EntryPoint=0x0003E99D2AF Mtftp6Dxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F272998
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9AC020
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9AC760
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9AC780
Loading driver B95E9FDA-26DE-48D2-8807-1F9107AC5E3A
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F272200
Loading driver at 0x0003E97F000 EntryPoint=0x0003E97F2AF UefiPxeBcDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F272858
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E997AE0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E998D30
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E998D50
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E997B20
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E998D30
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E998D50
Loading driver 86CDDF93-4872-4597-8AF9-A35AE4D3725F
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F271200
Loading driver at 0x0003E954000 EntryPoint=0x0003E9542AF IScsiDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F2713D8
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E977620
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9780D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9780F0
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E977660
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9780D0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9780F0
InstallProtocolInterface: 59324945-EC44-4C0D-B1CD-9DB139DF070C 3E977870
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3E9782E0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3F270EE8
InstallProtocolInterface: 7671D9D0-53DB-4173-AA69-2327F21F0BC7 3E978150
Loading driver A92CDB4B-82F1-4E0B-A516-8A655D371524
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26BAC0
Loading driver at 0x0003E94A000 EntryPoint=0x0003E94A2AF VirtioNetDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26B558
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E950A40
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E950920
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E950940
Loading driver 2FB92EFA-2EE0-4BAE-9EB6-7464125E1EF7
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26B800
Loading driver at 0x0003E93B000 EntryPoint=0x0003E93B2AF UhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26EF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E946120
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9463B0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9463D0
Loading driver BDFE430E-8F2A-4DB0-9991-6F856594777E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26E440
Loading driver at 0x0003E929000 EntryPoint=0x0003E9292AF EhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26EA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9365C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E937B60
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E937B80
Loading driver B7F50E91-A759-412C-ADE4-DCD03E7F7C28
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26E640
Loading driver at 0x0003E90F000 EntryPoint=0x0003E90F2AF XhciDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26DF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E9230C0
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E9250A0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E9250C0
Loading driver 240612B7-A063-11D4-9A3A-0090273FC14D
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26D440
Loading driver at 0x0003E8FC000 EntryPoint=0x0003E8FC2AF UsbBusDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26DA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E909A40
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E90A450
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E90A470
Loading driver 2D2E62CF-9ECF-43B7-8219-94E7FC713DFE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F26D640
Loading driver at 0x0003E8EE000 EntryPoint=0x0003E8EE2AF UsbKbDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F25CF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8F7560
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8F8360
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8F8380
Loading driver 9FB4B4A7-42C0-4BCD-8540-9BCC6711F83E
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F25C440
Loading driver at 0x0003E8E2000 EntryPoint=0x0003E8E22AF UsbMassStorageDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F25CA98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8EA160
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8EADE0
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8EAE00
Loading driver E3752948-B9A1-4770-90C4-DF41C38986BE
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F25C640
Loading driver at 0x0003E8D1000 EntryPoint=0x0003E8D12AF QemuVideoDxe.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F26AF18
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E8D9700
InstallProtocolInterface: 107A772C-D5E1-11D4-9A46-0090273FC14D 3E8DA480
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E8DA4A0
InstallProtocolInterface: 5C198761-16A8-4E69-972C-89D67954F81D 3E8D99C0
[BdsDxe] Locate Variable Lock protocol - Success
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:PlatformLangCodes
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:LangCodes
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:BootOptionSupport
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:HwErrRecSupport
[Variable] Lock: 8BE4DF61-93CA-11D2-AA0D-00E098032B8C:OsIndicationsSupported
Variable Driver Auto Update Lang, Lang:eng, PlatformLang:en Status: Success
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70B10
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70AC8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70B30
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70AE0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC713C0
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC713F8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC70780
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EC70760
PlatformBdsInit
Registered NotifyDevPath Event
PlatformBdsPolicyBehavior
PCI Bus First Scanning
PciBus: Discovered PCI @ [00|00|00]

PciBus: Discovered PCI @ [00|01|00]

PciBus: Discovered PCI @ [00|01|01]
   BAR[4]: Type =   Io32; Alignment = 0xF;	Length = 0x10;	Offset = 0x20

PciBus: Discovered PCI @ [00|01|03]

PciBus: Discovered PCI @ [00|02|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x14
   BAR[2]: Type =  Mem32; Alignment = 0x1FFF;	Length = 0x2000;	Offset = 0x18
   BAR[3]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x1C

PciBus: Discovered PCI @ [00|03|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|04|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFF;	Length = 0x4000;	Offset = 0x10

PciBus: Discovered PCI @ [00|05|00]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|01]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|02]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|07]
   BAR[0]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x10

PciBus: Discovered PCI @ [00|06|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|07|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10

PciBus: Discovered PCI @ [00|00|00]

PciBus: Discovered PCI @ [00|01|00]

PciBus: Discovered PCI @ [00|01|01]
   BAR[4]: Type =   Io32; Alignment = 0xF;	Length = 0x10;	Offset = 0x20

PciBus: Discovered PCI @ [00|01|03]

PciBus: Discovered PCI @ [00|02|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0x3FFFFFF;	Length = 0x4000000;	Offset = 0x14
   BAR[2]: Type =  Mem32; Alignment = 0x1FFF;	Length = 0x2000;	Offset = 0x18
   BAR[3]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x1C

PciBus: Discovered PCI @ [00|03|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|04|00]
   BAR[0]: Type =  Mem32; Alignment = 0x3FFF;	Length = 0x4000;	Offset = 0x10

PciBus: Discovered PCI @ [00|05|00]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|01]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|02]
   BAR[4]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x20

PciBus: Discovered PCI @ [00|05|07]
   BAR[0]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x10

PciBus: Discovered PCI @ [00|06|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10
   BAR[1]: Type =  Mem32; Alignment = 0xFFF;	Length = 0x1000;	Offset = 0x14

PciBus: Discovered PCI @ [00|07|00]
   BAR[0]: Type =   Io32; Alignment = 0x1F;	Length = 0x20;	Offset = 0x10

PciBus: HostBridge->SubmitResources() - Success
PciBus: HostBridge->NotifyPhase(AllocateResources) - Success
PciBus: Resource Map for Root Bridge PciRoot(0x0)
Type =   Io16; Base = 0xC000;	Length = 0x1000;	Alignment = 0xFFF
 Base = 0xC000;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|07|00:10]
 Base = 0xC020;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|06|00:10]
 Base = 0xC040;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|02:20]
 Base = 0xC060;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|01:20]
 Base = 0xC080;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|05|00:20]
 Base = 0xC0A0;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|03|00:10]
 Base = 0xC0C0;	Length = 0x20;	Alignment = 0x1F;	Owner = PCI  [00|02|00:1C]
 Base = 0xC0E0;	Length = 0x10;	Alignment = 0xF;	Owner = PCI  [00|01|01:20]
Type =  Mem32; Base = 0x80000000;	Length = 0x8100000;	Alignment = 0x3FFFFFF
 Base = 0x80000000;	Length = 0x4000000;	Alignment = 0x3FFFFFF;	Owner = PCI  [00|02|00:14]
 Base = 0x84000000;	Length = 0x4000000;	Alignment = 0x3FFFFFF;	Owner = PCI  [00|02|00:10]
 Base = 0x88000000;	Length = 0x4000;	Alignment = 0x3FFF;	Owner = PCI  [00|04|00:10]
 Base = 0x88004000;	Length = 0x2000;	Alignment = 0x1FFF;	Owner = PCI  [00|02|00:18]
 Base = 0x88006000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|06|00:14]
 Base = 0x88007000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|05|07:10]
 Base = 0x88008000;	Length = 0x1000;	Alignment = 0xFFF;	Owner = PCI  [00|03|00:14]

InstallProtocolInterface: 30CFE3E7-3DE1-4586-BE20-DEABA1B3B793 0
OnPciEnumerated: PCI enumeration complete, installing ACPI tables
Select Item: 0x19
Select Item: 0x28
Select Item: 0x19
Select Item: 0x29
ProcessCmdAllocate: File="etc/acpi/rsdp" Alignment=0x1 Zone=2 Size=0x24 Address=0x3FF00000
Select Item: 0x19
Select Item: 0x27
ProcessCmdAllocate: File="etc/acpi/tables" Alignment=0x40 Zone=1 Size=0x20000 Address=0x3E8B1000
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x49 Start=0x40 Length=0xAF7
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0xB5B PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0xB5F PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0xB40 Start=0xB37 Length=0x74
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0xBB4 Start=0xBAB Length=0xBD3
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x1787 Start=0x177E Length=0x78
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x181A PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x181E PointerSize=4
ProcessCmdAddPointer: PointerFile="etc/acpi/tables" PointeeFile="etc/acpi/tables" PointerOffset=0x1822 PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/tables" ResultOffset=0x17FF Start=0x17F6 Length=0x30
ProcessCmdAddPointer: PointerFile="etc/acpi/rsdp" PointeeFile="etc/acpi/tables" PointerOffset=0x10 PointerSize=4
ProcessCmdAddChecksum: File="etc/acpi/rsdp" ResultOffset=0x8 Start=0x0 Length=0x24
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
InstallQemuFwCfgTables: unknown loader command: 0x0
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1000 (remaining: 0x20000): found "FACS" size 0x40
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1040 (remaining: 0x1FFC0): found "DSDT" size 0xAF7
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1B37 (remaining: 0x1F4C9): found "FACP" size 0x74
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B1BAB (remaining: 0x1F455): found "SSDT" size 0xBD3
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B277E (remaining: 0x1E882): found "APIC" size 0x78
Process2ndPassCmdAddPointer: checking for ACPI header in "etc/acpi/tables" at 0x3E8B27F6 (remaining: 0x1E80A): found "RSDT" size 0x30
InstallQemuFwCfgTables: installed 5 tables
InstallQemuFwCfgTables: freeing "etc/acpi/rsdp"
InstallQemuFwCfgTables: freeing "etc/acpi/tables"
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F269898
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F257028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2696D8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F257568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F257FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F256028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F261FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F256568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F256FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F255028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2668D8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F255568
InstallProtocolInterface: 4006C0C1-FCB3-403E-996D-4A6C8724E06D 3F255630
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F261980
Loading driver at 0x0003E834000 EntryPoint=0x0003E8353EF 1af41000.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F266B98
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E84DA88
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E84DAB8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F255FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F254028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F266E18
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F254568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F254FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F253028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F269558
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F253568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F253FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F252028
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F266618
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F252568
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F252FD8
InstallProtocolInterface: 4CF5B200-68B8-4CA5-9EEC-B23E3F50029A 3F251028
InstallProtocolInterface: A1E37052-80D9-4E65-A317-3E9A55C43EC9 3EB2DA40
InstallProtocolInterface: 69FD8E47-A161-4550-B01A-5594CEB2B2B2 3F214F98
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F214D98
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F214BA8
InstallProtocolInterface: D432A67F-14DC-484B-B3BB-3F0291849327 3F214C08
QemuVideo: QEMU QXL VGA detected
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F2136D8
QemuVideoBochsModeSetup: AvailableFbSize=0x1000000
Adding Mode 0 as Bochs Internal Mode 0: 640x480, 32-bit, 60 Hz
Adding Mode 1 as Bochs Internal Mode 1: 800x480, 32-bit, 60 Hz
Adding Mode 2 as Bochs Internal Mode 2: 800x600, 32-bit, 60 Hz
Adding Mode 3 as Bochs Internal Mode 3: 832x624, 32-bit, 60 Hz
Adding Mode 4 as Bochs Internal Mode 4: 960x640, 32-bit, 60 Hz
Adding Mode 5 as Bochs Internal Mode 5: 1024x600, 32-bit, 60 Hz
Adding Mode 6 as Bochs Internal Mode 6: 1024x768, 32-bit, 60 Hz
Adding Mode 7 as Bochs Internal Mode 7: 1152x864, 32-bit, 60 Hz
Adding Mode 8 as Bochs Internal Mode 8: 1152x870, 32-bit, 60 Hz
Adding Mode 9 as Bochs Internal Mode 9: 1280x720, 32-bit, 60 Hz
Adding Mode 10 as Bochs Internal Mode 10: 1280x760, 32-bit, 60 Hz
Adding Mode 11 as Bochs Internal Mode 11: 1280x768, 32-bit, 60 Hz
Adding Mode 12 as Bochs Internal Mode 12: 1280x800, 32-bit, 60 Hz
Adding Mode 13 as Bochs Internal Mode 13: 1280x960, 32-bit, 60 Hz
Adding Mode 14 as Bochs Internal Mode 14: 1280x1024, 32-bit, 60 Hz
Adding Mode 15 as Bochs Internal Mode 15: 1360x768, 32-bit, 60 Hz
Adding Mode 16 as Bochs Internal Mode 16: 1366x768, 32-bit, 60 Hz
Adding Mode 17 as Bochs Internal Mode 17: 1400x1050, 32-bit, 60 Hz
Adding Mode 18 as Bochs Internal Mode 18: 1440x900, 32-bit, 60 Hz
Adding Mode 19 as Bochs Internal Mode 19: 1600x900, 32-bit, 60 Hz
Adding Mode 20 as Bochs Internal Mode 20: 1600x1200, 32-bit, 60 Hz
Adding Mode 21 as Bochs Internal Mode 21: 1680x1050, 32-bit, 60 Hz
Adding Mode 22 as Bochs Internal Mode 22: 1920x1080, 32-bit, 60 Hz
Adding Mode 23 as Bochs Internal Mode 23: 1920x1200, 32-bit, 60 Hz
Adding Mode 24 as Bochs Internal Mode 24: 1920x1440, 32-bit, 60 Hz
Adding Mode 25 as Bochs Internal Mode 25: 2000x2000, 32-bit, 60 Hz
Adding Mode 26 as Bochs Internal Mode 26: 2048x1536, 32-bit, 60 Hz
Adding Mode 27 as Bochs Internal Mode 27: 2048x2048, 32-bit, 60 Hz
Adding Mode 28 as Bochs Internal Mode 28: 2560x1440, 32-bit, 60 Hz
Adding Mode 29 as Bochs Internal Mode 29: 2560x1600, 32-bit, 60 Hz
InitializeBochsGraphicsMode: 640x480 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x12C000
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3F213778
InstallVbeShim: VBE shim installed
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F28A1E0
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F20FE58
InstallProtocolInterface: 18A031AB-B443-4D1A-A5C0-0C09261E9F71 3E84D7C8
InstallProtocolInterface: 6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14 3E84D7F8
EhcCreateUsb2Hc: capability length 32
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F20F1A0
EhcDriverBindingStart: EHCI started for controller @ 3F216A18
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F20E860
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1E6120
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1E5158 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F217B58, root hub 3F1E5158
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F1E52A0
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1D10A0
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1D1AD8 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F217958, root hub 3F1D1AD8
InstallProtocolInterface: 3E745226-9818-45B6-A2AC-D7CD0E8BA2BC 3F1D0C60
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1BC020
Uhci2GetCapability: 2 ports
UsbRootHubInit: root hub 3F1BC9D8 - max speed 0, 2 ports
UsbBusStart: usb bus started on 3F216E58, root hub 3F1BC9D8
EhcReset: exit status Success
EhcGetState: current state 1
InstallProtocolInterface: 240612B7-A063-11D4-9A3A-0090273FC14D 3F1BB2A0
EhcGetCapability: 6 ports, 64 bit 0
UsbRootHubInit: root hub 3F1BA018 - max speed 2, 6 ports
UsbBusStart: usb bus started on 3F216A18, root hub 3F1BA018
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F1BAD20
InstallProtocolInterface: FA920010-6785-4941-B6EC-498C579F160A 3F1BAB20
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F1BA720
 BlockSize : 2048 
 LastBlock : 0 
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F1BA720
 BlockSize : 2048 
 LastBlock : 1FF 
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F199F98
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F198DF0
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F199B20
 BlockSize : 2048 
 LastBlock : 3 
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 800x600 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x1D4C00
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
GraphicsConsole video resolution 800 x 600
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
Graphics - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: 9E23D768-D2F3-4366-9FC3-3A7ABA864374 3F1988B0
InstallProtocolInterface: F36FF770-A7E1-42CF-9ED2-56F0F271F44C 3EF6AF40
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EF6BB18
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF6B920
InstallProtocolInterface: E4F61863-FE2C-4B56-A8F4-08519BC439DF 3EF6B918
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF708C0
InstallProtocolInterface: F44C00EE-1F2C-4A00-AA09-1C9F3E0800A3 3EF6D8A0
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF7A8C0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EF7BC58
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF7AB10
InstallProtocolInterface: 3B95AA31-3793-434B-8667-C8070892E05E 3EF7AAF8
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EF7D940
InstallProtocolInterface: C51711E7-B4BF-404A-BFB8-0A048EF1FFE4 3EF4B020
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EF899E0
InstallProtocolInterface: 83F01464-99BD-45E5-B383-AF6305D8E9E6 3EF889A0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EF96AA0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EF968B8
InstallProtocolInterface: 9D9A39D8-BD42-4A73-A4D5-8EE94BE11380 3EF94920
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFACAA0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFAC8B8
InstallProtocolInterface: 2FE800BE-8F01-4AA6-946B-D71388E1833F 3EFAAC60
InstallProtocolInterface: 7AB33A91-ACE5-4326-B572-E7EE33D39F16 3EFAF8C0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EFB0D18
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF49FE8
InstallProtocolInterface: EC835DD3-FE0F-617B-A621-B350C3E13388 3EF49020
InstallProtocolInterface: 937FE521-95AE-4D1A-8929-48BCD90AD31A 3EF49F70
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFBC9E0
InstallProtocolInterface: 00720665-67EB-4A99-BAF7-D3C33A1C7CC9 3EFBBA40
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFC79E0
InstallProtocolInterface: EC20EB79-6C1A-4664-9A0D-D2E4CC16D664 3EFC6B80
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFD19E0
InstallProtocolInterface: 66ED4721-3C98-4D3E-81E3-D03DD39A7254 3EFD0AA0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFDD8A0
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFDB978
InstallProtocolInterface: 9FB9A8A1-2F4A-43A6-889C-D0F7B6C47AD5 3EFDB8B0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFE9960
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFE7A78
InstallProtocolInterface: D9760FF3-3CCA-4267-80F9-7527FAFA4223 3EFE7C60
InstallProtocolInterface: B95E9FDA-26DE-48D2-8807-1F9107AC5E3A 3EF3B030
InstallProtocolInterface: 8A219718-4EF5-4761-91C8-C0F04BDA9E56 3EFEC8A0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFEF8A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFED9F8
InstallProtocolInterface: 78247C57-63DB-4708-99C2-A8B4A9A61F6B 3EFED8B0
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF28A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFF1938
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF48A0
InstallProtocolInterface: 3AD9DF29-4501-478D-B1F8-7F7FE70E50F3 3EFF39B8
InstallProtocolInterface: F4B427BB-BA21-4F16-BC4E-43E416AB619C 3EFF5B70
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3EFF78A0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EFF7C18
InstallProtocolInterface: 56EC3091-954C-11D2-8E3F-00A0C969723B 3EFF7B28
InstallProtocolInterface: 03C4E603-AC28-11D3-9A2D-0090273FC14D 3EF3B110
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3EFF9A40
InstallProtocolInterface: BF0A78BA-EC29-49CF-A1C9-7AE54EAB6A51 3EFFB8B8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFFCB60
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFFC8B8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3EFFF8A0
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3EFFE938
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F0009A0
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F001A18
InstallProtocolInterface: 56EC3091-954C-11D2-8E3F-00A0C969723B 3EFF9BA8
InstallProtocolInterface: 03C4E603-AC28-11D3-9A2D-0090273FC14D 3EF3B110
InstallProtocolInterface: A19832B9-AC25-11D3-9A2D-0090273FC14D 3F2108A8
InstallProtocolInterface: 65530BC7-A359-410F-B010-5AADC7EC2B62 3F003AF8
InstallProtocolInterface: 41D94CD2-35B6-455A-8258-D4E51334AADD 3F005AA0
InstallProtocolInterface: FA3CDE4C-87C2-427D-AEDE-7DD096C88C58 3F0038B0
InstallProtocolInterface: 46E44855-BD60-4AB7-AB0D-A679B9447D77 3F007AF8
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F009AA0
InstallProtocolInterface: 28BE27E5-66CC-4A31-A315-DB14C3744D85 3F0078B0
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
InstallProtocolInterface: 3BC1B285-8A15-4A82-AABF-4D7D13FB3265 3F255618
Found Mass Storage device: PciRoot(0x0)/Pci(0x1,0x1)
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
PlatformBdsGetDriverOption
Boot Mode:0
Found LPC Bridge device
BdsPlatform.c+232: COM1 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x0)/Uart(115200,8,N,1)/VenPcAnsi()
BdsPlatform.c+261: COM2 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x1)/Uart(115200,8,N,1)/VenPcAnsi()
Found PCI VGA device
InstallProtocolInterface: 64A892DC-5561-4536-92C7-799BFC183355 3F015A68
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F016B98
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F0178A8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F018898
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F017AE8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F018AD8
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F018A28
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F019B18
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F019A68
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01AA58
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F01AC68
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01BD58
InstallProtocolInterface: 7EE2BD44-3DA0-11D4-9A38-0090273FC14D 3F01BAA8
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F0169D8
InstallProtocolInterface: BB25CF6F-F1D4-11D2-9A0C-0090273FC1FD 3F0168A8
InstallProtocolInterface: 9E863906-A40F-4875-977F-5B93FF237FC6 3F01EB98
Terminal - Mode 0, Column = 80, Row = 25
Terminal - Mode 1, Column = 80, Row = 50
Terminal - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3F01F898
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3F0208C0
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3F020990
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F0208D8
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
InstallProtocolInterface: 387477C1-69C7-11D2-8E39-00A0C969723B 3EF47028
InstallProtocolInterface: DD9E7534-7762-4698-8C14-F58517A625AA 3EF47040
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
PlatformBdsDiagnostics
PlatformBdsConnectSequence
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3F02EAA8
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F02FD20
InstallProtocolInterface: 964E5B21-6459-11D2-8E39-00A0C969723B 3EF31C68
InstallProtocolInterface: CE345171-BA0B-11D2-8E4F-00A0C969723B 3F031D20
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
Select Item: 0x8
Select Item: 0x17
qemu -kernel was not used.
BdsLibConnectAll
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 1FF 
PartitionValidMbr: Bad MBR partition size EndingLBA(7FF) > LastLBA(1FF)
 BlockSize : 2048 
 LastBlock : 3 
 BlockSize : 2048 
 LastBlock : 3 
Buffer: EFI DVD/CDROM
Select Item: 0x19
Select Item: 0xE
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC71440
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF1F068
InstallProtocolInterface: 09576E91-6D3F-11D2-8E39-00A0C969723B 3EC71460
InstallProtocolInterface: 330D4706-F2A0-4E4F-A369-B66FA8D54385 3EF20948
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 640x480 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x12C000
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
PixelBlueGreenRedReserved8BitPerColor
GraphicsConsole video resolution 640 x 480
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3F0468C0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
Buffer: EFI DVD/CDROM
InstallProtocolInterface: 348C4D62-BFBD-4882-9ECE-C80BB1C4783B 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InitializeBochsGraphicsMode: 800x600 @ 32
PixelBlueGreenRedReserved8BitPerColor
FrameBufferBase: 0x84000000, FrameBufferSize: 0x1D4C00
0: shl:0 shr:0 mask:FF0000
1: shl:0 shr:0 mask:FF00
2: shl:0 shr:0 mask:FF
Bytes per pixel: 4
InstallProtocolInterface: D3B36F2B-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
InstallProtocolInterface: D3B36F2D-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
GraphicsConsole video resolution 800 x 600
Graphics - Mode 0, Column = 80, Row = 25
Graphics - Mode 1, Column = 0, Row = 0
Graphics - Mode 2, Column = 100, Row = 31
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 3F1BA530
InstallProtocolInterface: D3B36F2C-D551-11D4-9A46-0090273FC14D 0
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
PixelBlueGreenRedReserved8BitPerColor
InstallProtocolInterface: 9042A9DE-23DC-4A38-96FB-7ADED080516A 3EBA18C0
S3Ready!
SaveLockBox: Guid=DEA652B0-D587-4C54-B5B4-C682E7A0AA3D Buffer=3FEF4000 Length=0xA
SetLockBoxAttributes: Guid=DEA652B0-D587-4C54-B5B4-C682E7A0AA3D Attributes=0x1
AcpiS3Context: AcpiFacsTable is 0x3FEFF000
AcpiS3Context: IdtrProfile is 0x3FEF4000
AcpiS3Context: S3NvsPageTableAddress is 0x       0
AcpiS3Context: S3DebugBufferAddress is 0x3FEF2000
SaveLockBox: Guid=AF9FFD67-EC10-488A-9DFC-6CBF5EE22C2E Buffer=3FF64AA8 Length=0x8
SaveLockBox: Guid=0EF98D3A-3E33-497A-A401-77BE3EB74F38 Buffer=3FEF5000 Length=0x30
SetLockBoxAttributes: Guid=0EF98D3A-3E33-497A-A401-77BE3EB74F38 Attributes=0x1
InstallProtocolInterface: 60FF8964-E906-41D0-AFED-F241E974E08E 0
InstallProtocolInterface: FA20568B-548B-4B2B-81EF-1BA08D4A3CEC 0
SaveLockBox: Guid=3079818C-46D4-4A73-AEF3-E3E46CF1EEDB Buffer=3FF646B0 Length=0x8
SaveLockBox: Guid=79CB58C4-AC51-442F-AFD7-98E47D2E9908 Buffer=3E6D6000 Length=0x8
SetLockBoxAttributes: Guid=79CB58C4-AC51-442F-AFD7-98E47D2E9908 Attributes=0x1
SaveLockBox: Guid=9A8D3433-9FE8-42B6-870B-1E31C84EBE3B Buffer=3E6D7000 Length=0x18D40
SetLockBoxAttributes: Guid=9A8D3433-9FE8-42B6-870B-1E31C84EBE3B Attributes=0x1
SaveLockBox: Guid=AEA6B965-DCF5-4311-B4B8-0F12464494D2 Buffer=3E6F0000 Length=0x1B
SetLockBoxAttributes: Guid=AEA6B965-DCF5-4311-B4B8-0F12464494D2 Attributes=0x1
SaveLockBox: Guid=B5AF1D7A-B8CF-4EB3-8925-A820E16B687D Buffer=3E6F0000 Length=0x1B
SaveLockBox: Guid=1810AB4A-2314-4DF6-81EB-67C6EC058591 Buffer=3FF01000 Length=0x8
SetLockBoxAttributes: Guid=1810AB4A-2314-4DF6-81EB-67C6EC058591 Attributes=0x1
Initialize variable error flag (FF)
Memory  Previous  Current    Next   
 Type    Pages     Pages     Pages  
======  ========  ========  ========
  0A    00000004  00000023  0000002B
  09    00000008  00000006  00000008
  00    00000004  00000026  0000002F
  06    00000024  000000F9  00000137
  05    00000030  000000CB  000000FD
  03    00000180  000005F7  00000774
  04    00000F00  00000F96  0000137B
Booting EFI Network 1
InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 3EF3B180
InstallProtocolInterface: 87C8BAD7-0595-4053-8297-DEDE395F5D5B 3F0678C0
InstallProtocolInterface: 2C8759D5-5C2D-66EF-925F-B66C101957E2 3F090A60
InstallProtocolInterface: 4F948815-B4B9-43CB-8A33-90E060B34955 3F092BF8
InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 3EF3B180
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 3F0F2C00
Loading driver at 0x0003E689000 EntryPoint=0x0003E689400 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 3F266798

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-22  9:57           ` Michael Chang
@ 2015-04-22 10:50             ` Laszlo Ersek
  0 siblings, 0 replies; 19+ messages in thread
From: Laszlo Ersek @ 2015-04-22 10:50 UTC (permalink / raw)
  To: Michael Chang; +Cc: Andrei Borzenkov, grub-devel, edk2-devel, mmazur

On 04/22/15 11:57, Michael Chang wrote:
> On Tue, Apr 21, 2015 at 02:30:17PM +0200, Laszlo Ersek wrote:
>> On 04/21/15 08:49, Michael Chang wrote:
>>> On Tue, Apr 21, 2015 at 02:12:54PM +0800, Michael Chang wrote:
>>
>>>> 3. Even I can add the card open earler before hadling the dhcpv6
>>>> packets, it will freeze at grub_efi_open_protocol if the option in use
>>>> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
>>>> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
>>>> out of idea how to deal with that diversity.
>>
>>> For #3, I'm not trying to get the log from OVMF ..
>>
>> I guess that's "now trying", not "not trying".
>>
>> Pass
>>
>>   -debugcon file:debug.log -global isa-debugcon.iobase=0x402
>>
>> to QEMU, for saving the debug log.
>>
>> Also, the debug log mask is set in PcdDebugPrintErrorLevel in the DSC
>> files. For the meaning of the individual bits, see
>> "MdePkg/Include/Library/DebugLib.h".
> 
> Hi Laszlo,
> 
> Please check attachment.

Oh... I didn't mean I could help with this problem, using the log file.
I'm not that familiar with grub in the first place, and I don't really
have the time for this right now. I just mentioned the options because I
wasn't sure what was blocking your attempt to get the debug log from
OVMF. I assumed that if you had the log, you'd know what to look for.

> debug-exclusive.log: open SNP with exclusive, IPv6 PXE booting fails in
> grub2 and falls into grub rescue mode immediately. (no freeze).
> 
> debug-no-exclusive.log: open without exclusive, IPv6 PXE booting succeed
> into normal mode and can see the boot menu.
> 
> I didn't see freeze this time, maybe because I rebuilt OVMF from different
> version.
> 
> The debug mask bits was set to
> gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040404F
> 
> (added version + net to default mask).
> 
> But interestingly, I didn't see much difference in the logs, probably
> debug output not really enabled ?

The debug mask can only enable debug messages that already exist in the
code. If there's some kind of crash and you'd like to track the way
there closely, you'll probably have to add a bunch of DEBUGs yourself,
to the network drivers in edk2.

Thanks
Laszlo


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-21  6:12     ` [edk2] " Michael Chang
  2015-04-21  6:49       ` Michael Chang
@ 2015-04-25 14:12       ` Andrei Borzenkov
  2015-04-27  6:42         ` Michael Chang
  2015-04-29 13:47         ` Vladimir 'φ-coder/phcoder' Serbinenko
  2015-04-26  6:42       ` Andrei Borzenkov
  2 siblings, 2 replies; 19+ messages in thread
From: Andrei Borzenkov @ 2015-04-25 14:12 UTC (permalink / raw)
  To: Michael Chang; +Cc: grub-devel, edk2-devel, mmazur

В Tue, 21 Apr 2015 14:12:54 +0800
Michael Chang <mchang@suse.com> пишет:

> > >  
> > > +static grub_err_t
> > > +open_card (struct grub_net_card *dev)
> > > +{
> > > +  grub_efi_simple_network_t *net;
> > 
> > I'm not sure about adding null check for dev->efi_net here is necessary
> > or not, as we don't close it in close_card so that reopening a closed
> > interface would make open_protocol fail with EFI_ACCESS_DENIED and in
> > turn makes the entire open_card funtion fail with GRUB_ERR_BAD_DEVICE.
> > 

This is now implicit in new version - SNP remains open for the driver
lifetime.

> > > +
> > > +  /* FIXME do we need to close Simple Network Protocol here? */
> > 
> > The question from me is why not? :)
> > 
> > If we don't close it, the consequence might prevent other application
> > (for eg, the chainloaded one from grub) from using managed network
> > protocol or related one ?
> > 

That's not so simple. Opening SNP exclusively actually shuts down all
other drivers using it together with all protocols. So if you load e.g.
EFI Shell you cannot use ifconfig there anymore as protocols are no
more present. Of course it is probably possible to bind them again.

Probably this patch should be split in skipping extra devices and
opening SNP exclusively, as they are more or less independent.

> 
> 2. I tried to get it going by adding card open to
> grub_net_send_ip6_packet (), but experienced another problem as the link
> layer resolve timeout due to the network interface's hardware mac
> address unset (inf->hwaddress.mac). After some debugging I realized
> that's in my net_bootp6 patch, the network interface is added during
> handling of cached dhcpv6 reply packets using the hardware mac provided
> by the card instance, which is again not yet opened.:(
> 

I tried to avoid second open to avoid situation when those values
change between two open instances. I really miss the possibility to
promote open protocol instance to exclusive use. I now reverted changes
to grub_efinet_findcards and do second exclusive open in ->open.

> 
> 3. Even I can add the card open earler before hadling the dhcpv6
> packets, it will freeze at grub_efi_open_protocol if the option in use
> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> out of idea how to deal with that diversity.
> 

Somehow I cannot convince my QEMU to netboot over IPv6, so please test
updated version of patch.

From: Andrei Borzenkov <arvidjaar@gmail.com>
Subject: [PATCH v2] efinet: fix lost packets due to active MNP instances
Cc: edk2-devel@lists.sourceforge.net
Cc: Michael Chang <mchang@suse.com>
Cc: mmazur@kernel.pl
Cc: msalter@redhat.com

EDK2 network stack is based on Managed Network Protocol which is layered
on top of Simple Management Protocol and does background polling. This
polling races with grub for received (and probably trasmitted) packets
which causes either serious slowdown or complete failure to load files.

Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
bound SNP instance as well. This means we get three cards for every
physical adapter when enumerating. Not only is this confusing, this
may result in grub ignoring packets that come in via the "wrong" card.

Example of device hierarchy is

 Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
   Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
     Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
     Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)

Skip PXE created virtual devices and open SNP on base device exclusively.
This destroys all child MNP instances and stops background polling.  We
cannot do it for virtual devices anyway as PXE would probably attempt
to destroy them when stopped and current OVMF crashes when we try to do it.

Exclusive open cannot be done when enumerating cards, as it would destroy
PXE information we need to autoconfigure interface; and it cannot be done
during autoconfiguration as we need to do it for non-PXE boot as well. So
move SNP open to card ->open method and add matching ->close to clean up.

References: https://savannah.gnu.org/bugs/?41731

---
 grub-core/net/drivers/efi/efinet.c | 101 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 99 insertions(+), 2 deletions(-)

diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
index f171f20..46e337a 100644
--- a/grub-core/net/drivers/efi/efinet.c
+++ b/grub-core/net/drivers/efi/efinet.c
@@ -142,9 +142,52 @@ get_card_packet (struct grub_net_card *dev)
   return nb;
 }
 
+static grub_err_t
+open_card (struct grub_net_card *dev)
+{
+  grub_efi_simple_network_t *net;
+
+  /* Try to reopen SNP exlusively to close any active MNP protocol instance
+     that may compete for packet polling
+   */
+  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
+				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
+  if (net)
+    {
+      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
+	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
+	return GRUB_ERR_BAD_DEVICE;
+
+      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
+	return GRUB_ERR_BAD_DEVICE;
+
+      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
+	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
+	return GRUB_ERR_BAD_DEVICE;
+
+      efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
+		  dev->efi_net, &net_io_guid,
+		  grub_efi_image_handle, dev->efi_handle);
+      dev->efi_net = net;
+    }
+
+  /* If it failed we just try to run as best as we can */
+  return GRUB_ERR_NONE;
+}
+
+static void
+close_card (struct grub_net_card *dev)
+{
+  efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
+	      dev->efi_net, &net_io_guid,
+	      grub_efi_image_handle, dev->efi_handle);
+}
+
 static struct grub_net_card_driver efidriver =
   {
     .name = "efinet",
+    .open = open_card,
+    .close = close_card,
     .send = send_card_buffer,
     .recv = get_card_packet
   };
@@ -174,6 +217,29 @@ grub_efinet_findcards (void)
     {
       grub_efi_simple_network_t *net;
       struct grub_net_card *card;
+      grub_efi_device_path_t *dp, *parent = NULL, *child = NULL;
+
+      /* EDK2 UEFI PXE driver creates IPv4 and IPv6 messaging devices as
+	 children of main MAC messaging device. We only need one device with
+	 bound SNP per physical card, otherwise they compete with each other
+	 when polling for incoming packets.
+       */
+      dp = grub_efi_get_device_path (*handle);
+      if (!dp)
+	continue;
+      for (; ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp); dp = GRUB_EFI_NEXT_DEVICE_PATH (dp))
+	{
+	  parent = child;
+	  child = dp;
+	}
+      if (child
+	  && GRUB_EFI_DEVICE_PATH_TYPE (child) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	  && (GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
+	      || GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE)
+	  && parent
+	  && GRUB_EFI_DEVICE_PATH_TYPE (parent) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	  && GRUB_EFI_DEVICE_PATH_SUBTYPE (parent) == GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE)
+	continue;
 
       net = grub_efi_open_protocol (*handle, &net_io_guid,
 				    GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
@@ -251,7 +317,33 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
     if (! cdp)
       continue;
     if (grub_efi_compare_device_paths (dp, cdp) != 0)
-      continue;
+      {
+	grub_efi_device_path_t *ldp, *dup_dp, *dup_ldp;
+	int match;
+
+	/* EDK2 UEFI PXE driver creates pseudo devices with type IPv4/IPv6
+	   as children of Ethernet card and binds PXE and Load File protocols
+	   to it. Loaded Image Device Path protocol will point to these pseudo
+	   devices. We skip them when enumerating cards, so here we need to
+	   find matching MAC device.
+         */
+	ldp = grub_efi_find_last_device_path (dp);
+	if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
+	    || (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
+		&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE))
+	  continue;
+	dup_dp = grub_efi_duplicate_device_path (dp);
+	if (!dup_dp)
+	  continue;
+	dup_ldp = grub_efi_find_last_device_path (dup_dp);
+	dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
+	dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
+	dup_ldp->length = sizeof (*dup_ldp);
+	match = grub_efi_compare_device_paths (dup_dp, cdp) == 0;
+	grub_free (dup_dp);
+	if (!match)
+	  continue;
+      }
     pxe = grub_efi_open_protocol (hnd, &pxe_io_guid,
 				  GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
     if (! pxe)
@@ -278,6 +370,11 @@ GRUB_MOD_FINI(efinet)
 
   FOR_NET_CARDS_SAFE (card, next) 
     if (card->driver == &efidriver)
-      grub_net_card_unregister (card);
+      {
+	grub_net_card_unregister (card);
+	grub_free (card->txbuf);
+	grub_free (card->rcvbuf);
+	grub_free (card);
+      }
 }
 
-- 
tg: (c981fc7..) u/efinet/skip_ipv46 (depends on: e/efinet/dp_utils)


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-21  6:12     ` [edk2] " Michael Chang
  2015-04-21  6:49       ` Michael Chang
  2015-04-25 14:12       ` Andrei Borzenkov
@ 2015-04-26  6:42       ` Andrei Borzenkov
  2015-04-26 10:44         ` Andrei Borzenkov
  2015-04-27  6:47         ` Michael Chang
  2 siblings, 2 replies; 19+ messages in thread
From: Andrei Borzenkov @ 2015-04-26  6:42 UTC (permalink / raw)
  To: Michael Chang; +Cc: grub-devel, edk2-devel, mmazur

В Tue, 21 Apr 2015 14:12:54 +0800
Michael Chang <mchang@suse.com> пишет:

> 
> 3. Even I can add the card open earler before hadling the dhcpv6
> packets, it will freeze at grub_efi_open_protocol if the option in use
> is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> out of idea how to deal with that diversity.
> 

Is it in QEMU? If yes, is it hardware emulation or KVM? I'm currently
facing the situation when I cannot netboot standalone efi image using
openSUSE grub on KVM but exactly the same image from upstream works.
openSUSE grub works on pure hardware emulation. There were several
similar reports in the past.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-26  6:42       ` Andrei Borzenkov
@ 2015-04-26 10:44         ` Andrei Borzenkov
  2015-04-27  6:47         ` Michael Chang
  1 sibling, 0 replies; 19+ messages in thread
From: Andrei Borzenkov @ 2015-04-26 10:44 UTC (permalink / raw)
  To: Michael Chang; +Cc: grub-devel, edk2-devel, mmazur

В Sun, 26 Apr 2015 09:42:52 +0300
Andrei Borzenkov <arvidjaar@gmail.com> пишет:

> В Tue, 21 Apr 2015 14:12:54 +0800
> Michael Chang <mchang@suse.com> пишет:
> 
> > 
> > 3. Even I can add the card open earler before hadling the dhcpv6
> > packets, it will freeze at grub_efi_open_protocol if the option in use
> > is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> > GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> > out of idea how to deal with that diversity.
> > 
> 
> Is it in QEMU? If yes, is it hardware emulation or KVM? I'm currently
> facing the situation when I cannot netboot standalone efi image using
> openSUSE grub on KVM but exactly the same image from upstream works.
> openSUSE grub works on pure hardware emulation. There were several
> similar reports in the past.
> 

OK, it was the same problem with SNP exclusive open in
grub_efi_net_config_real(). It works with my version. That's probably
OVMF issue and looks like memory corruption somewhere.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-25 14:12       ` Andrei Borzenkov
@ 2015-04-27  6:42         ` Michael Chang
  2015-04-29 13:47         ` Vladimir 'φ-coder/phcoder' Serbinenko
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Chang @ 2015-04-27  6:42 UTC (permalink / raw)
  To: The development of GNU GRUB; +Cc: mmazur, edk2-devel

On Sat, Apr 25, 2015 at 05:12:33PM +0300, Andrei Borzenkov wrote:
> В Tue, 21 Apr 2015 14:12:54 +0800
> Michael Chang <mchang@suse.com> пишет:
> 
> > > >  
> > > > +static grub_err_t
> > > > +open_card (struct grub_net_card *dev)
> > > > +{
> > > > +  grub_efi_simple_network_t *net;
> > > 
> > > I'm not sure about adding null check for dev->efi_net here is necessary
> > > or not, as we don't close it in close_card so that reopening a closed
> > > interface would make open_protocol fail with EFI_ACCESS_DENIED and in
> > > turn makes the entire open_card funtion fail with GRUB_ERR_BAD_DEVICE.
> > > 
> 
> This is now implicit in new version - SNP remains open for the driver
> lifetime.
> 
> > > > +
> > > > +  /* FIXME do we need to close Simple Network Protocol here? */
> > > 
> > > The question from me is why not? :)
> > > 
> > > If we don't close it, the consequence might prevent other application
> > > (for eg, the chainloaded one from grub) from using managed network
> > > protocol or related one ?
> > > 
> 
> That's not so simple. Opening SNP exclusively actually shuts down all
> other drivers using it together with all protocols. So if you load e.g.
> EFI Shell you cannot use ifconfig there anymore as protocols are no
> more present. Of course it is probably possible to bind them again.
> 
> Probably this patch should be split in skipping extra devices and
> opening SNP exclusively, as they are more or less independent.

I'm fine with that, as they are also somewhat related as your intention
is to exlusive open "on right the device" (ie skipping extra/wrong
devices).

> 
> > 
> > 2. I tried to get it going by adding card open to
> > grub_net_send_ip6_packet (), but experienced another problem as the link
> > layer resolve timeout due to the network interface's hardware mac
> > address unset (inf->hwaddress.mac). After some debugging I realized
> > that's in my net_bootp6 patch, the network interface is added during
> > handling of cached dhcpv6 reply packets using the hardware mac provided
> > by the card instance, which is again not yet opened.:(
> > 
> 
> I tried to avoid second open to avoid situation when those values
> change between two open instances. I really miss the possibility to
> promote open protocol instance to exclusive use. I now reverted changes
> to grub_efinet_findcards and do second exclusive open in ->open.
> 
> > 
> > 3. Even I can add the card open earler before hadling the dhcpv6
> > packets, it will freeze at grub_efi_open_protocol if the option in use
> > is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> > GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> > out of idea how to deal with that diversity.
> > 
> 
> Somehow I cannot convince my QEMU to netboot over IPv6, so please test
> updated version of patch.

I confirmed that the updated patch fixes the problem for me. In more
details this is what I've tested.

1. IPv4 PXE booting from firmware boot menu, grub2 booted in normal mode
and after selecting the boot entry, kernel and initrd were loaded and
booted. During the process it did not suffer any slowness problem.

2. IPv6 PXE booting from firmware boot menu, grub2 booted in normal mode
and after selecting the boot entry, kernel and initrd were loaded and
booted. I don't have to modify the source to use no exclusive in the
card_open() this time .. 

3. Tested with net_bootp6 command and correct efinet card device was
used and configured.

For #2, I'm not really sure why I don't have to use no exclusive this
time compared to your last patch. But from your initial comment I
believed it's also no surprised it can work.

"Exclusive open cannot be done when enumerating cards, as it would destroy
PXE information we need to autoconfigure interface; and it cannot be done
during autoconfiguration as we need to do it for non-PXE boot as well. So
move SNP open to card ->open method and add matching ->close to clean up."

So I'm happy to acknowlegde the patch's with my test result.

Tested-by Michael Chang <mchang@suse.com>

Thanks,
Michael

> 
> From: Andrei Borzenkov <arvidjaar@gmail.com>
> Subject: [PATCH v2] efinet: fix lost packets due to active MNP instances
> Cc: edk2-devel@lists.sourceforge.net
> Cc: Michael Chang <mchang@suse.com>
> Cc: mmazur@kernel.pl
> Cc: msalter@redhat.com
> 
> EDK2 network stack is based on Managed Network Protocol which is layered
> on top of Simple Management Protocol and does background polling. This
> polling races with grub for received (and probably trasmitted) packets
> which causes either serious slowdown or complete failure to load files.
> 
> Additionaly PXE driver creates two child devices - IPv4 and IPv6 - with
> bound SNP instance as well. This means we get three cards for every
> physical adapter when enumerating. Not only is this confusing, this
> may result in grub ignoring packets that come in via the "wrong" card.
> 
> Example of device hierarchy is
> 
>  Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
>    Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
>      Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
>      Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
> 
> Skip PXE created virtual devices and open SNP on base device exclusively.
> This destroys all child MNP instances and stops background polling.  We
> cannot do it for virtual devices anyway as PXE would probably attempt
> to destroy them when stopped and current OVMF crashes when we try to do it.
> 
> Exclusive open cannot be done when enumerating cards, as it would destroy
> PXE information we need to autoconfigure interface; and it cannot be done
> during autoconfiguration as we need to do it for non-PXE boot as well. So
> move SNP open to card ->open method and add matching ->close to clean up.
> 
> References: https://savannah.gnu.org/bugs/?41731
> 
> ---
>  grub-core/net/drivers/efi/efinet.c | 101 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 99 insertions(+), 2 deletions(-)
> 
> diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> index f171f20..46e337a 100644
> --- a/grub-core/net/drivers/efi/efinet.c
> +++ b/grub-core/net/drivers/efi/efinet.c
> @@ -142,9 +142,52 @@ get_card_packet (struct grub_net_card *dev)
>    return nb;
>  }
>  
> +static grub_err_t
> +open_card (struct grub_net_card *dev)
> +{
> +  grub_efi_simple_network_t *net;
> +
> +  /* Try to reopen SNP exlusively to close any active MNP protocol instance
> +     that may compete for packet polling
> +   */
> +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> +  if (net)
> +    {
> +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> +	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> +	return GRUB_ERR_BAD_DEVICE;
> +
> +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> +	return GRUB_ERR_BAD_DEVICE;
> +
> +      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> +	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> +	return GRUB_ERR_BAD_DEVICE;
> +
> +      efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
> +		  dev->efi_net, &net_io_guid,
> +		  grub_efi_image_handle, dev->efi_handle);
> +      dev->efi_net = net;
> +    }
> +
> +  /* If it failed we just try to run as best as we can */
> +  return GRUB_ERR_NONE;
> +}
> +
> +static void
> +close_card (struct grub_net_card *dev)
> +{
> +  efi_call_4 (grub_efi_system_table->boot_services->close_protocol,
> +	      dev->efi_net, &net_io_guid,
> +	      grub_efi_image_handle, dev->efi_handle);
> +}
> +
>  static struct grub_net_card_driver efidriver =
>    {
>      .name = "efinet",
> +    .open = open_card,
> +    .close = close_card,
>      .send = send_card_buffer,
>      .recv = get_card_packet
>    };
> @@ -174,6 +217,29 @@ grub_efinet_findcards (void)
>      {
>        grub_efi_simple_network_t *net;
>        struct grub_net_card *card;
> +      grub_efi_device_path_t *dp, *parent = NULL, *child = NULL;
> +
> +      /* EDK2 UEFI PXE driver creates IPv4 and IPv6 messaging devices as
> +	 children of main MAC messaging device. We only need one device with
> +	 bound SNP per physical card, otherwise they compete with each other
> +	 when polling for incoming packets.
> +       */
> +      dp = grub_efi_get_device_path (*handle);
> +      if (!dp)
> +	continue;
> +      for (; ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp); dp = GRUB_EFI_NEXT_DEVICE_PATH (dp))
> +	{
> +	  parent = child;
> +	  child = dp;
> +	}
> +      if (child
> +	  && GRUB_EFI_DEVICE_PATH_TYPE (child) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	  && (GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
> +	      || GRUB_EFI_DEVICE_PATH_SUBTYPE (child) == GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE)
> +	  && parent
> +	  && GRUB_EFI_DEVICE_PATH_TYPE (parent) == GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	  && GRUB_EFI_DEVICE_PATH_SUBTYPE (parent) == GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE)
> +	continue;
>  
>        net = grub_efi_open_protocol (*handle, &net_io_guid,
>  				    GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
> @@ -251,7 +317,33 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
>      if (! cdp)
>        continue;
>      if (grub_efi_compare_device_paths (dp, cdp) != 0)
> -      continue;
> +      {
> +	grub_efi_device_path_t *ldp, *dup_dp, *dup_ldp;
> +	int match;
> +
> +	/* EDK2 UEFI PXE driver creates pseudo devices with type IPv4/IPv6
> +	   as children of Ethernet card and binds PXE and Load File protocols
> +	   to it. Loaded Image Device Path protocol will point to these pseudo
> +	   devices. We skip them when enumerating cards, so here we need to
> +	   find matching MAC device.
> +         */
> +	ldp = grub_efi_find_last_device_path (dp);
> +	if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
> +	    || (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
> +		&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE))
> +	  continue;
> +	dup_dp = grub_efi_duplicate_device_path (dp);
> +	if (!dup_dp)
> +	  continue;
> +	dup_ldp = grub_efi_find_last_device_path (dup_dp);
> +	dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
> +	dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
> +	dup_ldp->length = sizeof (*dup_ldp);
> +	match = grub_efi_compare_device_paths (dup_dp, cdp) == 0;
> +	grub_free (dup_dp);
> +	if (!match)
> +	  continue;
> +      }
>      pxe = grub_efi_open_protocol (hnd, &pxe_io_guid,
>  				  GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>      if (! pxe)
> @@ -278,6 +370,11 @@ GRUB_MOD_FINI(efinet)
>  
>    FOR_NET_CARDS_SAFE (card, next) 
>      if (card->driver == &efidriver)
> -      grub_net_card_unregister (card);
> +      {
> +	grub_net_card_unregister (card);
> +	grub_free (card->txbuf);
> +	grub_free (card->rcvbuf);
> +	grub_free (card);
> +      }
>  }
>  
> -- 
> tg: (c981fc7..) u/efinet/skip_ipv46 (depends on: e/efinet/dp_utils)
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-26  6:42       ` Andrei Borzenkov
  2015-04-26 10:44         ` Andrei Borzenkov
@ 2015-04-27  6:47         ` Michael Chang
  2015-04-28  6:03           ` Michael Chang
  1 sibling, 1 reply; 19+ messages in thread
From: Michael Chang @ 2015-04-27  6:47 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, mmazur

On Sun, Apr 26, 2015 at 09:42:52AM +0300, Andrei Borzenkov wrote:
> В Tue, 21 Apr 2015 14:12:54 +0800
> Michael Chang <mchang@suse.com> пишет:
> 
> > 
> > 3. Even I can add the card open earler before hadling the dhcpv6
> > packets, it will freeze at grub_efi_open_protocol if the option in use
> > is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> > GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> > out of idea how to deal with that diversity.
> > 
> 
> Is it in QEMU? If yes, is it hardware emulation or KVM? I'm currently
> facing the situation when I cannot netboot standalone efi image using
> openSUSE grub on KVM but exactly the same image from upstream works.
> openSUSE grub works on pure hardware emulation. There were several
> similar reports in the past.

It's KVM. But with you updated patch it no longer fail in exclusive open
for me ..

Thanks,
Michael



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-27  6:47         ` Michael Chang
@ 2015-04-28  6:03           ` Michael Chang
  2015-04-28  8:45             ` Michael Chang
  0 siblings, 1 reply; 19+ messages in thread
From: Michael Chang @ 2015-04-28  6:03 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, mmazur

On Mon, Apr 27, 2015 at 02:47:16PM +0800, Michael Chang wrote:
> On Sun, Apr 26, 2015 at 09:42:52AM +0300, Andrei Borzenkov wrote:
> > В Tue, 21 Apr 2015 14:12:54 +0800
> > Michael Chang <mchang@suse.com> пишет:
> > 
> > > 
> > > 3. Even I can add the card open earler before hadling the dhcpv6
> > > packets, it will freeze at grub_efi_open_protocol if the option in use
> > > is GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE. I was actually using
> > > GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL in the entire test and am running
> > > out of idea how to deal with that diversity.
> > > 
> > 
> > Is it in QEMU? If yes, is it hardware emulation or KVM? I'm currently
> > facing the situation when I cannot netboot standalone efi image using
> > openSUSE grub on KVM but exactly the same image from upstream works.
> > openSUSE grub works on pure hardware emulation. There were several
> > similar reports in the past.
> 
> It's KVM. But with you updated patch it no longer fail in exclusive open
> for me ..

Apparently I made a mistake here, the exclusive open still fails.

It's in your new patch that can survive the failed exlusive open by
keep using the non-exclusive open for simple network protocol.

Regards,
Michael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-28  6:03           ` Michael Chang
@ 2015-04-28  8:45             ` Michael Chang
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Chang @ 2015-04-28  8:45 UTC (permalink / raw)
  To: Andrei Borzenkov; +Cc: grub-devel, edk2-devel, mmazur

On Tue, Apr 28, 2015 at 02:03:02PM +0800, Michael Chang wrote:
> On Mon, Apr 27, 2015 at 02:47:16PM +0800, Michael Chang wrote:
> Apparently I made a mistake here, the exclusive open still fails.
> 
> It's in your new patch that can survive the failed exlusive open by
> keep using the non-exclusive open for simple network protocol.

Again, sorry to create all the mess here.

I just updated edk2/ovmf to svn 17187 and exlusive open now return
successfully for IPv6. The version previously used was svn 16398 and
also some self-complied version around it.

The edk2 upstream seems to have fixed the problem already.

Thanks,
Michael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-25 14:12       ` Andrei Borzenkov
  2015-04-27  6:42         ` Michael Chang
@ 2015-04-29 13:47         ` Vladimir 'φ-coder/phcoder' Serbinenko
  2015-05-07 17:39           ` Andrei Borzenkov
  1 sibling, 1 reply; 19+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2015-04-29 13:47 UTC (permalink / raw)
  To: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 1576 bytes --]

On 25.04.2015 16:12, Andrei Borzenkov wrote:
> ---
>  grub-core/net/drivers/efi/efinet.c | 101 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 99 insertions(+), 2 deletions(-)
> 
> diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> index f171f20..46e337a 100644
> --- a/grub-core/net/drivers/efi/efinet.c
> +++ b/grub-core/net/drivers/efi/efinet.c
> @@ -142,9 +142,52 @@ get_card_packet (struct grub_net_card *dev)
>    return nb;
>  }
>  
> +static grub_err_t
> +open_card (struct grub_net_card *dev)
> +{
> +  grub_efi_simple_network_t *net;
> +
> +  /* Try to reopen SNP exlusively to close any active MNP protocol instance
> +     that may compete for packet polling
> +   */
> +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> +  if (net)
> +    {
> +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> +	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> +	return GRUB_ERR_BAD_DEVICE;
> +
Please use proper grub_error.
> +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> +	return GRUB_ERR_BAD_DEVICE;
> +
Ditto
> +      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> +	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> +	return GRUB_ERR_BAD_DEVICE;
> +
Ditto

Otherwise patch looks good. If you're comfortable with it, please
commit. Make sure to credit all relevant authors, feel free to use
Also-By to credit several authors (AFAIU Martin as main author and you
in Also-By)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] efidisk: move device path helpers in core for efinet
  2015-04-19  8:01 [PATCH 1/2] efidisk: move device path helpers in core for efinet Andrei Borzenkov
  2015-04-19  8:01 ` [PATCH 2/2] efinet: fix lost packets due to active MNP instances Andrei Borzenkov
@ 2015-04-29 15:42 ` Vladimir 'phcoder' Serbinenko
  2015-05-07 14:53 ` Vladimir 'φ-coder/phcoder' Serbinenko
  2 siblings, 0 replies; 19+ messages in thread
From: Vladimir 'phcoder' Serbinenko @ 2015-04-29 15:42 UTC (permalink / raw)
  To: The development of GRUB 2; +Cc: mmazur, mchang, edk2-devel, msalter

[-- Attachment #1: Type: text/plain, Size: 7482 bytes --]

Go ahead
On Apr 19, 2015 10:02 AM, "Andrei Borzenkov" <arvidjaar@gmail.com> wrote:

> ---
>  grub-core/disk/efi/efidisk.c | 61
> ++++++++------------------------------------
>  grub-core/kern/efi/efi.c     | 41 +++++++++++++++++++++++++++++
>  include/grub/efi/efi.h       |  4 +++
>  3 files changed, 55 insertions(+), 51 deletions(-)
>
> diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
> index 60a6d3c..a8783a3 100644
> --- a/grub-core/disk/efi/efidisk.c
> +++ b/grub-core/disk/efi/efidisk.c
> @@ -43,47 +43,6 @@ static struct grub_efidisk_data *fd_devices;
>  static struct grub_efidisk_data *hd_devices;
>  static struct grub_efidisk_data *cd_devices;
>
> -/* Duplicate a device path.  */
> -static grub_efi_device_path_t *
> -duplicate_device_path (const grub_efi_device_path_t *dp)
> -{
> -  grub_efi_device_path_t *p;
> -  grub_size_t total_size = 0;
> -
> -  for (p = (grub_efi_device_path_t *) dp;
> -       ;
> -       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
> -    {
> -      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
> -      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
> -       break;
> -    }
> -
> -  p = grub_malloc (total_size);
> -  if (! p)
> -    return 0;
> -
> -  grub_memcpy (p, dp, total_size);
> -  return p;
> -}
> -
> -/* Return the device path node right before the end node.  */
> -static grub_efi_device_path_t *
> -find_last_device_path (const grub_efi_device_path_t *dp)
> -{
> -  grub_efi_device_path_t *next, *p;
> -
> -  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
> -    return 0;
> -
> -  for (p = (grub_efi_device_path_t *) dp, next =
> GRUB_EFI_NEXT_DEVICE_PATH (p);
> -       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
> -       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
> -    ;
> -
> -  return p;
> -}
> -
>  static struct grub_efidisk_data *
>  make_devices (void)
>  {
> @@ -110,7 +69,7 @@ make_devices (void)
>        if (! dp)
>         continue;
>
> -      ldp = find_last_device_path (dp);
> +      ldp = grub_efi_find_last_device_path (dp);
>        if (! ldp)
>         /* This is empty. Why?  */
>         continue;
> @@ -150,11 +109,11 @@ find_parent_device (struct grub_efidisk_data
> *devices,
>    grub_efi_device_path_t *dp, *ldp;
>    struct grub_efidisk_data *parent;
>
> -  dp = duplicate_device_path (d->device_path);
> +  dp = grub_efi_duplicate_device_path (d->device_path);
>    if (! dp)
>      return 0;
>
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
>    ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
>    ldp->length = sizeof (*ldp);
> @@ -180,11 +139,11 @@ is_child (struct grub_efidisk_data *child,
>    grub_efi_device_path_t *dp, *ldp;
>    int ret;
>
> -  dp = duplicate_device_path (child->device_path);
> +  dp = grub_efi_duplicate_device_path (child->device_path);
>    if (! dp)
>      return 0;
>
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
>    ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
>    ldp->length = sizeof (*ldp);
> @@ -207,8 +166,8 @@ add_device (struct grub_efidisk_data **devices, struct
> grub_efidisk_data *d)
>      {
>        int ret;
>
> -      ret = grub_efi_compare_device_paths (find_last_device_path
> ((*p)->device_path),
> -                                          find_last_device_path
> (d->device_path));
> +      ret = grub_efi_compare_device_paths (grub_efi_find_last_device_path
> ((*p)->device_path),
> +                                          grub_efi_find_last_device_path
> (d->device_path));
>        if (ret == 0)
>         ret = grub_efi_compare_device_paths ((*p)->device_path,
>                                              d->device_path);
> @@ -795,7 +754,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t
> *handle)
>    if (! dp)
>      return 0;
>
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    if (! ldp)
>      return 0;
>
> @@ -810,14 +769,14 @@ grub_efidisk_get_device_name (grub_efi_handle_t
> *handle)
>
>        /* It is necessary to duplicate the device path so that GRUB
>          can overwrite it.  */
> -      dup_dp = duplicate_device_path (dp);
> +      dup_dp = grub_efi_duplicate_device_path (dp);
>        if (! dup_dp)
>         return 0;
>
>        while (1)
>         {
>           grub_efi_device_path_t *dup_ldp;
> -         dup_ldp = find_last_device_path (dup_dp);
> +         dup_ldp = grub_efi_find_last_device_path (dup_dp);
>           if (!(GRUB_EFI_DEVICE_PATH_TYPE (dup_ldp) ==
> GRUB_EFI_MEDIA_DEVICE_PATH_TYPE
>                 && (GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) ==
> GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE
>                     || GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) ==
> GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)))
> diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
> index b9eb1ab..49a1501 100644
> --- a/grub-core/kern/efi/efi.c
> +++ b/grub-core/kern/efi/efi.c
> @@ -394,6 +394,47 @@ grub_efi_get_device_path (grub_efi_handle_t handle)
>                                  GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>  }
>
> +/* Return the device path node right before the end node.  */
> +grub_efi_device_path_t *
> +grub_efi_find_last_device_path (const grub_efi_device_path_t *dp)
> +{
> +  grub_efi_device_path_t *next, *p;
> +
> +  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
> +    return 0;
> +
> +  for (p = (grub_efi_device_path_t *) dp, next =
> GRUB_EFI_NEXT_DEVICE_PATH (p);
> +       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
> +       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
> +    ;
> +
> +  return p;
> +}
> +
> +/* Duplicate a device path.  */
> +grub_efi_device_path_t *
> +grub_efi_duplicate_device_path (const grub_efi_device_path_t *dp)
> +{
> +  grub_efi_device_path_t *p;
> +  grub_size_t total_size = 0;
> +
> +  for (p = (grub_efi_device_path_t *) dp;
> +       ;
> +       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
> +    {
> +      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
> +      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
> +       break;
> +    }
> +
> +  p = grub_malloc (total_size);
> +  if (! p)
> +    return 0;
> +
> +  grub_memcpy (p, dp, total_size);
> +  return p;
> +}
> +
>  static void
>  dump_vendor_path (const char *type, grub_efi_vendor_device_path_t *vendor)
>  {
> diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
> index 489cf9e..0e6fd86 100644
> --- a/include/grub/efi/efi.h
> +++ b/include/grub/efi/efi.h
> @@ -53,6 +53,10 @@ void EXPORT_FUNC(grub_efi_print_device_path)
> (grub_efi_device_path_t *dp);
>  char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp);
>  grub_efi_device_path_t *
>  EXPORT_FUNC(grub_efi_get_device_path) (grub_efi_handle_t handle);
> +grub_efi_device_path_t *
> +EXPORT_FUNC(grub_efi_find_last_device_path) (const grub_efi_device_path_t
> *dp);
> +grub_efi_device_path_t *
> +EXPORT_FUNC(grub_efi_duplicate_device_path) (const grub_efi_device_path_t
> *dp);
>  grub_err_t EXPORT_FUNC (grub_efi_finish_boot_services) (grub_efi_uintn_t
> *outbuf_size, void *outbuf,
>                                                         grub_efi_uintn_t
> *map_key,
>                                                         grub_efi_uintn_t
> *efi_desc_size,
> --
> 2.1.4
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>

[-- Attachment #2: Type: text/html, Size: 8925 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] efidisk: move device path helpers in core for efinet
  2015-04-19  8:01 [PATCH 1/2] efidisk: move device path helpers in core for efinet Andrei Borzenkov
  2015-04-19  8:01 ` [PATCH 2/2] efinet: fix lost packets due to active MNP instances Andrei Borzenkov
  2015-04-29 15:42 ` [PATCH 1/2] efidisk: move device path helpers in core for efinet Vladimir 'phcoder' Serbinenko
@ 2015-05-07 14:53 ` Vladimir 'φ-coder/phcoder' Serbinenko
  2 siblings, 0 replies; 19+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2015-05-07 14:53 UTC (permalink / raw)
  To: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 7149 bytes --]

Go ahead
On 19.04.2015 10:01, Andrei Borzenkov wrote:
> ---
>  grub-core/disk/efi/efidisk.c | 61 ++++++++------------------------------------
>  grub-core/kern/efi/efi.c     | 41 +++++++++++++++++++++++++++++
>  include/grub/efi/efi.h       |  4 +++
>  3 files changed, 55 insertions(+), 51 deletions(-)
> 
> diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
> index 60a6d3c..a8783a3 100644
> --- a/grub-core/disk/efi/efidisk.c
> +++ b/grub-core/disk/efi/efidisk.c
> @@ -43,47 +43,6 @@ static struct grub_efidisk_data *fd_devices;
>  static struct grub_efidisk_data *hd_devices;
>  static struct grub_efidisk_data *cd_devices;
>  
> -/* Duplicate a device path.  */
> -static grub_efi_device_path_t *
> -duplicate_device_path (const grub_efi_device_path_t *dp)
> -{
> -  grub_efi_device_path_t *p;
> -  grub_size_t total_size = 0;
> -
> -  for (p = (grub_efi_device_path_t *) dp;
> -       ;
> -       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
> -    {
> -      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
> -      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
> -	break;
> -    }
> -
> -  p = grub_malloc (total_size);
> -  if (! p)
> -    return 0;
> -
> -  grub_memcpy (p, dp, total_size);
> -  return p;
> -}
> -
> -/* Return the device path node right before the end node.  */
> -static grub_efi_device_path_t *
> -find_last_device_path (const grub_efi_device_path_t *dp)
> -{
> -  grub_efi_device_path_t *next, *p;
> -
> -  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
> -    return 0;
> -
> -  for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p);
> -       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
> -       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
> -    ;
> -
> -  return p;
> -}
> -
>  static struct grub_efidisk_data *
>  make_devices (void)
>  {
> @@ -110,7 +69,7 @@ make_devices (void)
>        if (! dp)
>  	continue;
>  
> -      ldp = find_last_device_path (dp);
> +      ldp = grub_efi_find_last_device_path (dp);
>        if (! ldp)
>  	/* This is empty. Why?  */
>  	continue;
> @@ -150,11 +109,11 @@ find_parent_device (struct grub_efidisk_data *devices,
>    grub_efi_device_path_t *dp, *ldp;
>    struct grub_efidisk_data *parent;
>  
> -  dp = duplicate_device_path (d->device_path);
> +  dp = grub_efi_duplicate_device_path (d->device_path);
>    if (! dp)
>      return 0;
>  
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
>    ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
>    ldp->length = sizeof (*ldp);
> @@ -180,11 +139,11 @@ is_child (struct grub_efidisk_data *child,
>    grub_efi_device_path_t *dp, *ldp;
>    int ret;
>  
> -  dp = duplicate_device_path (child->device_path);
> +  dp = grub_efi_duplicate_device_path (child->device_path);
>    if (! dp)
>      return 0;
>  
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
>    ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
>    ldp->length = sizeof (*ldp);
> @@ -207,8 +166,8 @@ add_device (struct grub_efidisk_data **devices, struct grub_efidisk_data *d)
>      {
>        int ret;
>  
> -      ret = grub_efi_compare_device_paths (find_last_device_path ((*p)->device_path),
> -					   find_last_device_path (d->device_path));
> +      ret = grub_efi_compare_device_paths (grub_efi_find_last_device_path ((*p)->device_path),
> +					   grub_efi_find_last_device_path (d->device_path));
>        if (ret == 0)
>  	ret = grub_efi_compare_device_paths ((*p)->device_path,
>  					     d->device_path);
> @@ -795,7 +754,7 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
>    if (! dp)
>      return 0;
>  
> -  ldp = find_last_device_path (dp);
> +  ldp = grub_efi_find_last_device_path (dp);
>    if (! ldp)
>      return 0;
>  
> @@ -810,14 +769,14 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
>  
>        /* It is necessary to duplicate the device path so that GRUB
>  	 can overwrite it.  */
> -      dup_dp = duplicate_device_path (dp);
> +      dup_dp = grub_efi_duplicate_device_path (dp);
>        if (! dup_dp)
>  	return 0;
>  
>        while (1)
>  	{
>  	  grub_efi_device_path_t *dup_ldp;
> -	  dup_ldp = find_last_device_path (dup_dp);
> +	  dup_ldp = grub_efi_find_last_device_path (dup_dp);
>  	  if (!(GRUB_EFI_DEVICE_PATH_TYPE (dup_ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE
>  		&& (GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE
>  		    || GRUB_EFI_DEVICE_PATH_SUBTYPE (dup_ldp) == GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)))
> diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
> index b9eb1ab..49a1501 100644
> --- a/grub-core/kern/efi/efi.c
> +++ b/grub-core/kern/efi/efi.c
> @@ -394,6 +394,47 @@ grub_efi_get_device_path (grub_efi_handle_t handle)
>  				 GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>  }
>  
> +/* Return the device path node right before the end node.  */
> +grub_efi_device_path_t *
> +grub_efi_find_last_device_path (const grub_efi_device_path_t *dp)
> +{
> +  grub_efi_device_path_t *next, *p;
> +
> +  if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (dp))
> +    return 0;
> +
> +  for (p = (grub_efi_device_path_t *) dp, next = GRUB_EFI_NEXT_DEVICE_PATH (p);
> +       ! GRUB_EFI_END_ENTIRE_DEVICE_PATH (next);
> +       p = next, next = GRUB_EFI_NEXT_DEVICE_PATH (next))
> +    ;
> +
> +  return p;
> +}
> +
> +/* Duplicate a device path.  */
> +grub_efi_device_path_t *
> +grub_efi_duplicate_device_path (const grub_efi_device_path_t *dp)
> +{
> +  grub_efi_device_path_t *p;
> +  grub_size_t total_size = 0;
> +
> +  for (p = (grub_efi_device_path_t *) dp;
> +       ;
> +       p = GRUB_EFI_NEXT_DEVICE_PATH (p))
> +    {
> +      total_size += GRUB_EFI_DEVICE_PATH_LENGTH (p);
> +      if (GRUB_EFI_END_ENTIRE_DEVICE_PATH (p))
> +	break;
> +    }
> +
> +  p = grub_malloc (total_size);
> +  if (! p)
> +    return 0;
> +
> +  grub_memcpy (p, dp, total_size);
> +  return p;
> +}
> +
>  static void
>  dump_vendor_path (const char *type, grub_efi_vendor_device_path_t *vendor)
>  {
> diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
> index 489cf9e..0e6fd86 100644
> --- a/include/grub/efi/efi.h
> +++ b/include/grub/efi/efi.h
> @@ -53,6 +53,10 @@ void EXPORT_FUNC(grub_efi_print_device_path) (grub_efi_device_path_t *dp);
>  char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp);
>  grub_efi_device_path_t *
>  EXPORT_FUNC(grub_efi_get_device_path) (grub_efi_handle_t handle);
> +grub_efi_device_path_t *
> +EXPORT_FUNC(grub_efi_find_last_device_path) (const grub_efi_device_path_t *dp);
> +grub_efi_device_path_t *
> +EXPORT_FUNC(grub_efi_duplicate_device_path) (const grub_efi_device_path_t *dp);
>  grub_err_t EXPORT_FUNC (grub_efi_finish_boot_services) (grub_efi_uintn_t *outbuf_size, void *outbuf,
>  							grub_efi_uintn_t *map_key,
>  							grub_efi_uintn_t *efi_desc_size,
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [edk2] [PATCH 2/2] efinet: fix lost packets due to active MNP instances
  2015-04-29 13:47         ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2015-05-07 17:39           ` Andrei Borzenkov
  0 siblings, 0 replies; 19+ messages in thread
From: Andrei Borzenkov @ 2015-05-07 17:39 UTC (permalink / raw)
  To: Vladimir 'φ-coder/phcoder' Serbinenko
  Cc: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 1995 bytes --]

В Wed, 29 Apr 2015 15:47:44 +0200
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:

> On 25.04.2015 16:12, Andrei Borzenkov wrote:
> > ---
> >  grub-core/net/drivers/efi/efinet.c | 101 ++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 99 insertions(+), 2 deletions(-)
> > 
> > diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
> > index f171f20..46e337a 100644
> > --- a/grub-core/net/drivers/efi/efinet.c
> > +++ b/grub-core/net/drivers/efi/efinet.c
> > @@ -142,9 +142,52 @@ get_card_packet (struct grub_net_card *dev)
> >    return nb;
> >  }
> >  
> > +static grub_err_t
> > +open_card (struct grub_net_card *dev)
> > +{
> > +  grub_efi_simple_network_t *net;
> > +
> > +  /* Try to reopen SNP exlusively to close any active MNP protocol instance
> > +     that may compete for packet polling
> > +   */
> > +  net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid,
> > +				GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);
> > +  if (net)
> > +    {
> > +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED
> > +	  && efi_call_1 (net->start, net) != GRUB_EFI_SUCCESS)
> > +	return GRUB_ERR_BAD_DEVICE;
> > +
> Please use proper grub_error.
> > +      if (net->mode->state == GRUB_EFI_NETWORK_STOPPED)
> > +	return GRUB_ERR_BAD_DEVICE;
> > +
> Ditto
> > +      if (net->mode->state == GRUB_EFI_NETWORK_STARTED
> > +	  && efi_call_3 (net->initialize, net, 0, 0) != GRUB_EFI_SUCCESS)
> > +	return GRUB_ERR_BAD_DEVICE;
> > +
> Ditto
> 
> Otherwise patch looks good. If you're comfortable with it, please
> commit. Make sure to credit all relevant authors, feel free to use
> Also-By to credit several authors (AFAIU Martin as main author and you
> in Also-By)
> 

I'm not really comfortable with it, but it has been in distributions
for quite some time so I expect it to work real life. I split it in two
patches - for filtering out extra SNP devices and actual exclusive open.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-05-07 17:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-19  8:01 [PATCH 1/2] efidisk: move device path helpers in core for efinet Andrei Borzenkov
2015-04-19  8:01 ` [PATCH 2/2] efinet: fix lost packets due to active MNP instances Andrei Borzenkov
2015-04-20  6:30   ` Michael Chang
2015-04-21  6:12     ` [edk2] " Michael Chang
2015-04-21  6:49       ` Michael Chang
2015-04-21 12:30         ` Laszlo Ersek
2015-04-22  9:57           ` Michael Chang
2015-04-22 10:50             ` Laszlo Ersek
2015-04-25 14:12       ` Andrei Borzenkov
2015-04-27  6:42         ` Michael Chang
2015-04-29 13:47         ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-05-07 17:39           ` Andrei Borzenkov
2015-04-26  6:42       ` Andrei Borzenkov
2015-04-26 10:44         ` Andrei Borzenkov
2015-04-27  6:47         ` Michael Chang
2015-04-28  6:03           ` Michael Chang
2015-04-28  8:45             ` Michael Chang
2015-04-29 15:42 ` [PATCH 1/2] efidisk: move device path helpers in core for efinet Vladimir 'phcoder' Serbinenko
2015-05-07 14:53 ` Vladimir 'φ-coder/phcoder' Serbinenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.