Author: sir_richard Date: Tue Nov 23 17:24:59 2010 New Revision: 49752
URL: http://svn.reactos.org/svn/reactos?rev=49752&view=rev Log: [FREELDR]: VaToPa/PaToVa are assuming all architectures have VA at PA | KSEG0_BASE. This is not the case. On ZOOM2, DDR RAM starts at 0x80000000 for example, so KSEG0 == VA == PA. Use an ifdef do handle this.
Modified: trunk/reactos/boot/freeldr/freeldr/windows/conversion.c
Modified: trunk/reactos/boot/freeldr/freeldr/windows/conversion.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/window... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/windows/conversion.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/windows/conversion.c [iso-8859-1] Tue Nov 23 17:24:59 2010 @@ -15,6 +15,7 @@
/* FUNCTIONS **************************************************************/
+#ifndef _ZOOM2_ /* Arch-specific addresses translation implementation */ PVOID VaToPa(PVOID Va) @@ -27,6 +28,19 @@ { return (PVOID)((ULONG_PTR)Pa | KSEG0_BASE); } +#else +PVOID +VaToPa(PVOID Va) +{ + return Va; +} + +PVOID +PaToVa(PVOID Pa) +{ + return Pa; +} +#endif
VOID List_PaToVa(LIST_ENTRY *ListEntry)