From b98522fd18eee0a65529e81ab79f2c6a3404f460 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Sun, 9 Mar 2003 21:43:37 +0000 Subject: [PATCH] - Protected the access to the crtc registers (cursor position) with cli/sti. svn path=/trunk/; revision=4279 --- reactos/drivers/dd/blue/blue.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/dd/blue/blue.c b/reactos/drivers/dd/blue/blue.c index 85be356e6a0..7a5d56b4866 100644 --- a/reactos/drivers/dd/blue/blue.c +++ b/reactos/drivers/dd/blue/blue.c @@ -1,4 +1,4 @@ -/* $Id: blue.c,v 1.35 2002/09/08 10:22:04 chorns Exp $ +/* $Id: blue.c,v 1.36 2003/03/09 21:43:37 hbirr Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -175,10 +175,12 @@ ScrWrite(PDEVICE_OBJECT DeviceObject, rows = DeviceExtension->Rows; columns = DeviceExtension->Columns; + __asm__ ("cli\n\t"); WRITE_PORT_UCHAR (CRTC_COMMAND, CRTC_CURSORPOSHI); offset = READ_PORT_UCHAR (CRTC_DATA)<<8; WRITE_PORT_UCHAR (CRTC_COMMAND, CRTC_CURSORPOSLO); offset += READ_PORT_UCHAR (CRTC_DATA); + __asm__ ("sti\n\t"); cursory = offset / columns; cursorx = offset % columns; @@ -268,11 +270,13 @@ ScrWrite(PDEVICE_OBJECT DeviceObject, /* Set the cursor position */ offset = (cursory * columns) + cursorx; } + __asm__ ("cli\n\t"); WRITE_PORT_UCHAR (CRTC_COMMAND, CRTC_CURSORPOSLO); WRITE_PORT_UCHAR (CRTC_DATA, offset); WRITE_PORT_UCHAR (CRTC_COMMAND, CRTC_CURSORPOSHI); offset >>= 8; WRITE_PORT_UCHAR (CRTC_DATA, offset); + __asm__ ("sti\n\t"); Status = STATUS_SUCCESS;