[SCSIPORT]

ScsiPortConvertPhysicalAddressToUlong takes an ULONG_PTR as input, fix function accordingly and do the "calculation" directly instead of calling RtlConvertUlongToLargeInteger
Spotted by Samuel.

svn path=/trunk/; revision=50089
This commit is contained in:
Timo Kreuzer 2010-12-21 23:48:15 +00:00
parent f43fa44a2e
commit 1ef6958203
4 changed files with 14 additions and 8 deletions

View file

@ -445,9 +445,12 @@ ScsiPortConvertPhysicalAddressToUlong(
SCSI_PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
NTAPI NTAPI
ScsiPortConvertUlongToPhysicalAddress( ScsiPortConvertUlongToPhysicalAddress(
IN ULONG UlongAddress) IN ULONG_PTR UlongAddress)
{ {
return RtlConvertUlongToLargeInteger(UlongAddress); SCSI_PHYSICAL_ADDRESS Address;
Address.QuadPart = UlongAddress;
return Address;
} }
VOID VOID
@ -1540,7 +1543,7 @@ LoadBootDeviceDriver(VOID)
{ {
CHAR* Name; CHAR* Name;
PVOID Function; PVOID Function;
} ExportTable[] = } ExportTable[] =
{ {
{ "ScsiDebugPrint", ScsiDebugPrint }, { "ScsiDebugPrint", ScsiDebugPrint },
{ "ScsiPortCompleteRequest", ScsiPortCompleteRequest }, { "ScsiPortCompleteRequest", ScsiPortCompleteRequest },
@ -1618,7 +1621,7 @@ LoadBootDeviceDriver(VOID)
ImageDosHeader.e_lfanew = SWAPD((ULONG_PTR)&ImageNtHeaders - (ULONG_PTR)&ImageDosHeader); ImageDosHeader.e_lfanew = SWAPD((ULONG_PTR)&ImageNtHeaders - (ULONG_PTR)&ImageDosHeader);
ImageNtHeaders.Signature = IMAGE_NT_SIGNATURE; ImageNtHeaders.Signature = IMAGE_NT_SIGNATURE;
ImageNtHeaders.OptionalHeader.NumberOfRvaAndSizes = SWAPD(IMAGE_DIRECTORY_ENTRY_EXPORT + 1); ImageNtHeaders.OptionalHeader.NumberOfRvaAndSizes = SWAPD(IMAGE_DIRECTORY_ENTRY_EXPORT + 1);
ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress = ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress =
SWAPW((ULONG_PTR)&ImageExportDirectory - (ULONG_PTR)&ImageDosHeader); SWAPW((ULONG_PTR)&ImageExportDirectory - (ULONG_PTR)&ImageDosHeader);
ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size = 1; ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size = 1;
ImageExportDirectory.NumberOfNames = sizeof(ExportTable) / sizeof(ExportTable[0]); ImageExportDirectory.NumberOfNames = sizeof(ExportTable) / sizeof(ExportTable[0]);

View file

@ -935,7 +935,7 @@ ScsiPortWriteRegisterBufferUlong(
SCSIPORT_API SCSIPORT_API
SCSI_PHYSICAL_ADDRESS NTAPI SCSI_PHYSICAL_ADDRESS NTAPI
ScsiPortConvertUlongToPhysicalAddress( ScsiPortConvertUlongToPhysicalAddress(
ULONG UlongAddress ULONG_PTR UlongAddress
); );
SCSIPORT_API SCSIPORT_API

View file

@ -42,9 +42,12 @@
SCSI_PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
NTAPI NTAPI
ScsiPortConvertUlongToPhysicalAddress( ScsiPortConvertUlongToPhysicalAddress(
IN ULONG UlongAddress) IN ULONG_PTR UlongAddress)
{ {
return RtlConvertUlongToLargeInteger(UlongAddress); SCSI_PHYSICAL_ADDRESS Address;
Address.QuadPart = UlongAddress;
return Address;
} }
VOID VOID

View file

@ -550,7 +550,7 @@ SCSIPORTAPI
SCSI_PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
NTAPI NTAPI
ScsiPortConvertUlongToPhysicalAddress( ScsiPortConvertUlongToPhysicalAddress(
IN ULONG UlongAddress); IN ULONG_PTR UlongAddress);
SCSIPORTAPI SCSIPORTAPI
VOID VOID