[BOOTLIB]

Stub out some arch-specific functions (fixes x64 build).

[USBPORT]
Actually fix x64 build. The old code was not working at all, but the bootlib errors cancelled the build earlier than I thought.

The X64 compilation now succeeds, but cabman crashes trying to generate the bootcd.

svn path=/trunk/; revision=75396
This commit is contained in:
David Quintana
2017-07-24 15:08:16 +00:00
parent a822da7802
commit 86c98bfda7
4 changed files with 45 additions and 6 deletions
@@ -44,3 +44,9 @@ BlpArchInitialize (
return STATUS_NOT_IMPLEMENTED;
}
VOID
Archx86TransferTo32BitApplicationAsm (VOID)
{
EfiPrintf(L" Archx86TransferTo32BitApplicationAsm NOT IMPLEMENTED for this platform\r\n");
}
+27
View File
@@ -10,6 +10,10 @@
#include "bl.h"
BL_ADDRESS_RANGE MmArchKsegAddressRange;
ULONG_PTR MmArchTopOfApplicationAddressSpace;
ULONG MmArchLargePageSize;
/* FUNCTIONS *****************************************************************/
NTSTATUS
@@ -23,3 +27,26 @@ MmArchInitialize (
EfiPrintf(L" MmArchInitialize NOT IMPLEMENTED for this platform\r\n");
return STATUS_NOT_IMPLEMENTED;
}
NTSTATUS
MmMapPhysicalAddress (
_Inout_ PPHYSICAL_ADDRESS PhysicalAddressPtr,
_Inout_ PVOID* VirtualAddressPtr,
_Inout_ PULONGLONG SizePtr,
_In_ ULONG CacheAttributes
)
{
EfiPrintf(L" MmMapPhysicalAddress NOT IMPLEMENTED for this platform\r\n");
return STATUS_NOT_IMPLEMENTED;
}
BOOLEAN
MmArchTranslateVirtualAddress (
_In_ PVOID VirtualAddress,
_Out_opt_ PPHYSICAL_ADDRESS PhysicalAddress,
_Out_opt_ PULONG CachingFlags
)
{
EfiPrintf(L" MmMapPhysicalAddress NOT IMPLEMENTED for this platform\r\n");
return FALSE;
}
+7 -1
View File
@@ -359,11 +359,17 @@ typedef struct _USBPORT_DEVICE_EXTENSION {
/* Miniport extension should be aligned on 0x100 */
#if !defined(_M_X64)
ULONG Padded[34];
#else
ULONG Padded[0];
#endif
} USBPORT_DEVICE_EXTENSION, *PUSBPORT_DEVICE_EXTENSION;
#if !defined(_M_X64)
C_ASSERT(sizeof(USBPORT_DEVICE_EXTENSION) == 0x400);
#else
C_ASSERT(sizeof(USBPORT_DEVICE_EXTENSION) == 0x600);
#endif
typedef struct _USBPORT_RH_DESCRIPTORS {
USB_DEVICE_DESCRIPTOR DeviceDescriptor;
@@ -397,7 +403,7 @@ typedef struct _USBPORT_ASYNC_CALLBACK_DATA {
ULONG CallbackContext;
} USBPORT_ASYNC_CALLBACK_DATA, *PUSBPORT_ASYNC_CALLBACK_DATA;
C_ASSERT(sizeof(USBPORT_ASYNC_CALLBACK_DATA) == 84 + sizeof(PVOID));
C_ASSERT(sizeof(USBPORT_ASYNC_CALLBACK_DATA) == 16 + 18 * sizeof(PVOID));
typedef struct _TIMER_WORK_QUEUE_ITEM {
WORK_QUEUE_ITEM WqItem;
@@ -62,7 +62,7 @@ typedef struct _USBPORT_RESOURCES {
UCHAR Reserved3;
} USBPORT_RESOURCES, *PUSBPORT_RESOURCES;
C_ASSERT(sizeof(USBPORT_RESOURCES) == 40 + 3 * sizeof(PVOID));
C_ASSERT(sizeof(USBPORT_RESOURCES) == 24 + 7 * sizeof(PVOID));
typedef ULONG MPSTATUS; // Miniport status
typedef ULONG RHSTATUS; // Roothub status
@@ -578,7 +578,7 @@ typedef struct _USBPORT_MINIPORT_INTERFACE {
USBPORT_REGISTRATION_PACKET Packet;
} USBPORT_MINIPORT_INTERFACE, *PUSBPORT_MINIPORT_INTERFACE;
C_ASSERT(sizeof(USBPORT_MINIPORT_INTERFACE) == 328 + 2 * sizeof(PVOID));
C_ASSERT(sizeof(USBPORT_MINIPORT_INTERFACE) == 32 + 76 * sizeof(PVOID));
#define USBPORT_TRANSFER_DIRECTION_OUT 1 // From host to device
typedef struct _USBPORT_ENDPOINT_PROPERTIES {
@@ -607,7 +607,7 @@ typedef struct _USBPORT_ENDPOINT_PROPERTIES {
ULONG Reserved6;
} USBPORT_ENDPOINT_PROPERTIES, *PUSBPORT_ENDPOINT_PROPERTIES;
C_ASSERT(sizeof(USBPORT_ENDPOINT_PROPERTIES) == 64);
C_ASSERT(sizeof(USBPORT_ENDPOINT_PROPERTIES) == 48 + 4 * sizeof(PVOID));
typedef struct _USBPORT_SCATTER_GATHER_ELEMENT {
PHYSICAL_ADDRESS SgPhysicalAddress;
@@ -617,7 +617,7 @@ typedef struct _USBPORT_SCATTER_GATHER_ELEMENT {
ULONG Reserved2;
} USBPORT_SCATTER_GATHER_ELEMENT, *PUSBPORT_SCATTER_GATHER_ELEMENT;
C_ASSERT(sizeof(USBPORT_SCATTER_GATHER_ELEMENT) == 20 + sizeof(PVOID));
C_ASSERT(sizeof(USBPORT_SCATTER_GATHER_ELEMENT) == 24);
typedef struct _USBPORT_SCATTER_GATHER_LIST {
ULONG Flags;
@@ -627,7 +627,7 @@ typedef struct _USBPORT_SCATTER_GATHER_LIST {
USBPORT_SCATTER_GATHER_ELEMENT SgElement[1];
} USBPORT_SCATTER_GATHER_LIST, *PUSBPORT_SCATTER_GATHER_LIST;
C_ASSERT(sizeof(USBPORT_SCATTER_GATHER_LIST) == 36 + sizeof(PVOID));
C_ASSERT(sizeof(USBPORT_SCATTER_GATHER_LIST) == 24 + 4 * sizeof(PVOID));
typedef struct _USBPORT_TRANSFER_PARAMETERS {
ULONG TransferFlags;