[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH][GFW][RFC] tell xen pci device which memory to use for vram



Hi.

Ths c/s of 18394:dade7f0bdc8d caused ioemu to segv.
Although this patch is unfinished, I post it because 
someone familiar with GFW can help.

This patch is intended for GFW counter part of 18394:dade7f0bdc8d.
If it found xen pci device, allocates VRAM with Xen page alignment
(16KB) and tell the guest physical address by writing the address
(it suppots only 32bit...) at BAR 0 + 4 bytes offset.

At this moment it doesn't fails with auto pci detection because
gBS->OpenProtocol() fails.
However with "connect" command of EFI shell, it successes to work.
Any hints?

And one more thing. It should be before vga initialization.
But I don't know how to enforce that. Probably it can be
work arounded by the patch to ioemu I posted before.

thanks,

Tell qemu-dm which memory for VRAM to use.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff -r 7ab86aba17c5 
edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/ComponentName.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/ComponentName.c    Mon Sep 
08 19:29:24 2008 +0900
@@ -0,0 +1,165 @@
+/*++
+
+Copyright (c) 2008 Isaku Yamahata
+Based on VgaMiniPort driver
+
+Copyright (c) 2006 Intel Corporation. All rights reserved
+All rights reserved. This program and the accompanying materials               
           
+are licensed and made available under the terms and conditions of the BSD 
License         
+which accompanies this distribution.  The full text of the license may be 
found at        
+http://opensource.org/licenses/bsd-license.php                                 
           
+                                                                               
           
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,          
           
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  
           
+
+
+Module Name:
+
+  ComponentName.c
+
+Abstract:
+
+--*/
+
+#include "XenPlatform.h"
+
+//
+// EFI Component Name Functions
+//
+EFI_STATUS
+EFIAPI
+PciXenPlatformComponentNameGetDriverName (
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **DriverName
+  );
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformComponentNameGetControllerName (
+  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
+  IN  EFI_HANDLE                                      ControllerHandle,
+  IN  EFI_HANDLE                                      ChildHandle        
OPTIONAL,
+  IN  CHAR8                                           *Language,
+  OUT CHAR16                                          **ControllerName
+  );
+
+//
+// EFI Component Name Protocol
+//
+EFI_COMPONENT_NAME_PROTOCOL     gPciXenPlatformComponentName = {
+  PciXenPlatformComponentNameGetDriverName,
+  PciXenPlatformComponentNameGetControllerName,
+  "eng"
+};
+
+static EFI_UNICODE_STRING_TABLE mPciXenPlatformDriverNameTable[] = {
+  {
+    "eng",
+    L"PCI Xen Platform Driver"
+  },
+  {
+    NULL,
+    NULL
+  }
+};
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformComponentNameGetDriverName (
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **DriverName
+  )
+/*++
+
+  Routine Description:
+    Retrieves a Unicode string that is the user readable name of the EFI 
Driver.
+
+  Arguments:
+    This       - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
+    Language   - A pointer to a three character ISO 639-2 language identifier.
+                 This is the language of the driver name that that the caller 
+                 is requesting, and it must match one of the languages 
specified
+                 in SupportedLanguages.  The number of languages supported by 
a 
+                 driver is up to the driver writer.
+    DriverName - A pointer to the Unicode string to return.  This Unicode 
string
+                 is the name of the driver specified by This in the language 
+                 specified by Language.
+
+  Returns:
+    EFI_SUCCESS           - The Unicode string for the Driver specified by This
+                            and the language specified by Language was 
returned 
+                            in DriverName.
+    EFI_INVALID_PARAMETER - Language is NULL.
+    EFI_INVALID_PARAMETER - DriverName is NULL.
+    EFI_UNSUPPORTED       - The driver specified by This does not support the 
+                            language specified by Language.
+
+--*/
+{
+  return LookupUnicodeString (
+          Language,
+          gPciXenPlatformComponentName.SupportedLanguages,
+          mPciXenPlatformDriverNameTable,
+          DriverName
+          );
+}
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformComponentNameGetControllerName (
+  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
+  IN  EFI_HANDLE                                      ControllerHandle,
+  IN  EFI_HANDLE                                      ChildHandle        
OPTIONAL,
+  IN  CHAR8                                           *Language,
+  OUT CHAR16                                          **ControllerName
+  )
+/*++
+
+  Routine Description:
+    Retrieves a Unicode string that is the user readable name of the controller
+    that is being managed by an EFI Driver.
+
+  Arguments:
+    This             - A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
+    ControllerHandle - The handle of a controller that the driver specified by 
+                       This is managing.  This handle specifies the controller 
+                       whose name is to be returned.
+    ChildHandle      - The handle of the child controller to retrieve the name 
+                       of.  This is an optional parameter that may be NULL.  
It 
+                       will be NULL for device drivers.  It will also be NULL 
+                       for a bus drivers that wish to retrieve the name of the 
+                       bus controller.  It will not be NULL for a bus driver 
+                       that wishes to retrieve the name of a child controller.
+    Language         - A pointer to a three character ISO 639-2 language 
+                       identifier.  This is the language of the controller 
name 
+                       that that the caller is requesting, and it must match 
one
+                       of the languages specified in SupportedLanguages.  The 
+                       number of languages supported by a driver is up to the 
+                       driver writer.
+    ControllerName   - A pointer to the Unicode string to return.  This Unicode
+                       string is the name of the controller specified by 
+                       ControllerHandle and ChildHandle in the language 
+                       specified by Language from the point of view of the 
+                       driver specified by This. 
+
+  Returns:
+    EFI_SUCCESS           - The Unicode string for the user readable name in 
the 
+                            language specified by Language for the driver 
+                            specified by This was returned in DriverName.
+    EFI_INVALID_PARAMETER - ControllerHandle is not a valid EFI_HANDLE.
+    EFI_INVALID_PARAMETER - ChildHandle is not NULL and it is not a valid 
+                            EFI_HANDLE.
+    EFI_INVALID_PARAMETER - Language is NULL.
+    EFI_INVALID_PARAMETER - ControllerName is NULL.
+    EFI_UNSUPPORTED       - The driver specified by This is not currently 
+                            managing the controller specified by 
+                            ControllerHandle and ChildHandle.
+    EFI_UNSUPPORTED       - The driver specified by This does not support the 
+                            language specified by Language.
+
+--*/
+{
+  return EFI_UNSUPPORTED;
+}
diff -r 7ab86aba17c5 
edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.c      Mon Sep 
08 19:29:24 2008 +0900
@@ -0,0 +1,262 @@
+/*++
+
+Copyright (c) 2008 Isaku Yamahata
+Based on VgaMiniPort driver
+
+Copyright (c) 2006 Intel Corporation. All rights reserved
+All rights reserved. This program and the accompanying materials               
           
+are licensed and made available under the terms and conditions of the BSD 
License         
+which accompanies this distribution.  The full text of the license may be 
found at        
+http://opensource.org/licenses/bsd-license.php                                 
           
+                                                                               
           
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,          
           
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  
           
+
+
+Module Name:
+
+  XenPlatform.c
+    
+Abstract: 
+    
+
+Revision History
+--*/
+
+#include <Library/MemoryAllocationLib.h>
+#include "XenPlatform.h"
+
+//
+// EFI Driver Binding Protocol Instance
+//
+EFI_DRIVER_BINDING_PROTOCOL gPciXenPlatformDriverBinding = {
+  PciXenPlatformDriverBindingSupported,
+  PciXenPlatformDriverBindingStart,
+  PciXenPlatformDriverBindingStop,
+  0x00000000,
+  NULL,
+  NULL
+};
+
+#if 0
+//
+// Driver Entry Point
+//
+EFI_STATUS
+EFIAPI
+PciXenPlatformDriverEntryPoint (
+  IN EFI_HANDLE         ImageHandle,
+  IN EFI_SYSTEM_TABLE   *SystemTable
+  )
+/*++
+  
+  Routine Description:
+    Driver Entry Point.
+        
+  Arguments:
+    (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)
+  
+  Returns:
+    EFI_STATUS
+--*/
+{
+  return EfiLibInstallAllDriverProtocols (
+          ImageHandle,
+          SystemTable,
+          &gPciXenPlatformDriverBinding,
+          ImageHandle,
+          &gPciXenPlatformComponentName,
+          NULL,
+          NULL
+          );
+  return EFI_SUCCESS;
+}
+#endif
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformDriverBindingSupported (
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN EFI_HANDLE                   Controller,
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
+  )
+/*++
+  
+  Routine Description:
+    Supported.
+    
+  Arguments:
+    (Standard DriverBinding Protocol Supported() function)
+    
+  Returns:
+    EFI_STATUS
+  
+--*/
+{
+  EFI_STATUS          Status;
+  EFI_PCI_IO_PROTOCOL *PciIo;
+  PCI_TYPE00          Pci;
+
+  //
+  // Open the IO Abstraction(s) needed to perform the supported test
+  //
+  Status = gBS->OpenProtocol (
+                  Controller,
+                  &gEfiPciIoProtocolGuid,
+                  (VOID **) &PciIo,
+                  This->DriverBindingHandle,
+                  Controller,
+                  EFI_OPEN_PROTOCOL_BY_DRIVER
+                  );
+  if (EFI_ERROR (Status)) {
+    return Status;
+  }
+  //
+  // See if this is a PCI XEN Controller by looking at the Command register and
+  // Class Code Register
+  //
+  Status = PciIo->Pci.Read (
+                        PciIo,
+                        EfiPciIoWidthUint32,
+                        0,
+                        sizeof (Pci) / sizeof (UINT32),
+                        &Pci
+                        );
+  if (EFI_ERROR (Status)) {
+    goto Done;
+  }
+
+  Status = EFI_UNSUPPORTED;
+  //
+  // See if the device is an enabled XEN device.
+  //
+  if (Pci.Hdr.VendorId == XEN_PLATFORM_VENDOR_ID &&
+      Pci.Hdr.DeviceId == XEN_PLATFORM_DEVICE_ID) {
+    Status = EFI_SUCCESS;
+  }
+
+Done:
+  gBS->CloseProtocol (
+        Controller,
+        &gEfiPciIoProtocolGuid,
+        This->DriverBindingHandle,
+        Controller
+        );
+
+  return Status;
+}
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformDriverBindingStart (
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN EFI_HANDLE                   Controller,
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
+  )
+/*++
+  
+  Routine Description:
+    Install XEN Mini Port Protocol onto XEN device handles
+  
+  Arguments:
+    (Standard DriverBinding Protocol Start() function)
+    
+  Returns:
+    EFI_STATUS
+    
+--*/
+{
+  EFI_STATUS            Status;
+  EFI_PCI_IO_PROTOCOL   *PciIo;
+  VOID                  *VgaRam = NULL;
+  UINT32               Data;
+
+  PciIo                 = NULL;
+  //
+  // Open the IO Abstraction(s) needed
+  //
+  Status = gBS->OpenProtocol (
+                  Controller,
+                  &gEfiPciIoProtocolGuid,
+                  (VOID **) &PciIo,
+                  This->DriverBindingHandle,
+                  Controller,
+                  EFI_OPEN_PROTOCOL_BY_DRIVER
+                  );
+  if (EFI_ERROR (Status)) {
+    goto Done;
+  }
+
+  //
+  // XXX: exclusion. only once.
+  //
+  VgaRam = AllocateAlignedReservedPages (VGA_RAM_PAGES, XEN_PAGE_SIZE);
+  if (VgaRam == NULL) {
+    Status = EFI_OUT_OF_RESOURCES;
+    goto Done;
+  }
+  ZeroMem (VgaRam, VGA_RAM_PAGES * 4 * 1024);
+
+  Data = (UINT32)VgaRam;
+  Status = PciIo->Io.Write (
+                  PciIo,
+                  EfiPciIoWidthUint32,
+                  XEN_BAR_INDEX,
+                  XEN_VGA_OFFSET,
+                  1,
+                  &Data
+                  );
+
+Done:
+  if (EFI_ERROR (Status)) {
+    gBS->CloseProtocol (
+          Controller,
+          &gEfiPciIoProtocolGuid,
+          This->DriverBindingHandle,
+          Controller
+          );
+    if (VgaRam) {
+      FreeAlignedPages (VgaRam, VGA_RAM_PAGES);
+    }
+  }
+
+  return Status;
+}
+
+EFI_STATUS
+EFIAPI
+PciXenPlatformDriverBindingStop (
+  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
+  IN  EFI_HANDLE                      Controller,
+  IN  UINTN                           NumberOfChildren,
+  IN  EFI_HANDLE                      *ChildHandleBuffer
+  )
+/*++
+  
+  Routine Description:
+    Stop.
+  
+  Arguments:
+    (Standard DriverBinding Protocol Stop() function)
+  
+  Returns:
+    EFI_STATUS
+  
+--*/
+{
+  gBS->CloseProtocol (
+        Controller,
+        &gEfiPciIoProtocolGuid,
+        This->DriverBindingHandle,
+        Controller
+        );
+
+  // VGA will be used even after stopping this device...
+#if 0
+  if (VgaRam) {
+    FreeAlignedPages (VgaRam, VGA_RAM_PAGES);
+  }
+#endif
+
+  return EFI_SUCCESS;
+}
diff -r 7ab86aba17c5 
edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.h      Mon Sep 
08 19:29:24 2008 +0900
@@ -0,0 +1,76 @@
+/*++
+
+Copyright (c) 2008 Isaku Yamahata
+Based on VgaMiniPort driver
+
+Copyright (c) 2006 Intel Corporation. All rights reserved
+All rights reserved. This program and the accompanying materials               
           
+are licensed and made available under the terms and conditions of the BSD 
License         
+which accompanies this distribution.  The full text of the license may be 
found at        
+http://opensource.org/licenses/bsd-license.php                                 
           
+                                                                               
           
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,          
           
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  
           
+
+
+Module Name:
+
+    XenPlatform.h
+    
+Abstract: 
+    
+
+Revision History
+--*/
+
+#ifndef _XEN_PLATFORM_H
+#define _XEN_PLATFORM_H
+
+#include <IndustryStandard/pci22.h>
+
+#define XEN_PLATFORM_VENDOR_ID 0x5853
+#define XEN_PLATFORM_DEVICE_ID 0x0001
+
+#define VGA_RAM_SIZE           (8192 * 1024)
+#define VGA_RAM_PAGES          (VGA_RAM_SIZE / (4 * 1024))
+#define XEN_PAGE_SIZE          (16 * 1024)
+
+//
+// Use BAR 0
+// Offset 4 bytes
+//
+#define XEN_BAR_INDEX          0
+#define XEN_VGA_OFFSET         4
+
+//
+// Global Variables
+//
+extern EFI_DRIVER_BINDING_PROTOCOL gPciXenPlatformDriverBinding;
+extern EFI_COMPONENT_NAME_PROTOCOL gPciXenPlatformComponentName;
+
+//
+// Driver Binding Protocol functions
+//
+EFI_STATUS
+PciXenPlatformDriverBindingSupported (
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN EFI_HANDLE                   Controller,
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
+  );
+
+EFI_STATUS
+PciXenPlatformDriverBindingStart (
+  IN EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN EFI_HANDLE                   Controller,
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
+  );
+
+EFI_STATUS
+PciXenPlatformDriverBindingStop (
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN  EFI_HANDLE                   Controller,
+  IN  UINTN                        NumberOfChildren,
+  IN  EFI_HANDLE                   *ChildHandleBuffer
+  );
+  
+#endif
diff -r 7ab86aba17c5 
edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.msa
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/edk2-sparse/EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.msa    Mon Sep 
08 19:29:24 2008 +0900
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <MsaHeader>
+    <ModuleName>XenPlatform</ModuleName>
+    <ModuleType>DXE_DRIVER</ModuleType>
+    <GuidValue>5d98ac1c-7b37-11dd-81e6-39ed55d89593</GuidValue>
+    <Version>0.1</Version>
+    <Abstract>Xen Platform</Abstract>
+    <Description>Xen Platform</Description>
+    <Copyright>Copyright (c) 2006 Intel Corporation. Copyright (c) 2008 Isaku 
Yamahata.</Copyright>
+    <License>All rights reserved. This program and the accompanying materials  
                        
+are licensed and made available under the terms and conditions of the BSD 
License         
+which accompanies this distribution.  The full text of the license may be 
found at        
+http://opensource.org/licenses/bsd-license.php</License>
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   
0x00000052</Specification>
+  </MsaHeader>
+  <ModuleDefinitions>
+    <SupportedArchitectures>EBC IA32 X64 IPF ARM PPC</SupportedArchitectures>
+    <BinaryModule>false</BinaryModule>
+    <OutputFileBasename>XenPlatform</OutputFileBasename>
+  </ModuleDefinitions>
+  <LibraryClassDefinitions>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>BaseLib</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>DebugLib</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>UefiBootServicesTableLib</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>UefiDriverEntryPoint</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>UefiDriverModelLib</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>UefiLib</Keyword>
+    </LibraryClass>
+    <LibraryClass Usage="ALWAYS_CONSUMED">
+      <Keyword>BaseMemoryLib</Keyword>
+    </LibraryClass>
+  </LibraryClassDefinitions>
+  <SourceFiles>
+    <Filename>ComponentName.c</Filename>
+    <Filename>XenPlatform.c</Filename>
+    <Filename>XenPlatform.h</Filename>
+  </SourceFiles>
+  <PackageDependencies>
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
+    <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
+    <Package PackageGuid="a538d0f5-0a85-4084-9776-9aca53f14c9b"/>
+  </PackageDependencies>
+  <Protocols>
+    <Protocol Usage="ALWAYS_CONSUMED">
+      <ProtocolCName>gEfiPciIoProtocolGuid</ProtocolCName>
+    </Protocol>
+  </Protocols>
+  <Externs>
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
+    <Extern>
+      <DriverBinding>gPciXenPlatformDriverBinding</DriverBinding>
+      <ComponentName>gPciXenPlatformComponentName</ComponentName>
+    </Extern>
+  </Externs>
+</ModuleSurfaceArea>
diff -r 7ab86aba17c5 edk2-sparse/EdkQemuPkg/EdkQemuPkg.spd
--- a/edk2-sparse/EdkQemuPkg/EdkQemuPkg.spd     Wed May 14 11:22:58 2008 +0900
+++ b/edk2-sparse/EdkQemuPkg/EdkQemuPkg.spd     Mon Sep 08 19:29:24 2008 +0900
@@ -46,6 +46,7 @@
     <Filename>Chipset/PcCompatible/IsaAcpi/Dxe/IsaAcpi.msa</Filename>
     <Filename>Bus/Isa/IsaBus/Dxe/IsaBus.msa</Filename>
     <Filename>Bus/Isa/IsaSerial/Dxe/IsaSerial.msa</Filename>
+    <Filename>Bus/Pci/XenPlatform/Dxe/XenPlatform.msa</Filename>
     <Filename>Bus/Pci/CirrusLogic/Dxe/CirrusLogicGop.msa</Filename>
     <Filename>Bus/Isa/Ps2Keyboard/Dxe/Ps2Keyboard.msa</Filename>
     <Filename>Bus/Pci/IdeController/Dxe/IdeController.msa</Filename>
diff -r 7ab86aba17c5 edk2-sparse/EdkXenPkg/Xen-Ipf.fpd
--- a/edk2-sparse/EdkXenPkg/Xen-Ipf.fpd Wed May 14 11:22:58 2008 +0900
+++ b/edk2-sparse/EdkXenPkg/Xen-Ipf.fpd Mon Sep 08 19:29:24 2008 +0900
@@ -3677,6 +3677,91 @@
         <FfsFormatKey>BS_DRIVER</FfsFormatKey>
       </ModuleSaBuildOptions>
     </ModuleSA>
+    <!--Mod: XenPlatform Type: DXE_DRIVER Path: 
EdkQemuPkg/Bus/Pci/XenPlatform/Dxe/XenPlatform.msa-->
+    <ModuleSA ModuleGuid="5d98ac1c-7b37-11dd-81e6-39ed55d89593" 
ModuleVersion="0.1" PackageGuid="a538d0f5-0a85-4084-9776-9aca53f14c9b" 
PackageVersion="0.1" SupArchList="IPF">
+      <Libraries>
+        <!--Pkg: MdePkg Mod: UefiDriverEntryPoint Path: 
MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.msa-->
+        <Instance ModuleGuid="331deb15-454b-48d8-9b74-70d01f3f3556" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: UefiRuntimeServicesTableLib Path: 
MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.msa-->
+        <Instance ModuleGuid="19cbbb97-ff61-45ff-8c3f-dfa66dd118c8" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: UefiLib Path: 
MdePkg/Library/UefiLib/UefiLib.msa-->
+        <Instance ModuleGuid="3a004ba5-efe0-4a61-9f1a-267a46ae5ba9" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: DxeMemoryAllocationLib Path: 
MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.msa-->
+        <Instance ModuleGuid="4674739d-3195-4fb2-8094-ac1d22d00194" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: UefiBootServicesTableLib Path: 
MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.msa-->
+        <Instance ModuleGuid="ff5c7a2c-ab7a-4366-8616-11c6e53247b6" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: BaseLib Path: 
MdePkg/Library/BaseLib/BaseLib.msa-->
+        <Instance ModuleGuid="27d67720-ea68-48ae-93da-a3a074c90e30" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: UefiDriverModelLib Path: 
MdePkg/Library/UefiDriverModelLib/UefiDriverModelLib.msa-->
+        <Instance ModuleGuid="52af22ae-9901-4484-8cdc-622dd5838b09" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: BaseDebugLibNull Path: 
MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.msa-->
+        <Instance ModuleGuid="9ba1d976-0624-41a3-8650-28165e8d9ae8" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+        <!--Pkg: MdePkg Mod: DxeMemoryLib Path: 
MdePkg/Library/DxeMemoryLib/DxeMemoryLib.msa-->
+        <Instance ModuleGuid="f1bbe03d-2f28-4dee-bec7-d98d7a30c36a" 
ModuleVersion="1.0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" 
PackageVersion="0.3"/>
+      </Libraries>
+      <PcdBuildDefinition>
+        <PcdData ItemType="FIXED_AT_BUILD">
+          <C_Name>PcdMaximumUnicodeStringLength</C_Name>
+          <Token>0x00000001</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>UINT32</DatumType>
+          <MaxDatumSize>4</MaxDatumSize>
+          <Value>1000000</Value>
+        </PcdData>
+        <PcdData ItemType="FIXED_AT_BUILD">
+          <C_Name>PcdMaximumAsciiStringLength</C_Name>
+          <Token>0x00000002</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>UINT32</DatumType>
+          <MaxDatumSize>4</MaxDatumSize>
+          <Value>1000000</Value>
+        </PcdData>
+        <PcdData ItemType="FIXED_AT_BUILD">
+          <C_Name>PcdMaximumLinkedListLength</C_Name>
+          <Token>0x00000003</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>UINT32</DatumType>
+          <MaxDatumSize>4</MaxDatumSize>
+          <Value>1000000</Value>
+        </PcdData>
+        <PcdData ItemType="FIXED_AT_BUILD">
+          <C_Name>PcdSpinLockTimeout</C_Name>
+          <Token>0x00000004</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>UINT32</DatumType>
+          <MaxDatumSize>4</MaxDatumSize>
+          <Value>10000000</Value>
+        </PcdData>
+        <PcdData ItemType="FEATURE_FLAG">
+          <C_Name>PcdComponentNameDisable</C_Name>
+          <Token>0x0000000d</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>BOOLEAN</DatumType>
+          <MaxDatumSize>1</MaxDatumSize>
+          <Value>FALSE</Value>
+        </PcdData>
+        <PcdData ItemType="FEATURE_FLAG">
+          <C_Name>PcdDriverDiagnosticsDisable</C_Name>
+          <Token>0x0000000e</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>BOOLEAN</DatumType>
+          <MaxDatumSize>1</MaxDatumSize>
+          <Value>FALSE</Value>
+        </PcdData>
+        <PcdData ItemType="FIXED_AT_BUILD">
+          <C_Name>PcdUefiLibMaxPrintBufferSize</C_Name>
+          <Token>0x101</Token>
+          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+          <DatumType>UINT32</DatumType>
+          <MaxDatumSize>4</MaxDatumSize>
+          <Value>320</Value>
+        </PcdData>
+      </PcdBuildDefinition>
+      <ModuleSaBuildOptions>
+        <FvBinding>FV_RECOVERY</FvBinding>
+        <FfsFormatKey>BS_DRIVER</FfsFormatKey>
+      </ModuleSaBuildOptions>
+    </ModuleSA>
     <!--Mod: Bds Type: DXE_DRIVER Path: EdkXenPkg/Dxe/Bds/Bds.msa-->
     <ModuleSA ModuleGuid="e218bd95-ab3e-4e0a-b56f-a55ad562be6b" 
ModuleVersion="0.1" PackageGuid="35e704ab-48ea-456b-a93f-25516984446b" 
PackageVersion="0.1" SupArchList="IPF">
       <Libraries>
@@ -4085,6 +4170,7 @@
         <Module ModuleGuid="2c398cda-0f01-440d-b81d-7d8f557c91c7" 
ModuleVersion="0.1" PackageGuid="a538d0f5-0a85-4084-9776-9aca53f14c9b" 
PackageVersion="0.1" Arch="IPF"/>
         <Module ModuleGuid="7BB28B99-61BB-11D5-9A5D-0090273FC14D" 
ModuleVersion="1.0" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" 
PackageVersion="0.3" Arch="IPF"/>
         <Module ModuleGuid="1BA0062E-C779-4582-8566-336AE8F78F09" 
ModuleVersion="0.1" PackageGuid="35e704ab-48ea-456b-a93f-25516984446b" 
PackageVersion="0.1" Arch="IPF"/>
+        <Module ModuleGuid="5d98ac1c-7b37-11dd-81e6-39ed55d89593" 
ModuleVersion="0.1" PackageGuid="a538d0f5-0a85-4084-9776-9aca53f14c9b" 
PackageVersion="0.1" Arch="IPF"/>
       </IncludeModules>
     </UserExtensions>
     <Ffs FfsKey="DXE_CORE">


-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.