Author: dquintana
Date: Mon Jul 24 15:08:16 2017
New Revision: 75396
URL:
http://svn.reactos.org/svn/reactos?rev=75396&view=rev
Log:
[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.
Modified:
trunk/reactos/boot/environ/lib/arch/stub/arch.c
trunk/reactos/boot/environ/lib/mm/stub/mm.c
trunk/reactos/drivers/usb/usbport/usbport.h
trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h
Modified: trunk/reactos/boot/environ/lib/arch/stub/arch.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/arch/stub…
==============================================================================
--- trunk/reactos/boot/environ/lib/arch/stub/arch.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/arch/stub/arch.c [iso-8859-1] Mon Jul 24 15:08:16 2017
@@ -44,3 +44,9 @@
return STATUS_NOT_IMPLEMENTED;
}
+VOID
+Archx86TransferTo32BitApplicationAsm (VOID)
+{
+ EfiPrintf(L" Archx86TransferTo32BitApplicationAsm NOT IMPLEMENTED for this
platform\r\n");
+}
+
Modified: trunk/reactos/boot/environ/lib/mm/stub/mm.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/stub/m…
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/stub/mm.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/stub/mm.c [iso-8859-1] Mon Jul 24 15:08:16 2017
@@ -9,6 +9,10 @@
/* INCLUDES ******************************************************************/
#include "bl.h"
+
+BL_ADDRESS_RANGE MmArchKsegAddressRange;
+ULONG_PTR MmArchTopOfApplicationAddressSpace;
+ULONG MmArchLargePageSize;
/* FUNCTIONS *****************************************************************/
@@ -23,3 +27,26 @@
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;
+}
Modified: trunk/reactos/drivers/usb/usbport/usbport.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/usbpor…
==============================================================================
--- trunk/reactos/drivers/usb/usbport/usbport.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/usbport/usbport.h [iso-8859-1] Mon Jul 24 15:08:16 2017
@@ -359,11 +359,17 @@
/* 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 @@
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;
Modified: trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/reactos/driver…
==============================================================================
--- trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h [iso-8859-1] (original)
+++ trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h [iso-8859-1] Mon Jul 24
15:08:16 2017
@@ -62,7 +62,7 @@
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 @@
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 @@
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 @@
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 @@
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;