Author: sginsberg
Date: Sun Oct 18 13:50:34 2009
New Revision: 43549
URL: http://svn.reactos.org/svn/reactos?rev=43549&view=rev
Log:
- Use DBG_STATUS_CONTROL_C instead of magic "1"
- Add missing KdPollBreakIn + DbgBreakPointWithStatus to ARM initialization
- Fix initialization of the D and I cache fields in the PCR -- it was always setting the second level
Modified:
trunk/reactos/ntoskrnl/ke/arm/kiinit.c
trunk/reactos/ntoskrnl/ke/i386/kiinit.c
trunk/reactos/ntoskrnl/ke/powerpc/kiinit.c
Modified: trunk/reactos/ntoskrnl/ke/arm/kiinit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/kiinit.c?r…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/arm/kiinit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/arm/kiinit.c [iso-8859-1] Sun Oct 18 13:50:34 2009
@@ -187,6 +187,11 @@
KdInitSystem(0, LoaderBlock);
//
+ // Check for break-in
+ //
+ if (KdPollBreakIn()) DbgBreakPointWithStatus(DBG_STATUS_CONTROL_C);
+
+ //
// Cleanup the rest of the processor block array
//
for (i = 1; i < MAXIMUM_PROCESSORS; i++) KiProcessorBlock[i] = NULL;
@@ -372,20 +377,20 @@
//
// Set global d-cache fill and alignment values
//
- if (Pcr->SecondLevelDcacheSize)
+ if (!Pcr->SecondLevelDcacheSize)
{
//
// Use the first level
//
+ Pcr->DcacheFillSize = Pcr->FirstLevelDcacheSize;
+ }
+ else
+ {
+ //
+ // Use the second level
+ //
Pcr->DcacheFillSize = Pcr->SecondLevelDcacheSize;
}
- else
- {
- //
- // Use the second level
- //
- Pcr->DcacheFillSize = Pcr->SecondLevelDcacheSize;
- }
//
// Set the alignment
@@ -395,12 +400,12 @@
//
// Set global i-cache fill and alignment values
//
- if (Pcr->SecondLevelIcacheSize)
+ if (!Pcr->SecondLevelIcacheSize)
{
//
// Use the first level
//
- Pcr->IcacheFillSize = Pcr->SecondLevelIcacheSize;
+ Pcr->IcacheFillSize = Pcr->FirstLevelIcacheSize;
}
else
{
Modified: trunk/reactos/ntoskrnl/ke/i386/kiinit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/kiinit.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] Sun Oct 18 13:50:34 2009
@@ -752,7 +752,7 @@
KdInitSystem(0, KeLoaderBlock);
/* Check for break-in */
- if (KdPollBreakIn()) DbgBreakPointWithStatus(1);
+ if (KdPollBreakIn()) DbgBreakPointWithStatus(DBG_STATUS_CONTROL_C);
}
/* Raise to HIGH_LEVEL */
Modified: trunk/reactos/ntoskrnl/ke/powerpc/kiinit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/powerpc/kiinit…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/powerpc/kiinit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/powerpc/kiinit.c [iso-8859-1] Sun Oct 18 13:50:34 2009
@@ -329,7 +329,7 @@
/* Check for break-in */
if (KdPollBreakIn())
{
- DbgBreakPointWithStatus(1);
+ DbgBreakPointWithStatus(DBG_STATUS_CONTROL_C);
}
/* Raise to HIGH_LEVEL */
Author: fireball
Date: Sat Oct 17 21:47:26 2009
New Revision: 43540
URL: http://svn.reactos.org/svn/reactos?rev=43540&view=rev
Log:
- It was really too early to remove PatBlt and BitBlt. Get them back for now, since they are still supported.
Modified:
branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
branches/arwinss/reactos/dll/win32/winent.drv/winent.drv.spec
Modified: branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winen…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] Sat Oct 17 21:47:26 2009
@@ -40,7 +40,6 @@
return FALSE;
}
-#if 0
BOOL CDECL RosDrv_BitBlt( NTDRV_PDEVICE *physDevDst, INT xDst, INT yDst,
INT width, INT height, NTDRV_PDEVICE *physDevSrc,
INT xSrc, INT ySrc, DWORD rop )
@@ -76,7 +75,6 @@
return RosGdiBitBlt(physDevDst->hKernelDC, xDst, yDst, width, height,
physDevSrc->hKernelDC, xSrc, ySrc, rop);
}
-#endif
int CDECL RosDrv_ChoosePixelFormat(NTDRV_PDEVICE *physDev,
const PIXELFORMATDESCRIPTOR *ppfd)
@@ -398,6 +396,29 @@
return FALSE;
}
+BOOL CDECL RosDrv_PatBlt( NTDRV_PDEVICE *physDev, INT left, INT top, INT width, INT height, DWORD rop )
+{
+ POINT pts[2], ptBrush;
+
+ /* Map coordinates */
+ pts[0].x = left;
+ pts[0].y = top;
+ pts[1].x = left + width;
+ pts[1].y = top + height;
+
+ LPtoDP(physDev->hUserDC, pts, 2);
+ width = pts[1].x - pts[0].x;
+ height = pts[1].y - pts[0].y;
+ left = pts[0].x;
+ top = pts[0].y;
+
+ /* Update brush origin */
+ GetBrushOrgEx(physDev->hUserDC, &ptBrush);
+ RosGdiSetBrushOrg(physDev->hKernelDC, ptBrush.x, ptBrush.y);
+
+ return RosGdiPatBlt(physDev->hKernelDC, left, top, width, height, rop);
+}
+
BOOL CDECL RosDrv_Pie( NTDRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
INT xstart, INT ystart, INT xend, INT yend )
{
@@ -752,16 +773,8 @@
GetBrushOrgEx(physDevDst->hUserDC, &ptBrush);
RosGdiSetBrushOrg(physDevDst->hKernelDC, ptBrush.x, ptBrush.y);
- if (!physDevSrc)
- {
- /* This is PatBlt */
- return RosGdiPatBlt(physDevDst->hKernelDC, xDst, yDst, widthDst, heightDst, rop);
- }
- else
- {
- return RosGdiStretchBlt(physDevDst->hKernelDC, xDst, yDst, widthDst, heightDst,
- physDevSrc->hKernelDC, xSrc, ySrc, widthSrc, heightSrc, rop);
- }
+ return RosGdiStretchBlt(physDevDst->hKernelDC, xDst, yDst, widthDst, heightDst,
+ physDevSrc->hKernelDC, xSrc, ySrc, widthSrc, heightSrc, rop);
}
BOOL CDECL RosDrv_SwapBuffers(NTDRV_PDEVICE *physDev)
Modified: branches/arwinss/reactos/dll/win32/winent.drv/winent.drv.spec
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winen…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winent.drv/winent.drv.spec [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winent.drv/winent.drv.spec [iso-8859-1] Sat Oct 17 21:47:26 2009
@@ -2,6 +2,7 @@
@ cdecl AlphaBlend(ptr long long long long ptr long long long long long) RosDrv_AlphaBlend
@ cdecl Arc(ptr long long long long long long long long) RosDrv_Arc
+@ cdecl BitBlt(ptr long long long long ptr long long long) RosDrv_BitBlt
@ cdecl ChoosePixelFormat(ptr ptr) RosDrv_ChoosePixelFormat
@ cdecl Chord(ptr long long long long long long long long) RosDrv_Chord
@ cdecl CreateBitmap(ptr long ptr) RosDrv_CreateBitmap
@@ -30,6 +31,7 @@
@ cdecl GetTextMetrics(ptr ptr) RosDrv_GetTextMetrics
@ cdecl LineTo(ptr long long) RosDrv_LineTo
@ cdecl PaintRgn(ptr long) RosDrv_PaintRgn
+@ cdecl PatBlt(ptr long long long long long) RosDrv_PatBlt
@ cdecl Pie(ptr long long long long long long long long) RosDrv_Pie
@ cdecl PolyPolygon(ptr ptr ptr long) RosDrv_PolyPolygon
@ cdecl PolyPolyline(ptr ptr ptr long) RosDrv_PolyPolyline