private List<String> exitBootServiceList = new ArrayList<String>();\r
\r
private StringBuffer functionDeclarations = new StringBuffer(10240);\r
+ private StringBuffer globalDeclarations = new StringBuffer(10240);\r
\r
//\r
// flag of PcdComponentNameDisable, PcdDriverDiagnosticDisable \r
fileBuffer.append(this.myPcdAutogen.getHAutoGenString());\r
}\r
\r
+ fileBuffer.append(globalDeclarations);\r
fileBuffer.append(functionDeclarations);\r
//\r
// Append the #endif at AutoGen.h\r
if (entryPointList == null ||entryPointList.length != 1 ) {\r
throw new AutoGenException("Module type = 'PEI_CORE', can have only one module entry point!");\r
} else {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(entryPointList[0]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartupDescriptor,\r\n");\r
- fileBuffer.append(" IN VOID *OldCoreData\r\n");\r
- fileBuffer.append(" );\r\n\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(entryPointList[0]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_PEI_STARTUP_DESCRIPTOR *PeiStartupDescriptor,\r\n");\r
+ functionDeclarations.append(" IN VOID *OldCoreData\r\n");\r
+ functionDeclarations.append(" );\r\n\r\n");\r
\r
fileBuffer.append("EFI_STATUS\r\n");\r
fileBuffer.append("EFIAPI\r\n");\r
if (entryPointList == null || entryPointList.length != 1) {\r
throw new AutoGenException("Module type = 'DXE_CORE', can have only one module entry point!");\r
} else {\r
- fileBuffer.append("VOID\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(entryPointList[0]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN VOID *HobStart\r\n");\r
- fileBuffer.append(" );\r\n\r\n");\r
+ functionDeclarations.append("VOID\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(entryPointList[0]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN VOID *HobStart\r\n");\r
+ functionDeclarations.append(" );\r\n\r\n");\r
\r
fileBuffer.append("VOID\r\n");\r
fileBuffer.append("EFIAPI\r\n");\r
break;\r
}\r
for (int i = 0; i < entryPointList.length; i++) {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(entryPointList[i]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_FFS_FILE_HEADER *FfsHeader,\r\n");\r
- fileBuffer.append(" IN EFI_PEI_SERVICES **PeiServices\r\n");\r
- fileBuffer.append(" );\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(entryPointList[i]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_FFS_FILE_HEADER *FfsHeader,\r\n");\r
+ functionDeclarations.append(" IN EFI_PEI_SERVICES **PeiServices\r\n");\r
+ functionDeclarations.append(" );\r\n");\r
entryPointCount++;\r
}\r
\r
\r
} else {\r
for (int i = 0; i < entryPointList.length; i++) {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(entryPointList[i]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");\r
- fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");\r
- fileBuffer.append(" );\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(entryPointList[i]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_HANDLE ImageHandle,\r\n");\r
+ functionDeclarations.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");\r
+ functionDeclarations.append(" );\r\n");\r
entryPointCount++;\r
}\r
fileBuffer.append("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gDriverEntryPointCount = ");\r
unloadImageCount = 0;\r
if (unloadImageList != null) {\r
for (int i = 0; i < unloadImageList.length; i++) {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append(unloadImageList[i]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_HANDLE ImageHandle\r\n");\r
- fileBuffer.append(" );\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append(unloadImageList[i]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_HANDLE ImageHandle\r\n");\r
+ functionDeclarations.append(" );\r\n");\r
unloadImageCount++;\r
}\r
}\r
\r
} else {\r
for (int i = 0; i < entryPointList.length; i++) {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(entryPointList[i]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_HANDLE ImageHandle,\r\n");\r
- fileBuffer.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");\r
- fileBuffer.append(" );\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(entryPointList[i]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_HANDLE ImageHandle,\r\n");\r
+ functionDeclarations.append(" IN EFI_SYSTEM_TABLE *SystemTable\r\n");\r
+ functionDeclarations.append(" );\r\n");\r
entryPointCount++;\r
}\r
\r
unloadImageCount = 0;\r
if (unloadImageList != null) {\r
for (int i = 0; i < unloadImageList.length; i++) {\r
- fileBuffer.append("EFI_STATUS\r\n");\r
- fileBuffer.append("EFIAPI\r\n");\r
- fileBuffer.append(unloadImageList[i]);\r
- fileBuffer.append(" (\r\n");\r
- fileBuffer.append(" IN EFI_HANDLE ImageHandle\r\n");\r
- fileBuffer.append(" );\r\n");\r
+ functionDeclarations.append("EFI_STATUS\r\n");\r
+ functionDeclarations.append("EFIAPI\r\n");\r
+ functionDeclarations.append(unloadImageList[i]);\r
+ functionDeclarations.append(" (\r\n");\r
+ functionDeclarations.append(" IN EFI_HANDLE ImageHandle\r\n");\r
+ functionDeclarations.append(" );\r\n");\r
unloadImageCount++;\r
}\r
}\r
//\r
for (int i = 0; i < driverBindingGroup.length; i++) {\r
if (driverBindingGroup[i][0] != null) {\r
- fileBuffer.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][0]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][0]);\r
+ globalDeclarations.append(";\r\n");\r
}\r
}\r
\r
if (driverBindingGroup[i][1]!= null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x01;\r
- fileBuffer.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][1]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][1]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r
if (driverBindingGroup[i][2] != null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x02;\r
- fileBuffer.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][2]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][2]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r
if (driverBindingGroup[i][3] != null) {\r
if (driverBindingGroup[i][0] != null) {\r
BitMask |= 0x04;\r
- fileBuffer.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
- fileBuffer.append(driverBindingGroup[i][3]);\r
- fileBuffer.append(";\r\n");\r
+ globalDeclarations.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
+ globalDeclarations.append(driverBindingGroup[i][3]);\r
+ globalDeclarations.append(";\r\n");\r
} else {\r
throw new AutoGenException("DriverBinding can't be empty!!");\r
}\r