diff --git a/reactos/include/ddk/nt_vdd.h b/reactos/include/ddk/nt_vdd.h index 5e423411cea..e8d4a6678c3 100644 --- a/reactos/include/ddk/nt_vdd.h +++ b/reactos/include/ddk/nt_vdd.h @@ -191,19 +191,6 @@ typedef VOID PVOID FaultAddress, ULONG RWMode); -PBYTE -WINAPI -Sim32pGetVDMPointer( - _In_ ULONG Address, - _In_ BOOLEAN ProtectedMode); - -PBYTE -WINAPI -MGetVdmPointer( - _In_ ULONG Address, - _In_ ULONG Size, - _In_ BOOLEAN ProtectedMode); - PVOID WINAPI VdmMapFlat( @@ -211,6 +198,13 @@ VdmMapFlat( _In_ ULONG Offset, _In_ VDM_MODE Mode); +#ifdef _X86_ + +#define VdmFlushCache(sel, off, len, mode) TRUE +#define VdmUnmapFlat(sel, off, buf, mode) TRUE + +#else + BOOL WINAPI VdmFlushCache( @@ -227,6 +221,8 @@ VdmUnmapFlat( _In_ PVOID Buffer, _In_ VDM_MODE Mode); +#endif + BOOL WINAPI VDDInstallMemoryHook( diff --git a/reactos/include/ddk/vddsvc.h b/reactos/include/ddk/vddsvc.h index 451a2c444e9..08d5fb53bc0 100644 --- a/reactos/include/ddk/vddsvc.h +++ b/reactos/include/ddk/vddsvc.h @@ -34,17 +34,73 @@ VOID WINAPI -call_ica_hw_interrupt -( - INT ms, - BYTE line, - INT count -); +call_ica_hw_interrupt( + _In_ INT ms, + _In_ BYTE line, + _In_ INT count); -#define VDDSimulateInterrupt(ms, line, count) \ +#define VDDSimulateInterrupt(ms, line, count) \ call_ica_hw_interrupt((ms), (line), (count)) // Windows specifies a count of 1 ... +/* + * Memory services + */ + +#ifdef i386 + +PBYTE +WINAPI +MGetVdmPointer( + _In_ ULONG Address, + _In_ ULONG Size, + _In_ BOOLEAN ProtectedMode); + +#define Sim32GetVDMPointer(Address, Size, Mode) \ + MGetVdmPointer((Address), (Size), (Mode)) + +#define Sim32FlushVDMPointer(Address, Size, Buffer, Mode) TRUE + +#else + +PBYTE +WINAPI +Sim32GetVDMPointer( + _In_ ULONG Address, + _In_ ULONG Size, + _In_ BOOLEAN ProtectedMode); + +BOOLEAN +WINAPI +Sim32FlushVDMPointer( + _In_ ULONG Address, + _In_ ULONG Size, + _In_ PBYTE Buffer, + _In_ BOOLEAN ProtectedMode); + +#endif + +PBYTE +WINAPI +Sim32pGetVDMPointer( + _In_ ULONG Address, + _In_ BOOLEAN ProtectedMode); + +/* This API appears to have been never implemented anywhere... */ +#define Sim32FreeVDMPointer(Address, Size, Buffer, Mode) TRUE + +#define GetVDMAddress(usSeg, usOff) (((ULONG)(usSeg) << 4) + (ULONG)(usOff)) + +#define GetVDMPointer(Address, Size, Mode) \ + Sim32GetVDMPointer(Address, Size, Mode) + +#define FlushVDMPointer(Address, Size, Buffer, Mode) \ + Sim32FlushVDMPointer(Address, Size, Buffer, Mode) + +#define FreeVDMPointer(Address, Size, Buffer, Mode) \ + Sim32FreeVDMPointer(Address, Size, Buffer, Mode) + + /* * Registers manipulation */