Author: hpoussin
Date: Tue Oct 23 12:30:39 2007
New Revision: 29819
URL:
http://svn.reactos.org/svn/reactos?rev=29819&view=rev
Log:
Fix some svn properties
Modified:
trunk/reactos/drivers/base/kdcom/kdbg.c (contents, props changed)
trunk/reactos/drivers/base/kdcom/kdcom.def (contents, props changed)
trunk/reactos/drivers/storage/scsiport/scsiport.c (contents, props changed)
trunk/reactos/drivers/storage/scsiport/scsiport.def (contents, props changed)
trunk/reactos/drivers/storage/scsiport/scsiport.rc (contents, props changed)
trunk/reactos/drivers/storage/scsiport/scsiport_int.h (props changed)
Modified: trunk/reactos/drivers/base/kdcom/kdbg.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/kdcom/kdbg.c?…
==============================================================================
--- trunk/reactos/drivers/base/kdcom/kdbg.c (original)
+++ trunk/reactos/drivers/base/kdcom/kdbg.c Tue Oct 23 12:30:39 2007
@@ -1,628 +1,628 @@
-/* $Id: kdbg.c 23670 2006-08-23 17:28:39Z ion $
- *
- * COPYRIGHT: See COPYING in the top level directory
- * PROJECT: ReactOS kernel
- * FILE: ntoskrnl/hal/x86/kdbg.c
- * PURPOSE: Serial i/o functions for the kernel debugger.
- * PROGRAMMER: Emanuele Aliberti
- * Eric Kohl
- * UPDATE HISTORY:
- * Created 05/09/99
- */
-
-/* INCLUDES *****************************************************************/
-
-#define NOEXTAPI
-#include <ntddk.h>
-#define NDEBUG
-#include <halfuncs.h>
-#include <stdio.h>
-#include <debug.h>
-#include "arc/arc.h"
-#include "windbgkd.h"
-
-typedef struct _KD_PORT_INFORMATION
-{
- ULONG ComPort;
- ULONG BaudRate;
- ULONG BaseAddress;
-} KD_PORT_INFORMATION, *PKD_PORT_INFORMATION;
-
-#define DEFAULT_BAUD_RATE 19200
-
-
-/* MACROS *******************************************************************/
-
-#define SER_RBR(x) ((x)+0)
-#define SER_THR(x) ((x)+0)
-#define SER_DLL(x) ((x)+0)
-#define SER_IER(x) ((x)+1)
-#define SR_IER_ERDA 0x01
-#define SR_IER_ETHRE 0x02
-#define SR_IER_ERLSI 0x04
-#define SR_IER_EMS 0x08
-#define SR_IER_ALL 0x0F
-#define SER_DLM(x) ((x)+1)
-#define SER_IIR(x) ((x)+2)
-#define SER_FCR(x) ((x)+2)
-#define SR_FCR_ENABLE_FIFO 0x01
-#define SR_FCR_CLEAR_RCVR 0x02
-#define SR_FCR_CLEAR_XMIT 0x04
-#define SER_LCR(x) ((x)+3)
-#define SR_LCR_CS5 0x00
-#define SR_LCR_CS6 0x01
-#define SR_LCR_CS7 0x02
-#define SR_LCR_CS8 0x03
-#define SR_LCR_ST1 0x00
-#define SR_LCR_ST2 0x04
-#define SR_LCR_PNO 0x00
-#define SR_LCR_POD 0x08
-#define SR_LCR_PEV 0x18
-#define SR_LCR_PMK 0x28
-#define SR_LCR_PSP 0x38
-#define SR_LCR_BRK 0x40
-#define SR_LCR_DLAB 0x80
-#define SER_MCR(x) ((x)+4)
-#define SR_MCR_DTR 0x01
-#define SR_MCR_RTS 0x02
-#define SR_MCR_OUT1 0x04
-#define SR_MCR_OUT2 0x08
-#define SR_MCR_LOOP 0x10
-#define SER_LSR(x) ((x)+5)
-#define SR_LSR_DR 0x01
-#define SR_LSR_TBE 0x20
-#define SER_MSR(x) ((x)+6)
-#define SR_MSR_CTS 0x10
-#define SR_MSR_DSR 0x20
-#define SER_SCR(x) ((x)+7)
-
-
-/* GLOBAL VARIABLES *********************************************************/
-
-/* STATIC VARIABLES *********************************************************/
-
-static ULONG ComPort = 0;
-static ULONG BaudRate = 0;
-static PUCHAR PortBase = (PUCHAR)0;
-
-/* The com port must only be initialized once! */
-static BOOLEAN PortInitialized = FALSE;
-
-
-/* STATIC FUNCTIONS *********************************************************/
-
-static BOOLEAN
-KdpDoesComPortExist (PUCHAR BaseAddress)
-{
- BOOLEAN found;
- UCHAR mcr;
- UCHAR msr;
-
- found = FALSE;
-
- /* save Modem Control Register (MCR) */
- mcr = READ_PORT_UCHAR (SER_MCR(BaseAddress));
-
- /* enable loop mode (set Bit 4 of the MCR) */
- WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x10);
-
- /* clear all modem output bits */
- WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x10);
-
- /* read the Modem Status Register */
- msr = READ_PORT_UCHAR (SER_MSR(BaseAddress));
-
- /*
- * the upper nibble of the MSR (modem output bits) must be
- * equal to the lower nibble of the MCR (modem input bits)
- */
- if ((msr & 0xF0) == 0x00)
- {
- /* set all modem output bits */
- WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x1F);
-
- /* read the Modem Status Register */
- msr = READ_PORT_UCHAR (SER_MSR(BaseAddress));
-
- /*
- * the upper nibble of the MSR (modem output bits) must be
- * equal to the lower nibble of the MCR (modem input bits)
- */
- if ((msr & 0xF0) == 0xF0)
- {
- /*
- * setup a resonable state for the port:
- * enable fifo and clear recieve/transmit buffers
- */
- WRITE_PORT_UCHAR (SER_FCR(BaseAddress),
- (SR_FCR_ENABLE_FIFO | SR_FCR_CLEAR_RCVR |
SR_FCR_CLEAR_XMIT));
- WRITE_PORT_UCHAR (SER_FCR(BaseAddress), 0);
- READ_PORT_UCHAR (SER_RBR(BaseAddress));
- WRITE_PORT_UCHAR (SER_IER(BaseAddress), 0);
- found = TRUE;
- }
- }
-
- /* restore MCR */
- WRITE_PORT_UCHAR (SER_MCR(BaseAddress), mcr);
-
- return (found);
-}
-
-
-/* FUNCTIONS ****************************************************************/
-
-/* HAL.KdPortInitialize */
-BOOLEAN
-STDCALL
-KdPortInitialize (
- PKD_PORT_INFORMATION PortInformation,
- ULONG Unknown1,
- ULONG Unknown2
- )
-{
- ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
- char buffer[80];
- ULONG divisor;
- UCHAR lcr;
-
- if (PortInitialized == FALSE)
- {
- if (PortInformation->BaudRate != 0)
- {
- BaudRate = PortInformation->BaudRate;
- }
- else
- {
- BaudRate = DEFAULT_BAUD_RATE;
- }
-
- if (PortInformation->ComPort == 0)
- {
- if (KdpDoesComPortExist ((PUCHAR)BaseArray[2]))
- {
- PortBase = (PUCHAR)BaseArray[2];
- ComPort = 2;
- PortInformation->BaseAddress = (ULONG)PortBase;
- PortInformation->ComPort = ComPort;
-#ifndef NDEBUG
- sprintf (buffer,
- "\nSerial port COM%ld found at
0x%lx\n",
- ComPort,
- (ULONG)PortBase);
- HalDisplayString (buffer);
-#endif /* NDEBUG */
- }
- else if (KdpDoesComPortExist ((PUCHAR)BaseArray[1]))
- {
- PortBase = (PUCHAR)BaseArray[1];
- ComPort = 1;
- PortInformation->BaseAddress = (ULONG)PortBase;
- PortInformation->ComPort = ComPort;
-#ifndef NDEBUG
- sprintf (buffer,
- "\nSerial port COM%ld found at
0x%lx\n",
- ComPort,
- (ULONG)PortBase);
- HalDisplayString (buffer);
-#endif /* NDEBUG */
- }
- else
- {
- sprintf (buffer,
- "\nKernel Debugger: No COM port
found!!!\n\n");
- HalDisplayString (buffer);
- return FALSE;
- }
- }
- else
- {
- if (KdpDoesComPortExist
((PUCHAR)BaseArray[PortInformation->ComPort]))
- {
- PortBase =
(PUCHAR)BaseArray[PortInformation->ComPort];
- ComPort = PortInformation->ComPort;
- PortInformation->BaseAddress = (ULONG)PortBase;
-#ifndef NDEBUG
- sprintf (buffer,
- "\nSerial port COM%ld found at
0x%lx\n",
- ComPort,
- (ULONG)PortBase);
- HalDisplayString (buffer);
-#endif /* NDEBUG */
- }
- else
- {
- sprintf (buffer,
- "\nKernel Debugger: No serial port
found!!!\n\n");
- HalDisplayString (buffer);
- return FALSE;
- }
- }
-
- PortInitialized = TRUE;
- }
-
- /*
- * set baud rate and data format (8N1)
- */
-
- /* turn on DTR and RTS */
- WRITE_PORT_UCHAR (SER_MCR(PortBase), SR_MCR_DTR | SR_MCR_RTS);
-
- /* set DLAB */
- lcr = READ_PORT_UCHAR (SER_LCR(PortBase)) | SR_LCR_DLAB;
- WRITE_PORT_UCHAR (SER_LCR(PortBase), lcr);
-
- /* set baud rate */
- divisor = 115200 / BaudRate;
- WRITE_PORT_UCHAR (SER_DLL(PortBase), (UCHAR)(divisor & 0xff));
- WRITE_PORT_UCHAR (SER_DLM(PortBase), (UCHAR)((divisor >> 8) & 0xff));
-
- /* reset DLAB and set 8N1 format */
- WRITE_PORT_UCHAR (SER_LCR(PortBase),
- SR_LCR_CS8 | SR_LCR_ST1 | SR_LCR_PNO);
-
- /* read junk out of the RBR */
- lcr = READ_PORT_UCHAR (SER_RBR(PortBase));
-
- /*
- * set global info
- */
- *KdComPortInUse = PortBase;
-
- /*
- * print message to blue screen
- */
- sprintf (buffer,
- "\nKernel Debugger: COM%ld (Port 0x%lx) BaudRate %ld\n\n",
- ComPort,
- (ULONG)PortBase,
- BaudRate);
-
- HalDisplayString (buffer);
-
- return TRUE;
-}
-
-
-/* HAL.KdPortInitializeEx */
-BOOLEAN
-STDCALL
-KdPortInitializeEx (
- PKD_PORT_INFORMATION PortInformation,
- ULONG Unknown1,
- ULONG Unknown2
- )
-{
- ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
- PUCHAR ComPortBase;
- char buffer[80];
- ULONG divisor;
- UCHAR lcr;
-
- if (PortInformation->BaudRate == 0)
- {
- PortInformation->BaudRate = DEFAULT_BAUD_RATE;
- }
-
- if (PortInformation->ComPort == 0)
- {
- return FALSE;
- }
- else
- {
- if (KdpDoesComPortExist ((PUCHAR)BaseArray[PortInformation->ComPort]))
- {
- ComPortBase = (PUCHAR)BaseArray[PortInformation->ComPort];
- PortInformation->BaseAddress = (ULONG)ComPortBase;
-#ifndef NDEBUG
- sprintf (buffer,
- "\nSerial port COM%ld found at 0x%lx\n",
- PortInformation->ComPort,
- (ULONG)ComPortBase];
- HalDisplayString (buffer);
-#endif /* NDEBUG */
- }
- else
- {
- sprintf (buffer,
- "\nKernel Debugger: Serial port not found!!!\n\n");
- HalDisplayString (buffer);
- return FALSE;
- }
- }
-
- /*
- * set baud rate and data format (8N1)
- */
-
- /* turn on DTR and RTS */
- WRITE_PORT_UCHAR (SER_MCR(ComPortBase), SR_MCR_DTR | SR_MCR_RTS);
-
- /* set DLAB */
- lcr = READ_PORT_UCHAR (SER_LCR(ComPortBase)) | SR_LCR_DLAB;
- WRITE_PORT_UCHAR (SER_LCR(ComPortBase), lcr);
-
- /* set baud rate */
- divisor = 115200 / PortInformation->BaudRate;
- WRITE_PORT_UCHAR (SER_DLL(ComPortBase), (UCHAR)(divisor & 0xff));
- WRITE_PORT_UCHAR (SER_DLM(ComPortBase), (UCHAR)((divisor >> 8) &
0xff));
-
- /* reset DLAB and set 8N1 format */
- WRITE_PORT_UCHAR (SER_LCR(ComPortBase),
- SR_LCR_CS8 | SR_LCR_ST1 | SR_LCR_PNO);
-
- /* read junk out of the RBR */
- lcr = READ_PORT_UCHAR (SER_RBR(ComPortBase));
-
-#ifndef NDEBUG
-
- /*
- * print message to blue screen
- */
- sprintf (buffer,
- "\nKernel Debugger: COM%ld (Port 0x%lx) BaudRate %ld\n\n",
- PortInformation->ComPort,
- (ULONG)ComPortBase,
- PortInformation->BaudRate);
-
- HalDisplayString (buffer);
-
-#endif /* NDEBUG */
-
- return TRUE;
-}
-
-
-/* HAL.KdPortGetByte */
-BOOLEAN
-STDCALL
-KdPortGetByte (
- PUCHAR ByteRecieved
- )
-{
- if (PortInitialized == FALSE)
- return FALSE;
-
- if ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_DR))
- {
- *ByteRecieved = READ_PORT_UCHAR (SER_RBR(PortBase));
- return TRUE;
- }
-
- return FALSE;
-}
-
-
-/* HAL.KdPortGetByteEx */
-BOOLEAN
-STDCALL
-KdPortGetByteEx (
- PKD_PORT_INFORMATION PortInformation,
- PUCHAR ByteRecieved
- )
-{
- PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
-
- if ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_DR))
- {
- *ByteRecieved = READ_PORT_UCHAR (SER_RBR(ComPortBase));
- return TRUE;
- }
-
- return FALSE;
-}
-
-
-/* HAL.KdPortPollByte */
-BOOLEAN
-STDCALL
-KdPortPollByte (
- PUCHAR ByteRecieved
- )
-{
- if (PortInitialized == FALSE)
- return FALSE;
-
- while ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_DR) == 0)
- ;
-
- *ByteRecieved = READ_PORT_UCHAR (SER_RBR(PortBase));
-
- return TRUE;
-}
-
-
-/* HAL.KdPortPollByteEx */
-BOOLEAN
-STDCALL
-KdPortPollByteEx (
- PKD_PORT_INFORMATION PortInformation,
- PUCHAR ByteRecieved
- )
-{
- PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
-
- while ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_DR) == 0)
- ;
-
- *ByteRecieved = READ_PORT_UCHAR (SER_RBR(ComPortBase));
-
- return TRUE;
-}
-
-
-
-
-/* HAL.KdPortPutByte */
-VOID
-STDCALL
-KdPortPutByte (
- UCHAR ByteToSend
- )
-{
- if (PortInitialized == FALSE)
- return;
-
- while ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_TBE) == 0)
- ;
-
- WRITE_PORT_UCHAR (SER_THR(PortBase), ByteToSend);
-}
-
-/* HAL.KdPortPutByteEx */
-VOID
-STDCALL
-KdPortPutByteEx (
- PKD_PORT_INFORMATION PortInformation,
- UCHAR ByteToSend
- )
-{
- PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
-
- while ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_TBE) == 0)
- ;
-
- WRITE_PORT_UCHAR (SER_THR(ComPortBase), ByteToSend);
-}
-
-
-/* HAL.KdPortRestore */
-VOID
-STDCALL
-KdPortRestore (
- VOID
- )
-{
-}
-
-
-/* HAL.KdPortSave */
-VOID
-STDCALL
-KdPortSave (
- VOID
- )
-{
-}
-
-
-/* HAL.KdPortDisableInterrupts */
-BOOLEAN
-STDCALL
-KdPortDisableInterrupts()
-{
- UCHAR ch;
-
- if (PortInitialized == FALSE)
- return FALSE;
-
- ch = READ_PORT_UCHAR (SER_MCR (PortBase));
- ch &= (~(SR_MCR_OUT1 | SR_MCR_OUT2));
- WRITE_PORT_UCHAR (SER_MCR (PortBase), ch);
-
- ch = READ_PORT_UCHAR (SER_IER (PortBase));
- ch &= (~SR_IER_ALL);
- WRITE_PORT_UCHAR (SER_IER (PortBase), ch);
-
- return TRUE;
-}
-
-
-/* HAL.KdPortEnableInterrupts */
-BOOLEAN
-STDCALL
-KdPortEnableInterrupts()
-{
- UCHAR ch;
-
- if (PortInitialized == FALSE)
- return FALSE;
-
- ch = READ_PORT_UCHAR (SER_IER (PortBase));
- ch &= (~SR_IER_ALL);
- ch |= SR_IER_ERDA;
- WRITE_PORT_UCHAR (SER_IER (PortBase), ch);
-
- ch = READ_PORT_UCHAR (SER_MCR (PortBase));
- ch &= (~SR_MCR_LOOP);
- ch |= (SR_MCR_OUT1 | SR_MCR_OUT2);
- WRITE_PORT_UCHAR (SER_MCR (PortBase), ch);
-
- return TRUE;
-}
-
-/*
- * @unimplemented
- */
-NTSTATUS
-NTAPI
-KdDebuggerInitialize0(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
-{
- /* FIXME: TODO */
- return STATUS_UNSUCCESSFUL;
-}
-
-/*
- * @unimplemented
- */
-NTSTATUS
-NTAPI
-KdDebuggerInitialize1(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
-{
- /* FIXME: TODO */
- return STATUS_UNSUCCESSFUL;
-}
-
-/*
- * @implemented
- */
-NTSTATUS
-NTAPI
-KdSave(IN BOOLEAN SleepTransition)
-{
- /* Nothing to do on COM ports */
- return STATUS_SUCCESS;
-}
-
-/*
- * @implemented
- */
-NTSTATUS
-NTAPI
-KdRestore(IN BOOLEAN SleepTransition)
-{
- /* Nothing to do on COM ports */
- return STATUS_SUCCESS;
-}
-
-/*
- * @unimplemented
- */
-VOID
-NTAPI
-KdSendPacket(IN USHORT PacketType,
- IN PSTRING Header,
- IN PSTRING Data OPTIONAL,
- OUT PKD_CONTEXT Context)
-{
- /* FIXME: TODO */
- return;
-}
-
-/*
- * @unimplemented
- */
-ULONG
-NTAPI
-KdReceivePacket(IN USHORT PacketType,
- OUT PSTRING Header,
- OUT PSTRING Data,
- OUT PUSHORT DataSize,
- OUT PKD_CONTEXT Context OPTIONAL)
-{
- /* FIXME: TODO */
- return 0;
-}
-
-/* EOF */
+/* $Id: kdbg.c 23670 2006-08-23 17:28:39Z ion $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: ntoskrnl/hal/x86/kdbg.c
+ * PURPOSE: Serial i/o functions for the kernel debugger.
+ * PROGRAMMER: Emanuele Aliberti
+ * Eric Kohl
+ * UPDATE HISTORY:
+ * Created 05/09/99
+ */
+
+/* INCLUDES *****************************************************************/
+
+#define NOEXTAPI
+#include <ntddk.h>
+#define NDEBUG
+#include <halfuncs.h>
+#include <stdio.h>
+#include <debug.h>
+#include "arc/arc.h"
+#include "windbgkd.h"
+
+typedef struct _KD_PORT_INFORMATION
+{
+ ULONG ComPort;
+ ULONG BaudRate;
+ ULONG BaseAddress;
+} KD_PORT_INFORMATION, *PKD_PORT_INFORMATION;
+
+#define DEFAULT_BAUD_RATE 19200
+
+
+/* MACROS *******************************************************************/
+
+#define SER_RBR(x) ((x)+0)
+#define SER_THR(x) ((x)+0)
+#define SER_DLL(x) ((x)+0)
+#define SER_IER(x) ((x)+1)
+#define SR_IER_ERDA 0x01
+#define SR_IER_ETHRE 0x02
+#define SR_IER_ERLSI 0x04
+#define SR_IER_EMS 0x08
+#define SR_IER_ALL 0x0F
+#define SER_DLM(x) ((x)+1)
+#define SER_IIR(x) ((x)+2)
+#define SER_FCR(x) ((x)+2)
+#define SR_FCR_ENABLE_FIFO 0x01
+#define SR_FCR_CLEAR_RCVR 0x02
+#define SR_FCR_CLEAR_XMIT 0x04
+#define SER_LCR(x) ((x)+3)
+#define SR_LCR_CS5 0x00
+#define SR_LCR_CS6 0x01
+#define SR_LCR_CS7 0x02
+#define SR_LCR_CS8 0x03
+#define SR_LCR_ST1 0x00
+#define SR_LCR_ST2 0x04
+#define SR_LCR_PNO 0x00
+#define SR_LCR_POD 0x08
+#define SR_LCR_PEV 0x18
+#define SR_LCR_PMK 0x28
+#define SR_LCR_PSP 0x38
+#define SR_LCR_BRK 0x40
+#define SR_LCR_DLAB 0x80
+#define SER_MCR(x) ((x)+4)
+#define SR_MCR_DTR 0x01
+#define SR_MCR_RTS 0x02
+#define SR_MCR_OUT1 0x04
+#define SR_MCR_OUT2 0x08
+#define SR_MCR_LOOP 0x10
+#define SER_LSR(x) ((x)+5)
+#define SR_LSR_DR 0x01
+#define SR_LSR_TBE 0x20
+#define SER_MSR(x) ((x)+6)
+#define SR_MSR_CTS 0x10
+#define SR_MSR_DSR 0x20
+#define SER_SCR(x) ((x)+7)
+
+
+/* GLOBAL VARIABLES *********************************************************/
+
+/* STATIC VARIABLES *********************************************************/
+
+static ULONG ComPort = 0;
+static ULONG BaudRate = 0;
+static PUCHAR PortBase = (PUCHAR)0;
+
+/* The com port must only be initialized once! */
+static BOOLEAN PortInitialized = FALSE;
+
+
+/* STATIC FUNCTIONS *********************************************************/
+
+static BOOLEAN
+KdpDoesComPortExist (PUCHAR BaseAddress)
+{
+ BOOLEAN found;
+ UCHAR mcr;
+ UCHAR msr;
+
+ found = FALSE;
+
+ /* save Modem Control Register (MCR) */
+ mcr = READ_PORT_UCHAR (SER_MCR(BaseAddress));
+
+ /* enable loop mode (set Bit 4 of the MCR) */
+ WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x10);
+
+ /* clear all modem output bits */
+ WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x10);
+
+ /* read the Modem Status Register */
+ msr = READ_PORT_UCHAR (SER_MSR(BaseAddress));
+
+ /*
+ * the upper nibble of the MSR (modem output bits) must be
+ * equal to the lower nibble of the MCR (modem input bits)
+ */
+ if ((msr & 0xF0) == 0x00)
+ {
+ /* set all modem output bits */
+ WRITE_PORT_UCHAR (SER_MCR(BaseAddress), 0x1F);
+
+ /* read the Modem Status Register */
+ msr = READ_PORT_UCHAR (SER_MSR(BaseAddress));
+
+ /*
+ * the upper nibble of the MSR (modem output bits) must be
+ * equal to the lower nibble of the MCR (modem input bits)
+ */
+ if ((msr & 0xF0) == 0xF0)
+ {
+ /*
+ * setup a resonable state for the port:
+ * enable fifo and clear recieve/transmit buffers
+ */
+ WRITE_PORT_UCHAR (SER_FCR(BaseAddress),
+ (SR_FCR_ENABLE_FIFO | SR_FCR_CLEAR_RCVR |
SR_FCR_CLEAR_XMIT));
+ WRITE_PORT_UCHAR (SER_FCR(BaseAddress), 0);
+ READ_PORT_UCHAR (SER_RBR(BaseAddress));
+ WRITE_PORT_UCHAR (SER_IER(BaseAddress), 0);
+ found = TRUE;
+ }
+ }
+
+ /* restore MCR */
+ WRITE_PORT_UCHAR (SER_MCR(BaseAddress), mcr);
+
+ return (found);
+}
+
+
+/* FUNCTIONS ****************************************************************/
+
+/* HAL.KdPortInitialize */
+BOOLEAN
+STDCALL
+KdPortInitialize (
+ PKD_PORT_INFORMATION PortInformation,
+ ULONG Unknown1,
+ ULONG Unknown2
+ )
+{
+ ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
+ char buffer[80];
+ ULONG divisor;
+ UCHAR lcr;
+
+ if (PortInitialized == FALSE)
+ {
+ if (PortInformation->BaudRate != 0)
+ {
+ BaudRate = PortInformation->BaudRate;
+ }
+ else
+ {
+ BaudRate = DEFAULT_BAUD_RATE;
+ }
+
+ if (PortInformation->ComPort == 0)
+ {
+ if (KdpDoesComPortExist ((PUCHAR)BaseArray[2]))
+ {
+ PortBase = (PUCHAR)BaseArray[2];
+ ComPort = 2;
+ PortInformation->BaseAddress = (ULONG)PortBase;
+ PortInformation->ComPort = ComPort;
+#ifndef NDEBUG
+ sprintf (buffer,
+ "\nSerial port COM%ld found at
0x%lx\n",
+ ComPort,
+ (ULONG)PortBase);
+ HalDisplayString (buffer);
+#endif /* NDEBUG */
+ }
+ else if (KdpDoesComPortExist ((PUCHAR)BaseArray[1]))
+ {
+ PortBase = (PUCHAR)BaseArray[1];
+ ComPort = 1;
+ PortInformation->BaseAddress = (ULONG)PortBase;
+ PortInformation->ComPort = ComPort;
+#ifndef NDEBUG
+ sprintf (buffer,
+ "\nSerial port COM%ld found at
0x%lx\n",
+ ComPort,
+ (ULONG)PortBase);
+ HalDisplayString (buffer);
+#endif /* NDEBUG */
+ }
+ else
+ {
+ sprintf (buffer,
+ "\nKernel Debugger: No COM port
found!!!\n\n");
+ HalDisplayString (buffer);
+ return FALSE;
+ }
+ }
+ else
+ {
+ if (KdpDoesComPortExist
((PUCHAR)BaseArray[PortInformation->ComPort]))
+ {
+ PortBase =
(PUCHAR)BaseArray[PortInformation->ComPort];
+ ComPort = PortInformation->ComPort;
+ PortInformation->BaseAddress = (ULONG)PortBase;
+#ifndef NDEBUG
+ sprintf (buffer,
+ "\nSerial port COM%ld found at
0x%lx\n",
+ ComPort,
+ (ULONG)PortBase);
+ HalDisplayString (buffer);
+#endif /* NDEBUG */
+ }
+ else
+ {
+ sprintf (buffer,
+ "\nKernel Debugger: No serial port
found!!!\n\n");
+ HalDisplayString (buffer);
+ return FALSE;
+ }
+ }
+
+ PortInitialized = TRUE;
+ }
+
+ /*
+ * set baud rate and data format (8N1)
+ */
+
+ /* turn on DTR and RTS */
+ WRITE_PORT_UCHAR (SER_MCR(PortBase), SR_MCR_DTR | SR_MCR_RTS);
+
+ /* set DLAB */
+ lcr = READ_PORT_UCHAR (SER_LCR(PortBase)) | SR_LCR_DLAB;
+ WRITE_PORT_UCHAR (SER_LCR(PortBase), lcr);
+
+ /* set baud rate */
+ divisor = 115200 / BaudRate;
+ WRITE_PORT_UCHAR (SER_DLL(PortBase), (UCHAR)(divisor & 0xff));
+ WRITE_PORT_UCHAR (SER_DLM(PortBase), (UCHAR)((divisor >> 8) & 0xff));
+
+ /* reset DLAB and set 8N1 format */
+ WRITE_PORT_UCHAR (SER_LCR(PortBase),
+ SR_LCR_CS8 | SR_LCR_ST1 | SR_LCR_PNO);
+
+ /* read junk out of the RBR */
+ lcr = READ_PORT_UCHAR (SER_RBR(PortBase));
+
+ /*
+ * set global info
+ */
+ *KdComPortInUse = PortBase;
+
+ /*
+ * print message to blue screen
+ */
+ sprintf (buffer,
+ "\nKernel Debugger: COM%ld (Port 0x%lx) BaudRate %ld\n\n",
+ ComPort,
+ (ULONG)PortBase,
+ BaudRate);
+
+ HalDisplayString (buffer);
+
+ return TRUE;
+}
+
+
+/* HAL.KdPortInitializeEx */
+BOOLEAN
+STDCALL
+KdPortInitializeEx (
+ PKD_PORT_INFORMATION PortInformation,
+ ULONG Unknown1,
+ ULONG Unknown2
+ )
+{
+ ULONG BaseArray[5] = {0, 0x3F8, 0x2F8, 0x3E8, 0x2E8};
+ PUCHAR ComPortBase;
+ char buffer[80];
+ ULONG divisor;
+ UCHAR lcr;
+
+ if (PortInformation->BaudRate == 0)
+ {
+ PortInformation->BaudRate = DEFAULT_BAUD_RATE;
+ }
+
+ if (PortInformation->ComPort == 0)
+ {
+ return FALSE;
+ }
+ else
+ {
+ if (KdpDoesComPortExist ((PUCHAR)BaseArray[PortInformation->ComPort]))
+ {
+ ComPortBase = (PUCHAR)BaseArray[PortInformation->ComPort];
+ PortInformation->BaseAddress = (ULONG)ComPortBase;
+#ifndef NDEBUG
+ sprintf (buffer,
+ "\nSerial port COM%ld found at 0x%lx\n",
+ PortInformation->ComPort,
+ (ULONG)ComPortBase];
+ HalDisplayString (buffer);
+#endif /* NDEBUG */
+ }
+ else
+ {
+ sprintf (buffer,
+ "\nKernel Debugger: Serial port not found!!!\n\n");
+ HalDisplayString (buffer);
+ return FALSE;
+ }
+ }
+
+ /*
+ * set baud rate and data format (8N1)
+ */
+
+ /* turn on DTR and RTS */
+ WRITE_PORT_UCHAR (SER_MCR(ComPortBase), SR_MCR_DTR | SR_MCR_RTS);
+
+ /* set DLAB */
+ lcr = READ_PORT_UCHAR (SER_LCR(ComPortBase)) | SR_LCR_DLAB;
+ WRITE_PORT_UCHAR (SER_LCR(ComPortBase), lcr);
+
+ /* set baud rate */
+ divisor = 115200 / PortInformation->BaudRate;
+ WRITE_PORT_UCHAR (SER_DLL(ComPortBase), (UCHAR)(divisor & 0xff));
+ WRITE_PORT_UCHAR (SER_DLM(ComPortBase), (UCHAR)((divisor >> 8) &
0xff));
+
+ /* reset DLAB and set 8N1 format */
+ WRITE_PORT_UCHAR (SER_LCR(ComPortBase),
+ SR_LCR_CS8 | SR_LCR_ST1 | SR_LCR_PNO);
+
+ /* read junk out of the RBR */
+ lcr = READ_PORT_UCHAR (SER_RBR(ComPortBase));
+
+#ifndef NDEBUG
+
+ /*
+ * print message to blue screen
+ */
+ sprintf (buffer,
+ "\nKernel Debugger: COM%ld (Port 0x%lx) BaudRate %ld\n\n",
+ PortInformation->ComPort,
+ (ULONG)ComPortBase,
+ PortInformation->BaudRate);
+
+ HalDisplayString (buffer);
+
+#endif /* NDEBUG */
+
+ return TRUE;
+}
+
+
+/* HAL.KdPortGetByte */
+BOOLEAN
+STDCALL
+KdPortGetByte (
+ PUCHAR ByteRecieved
+ )
+{
+ if (PortInitialized == FALSE)
+ return FALSE;
+
+ if ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_DR))
+ {
+ *ByteRecieved = READ_PORT_UCHAR (SER_RBR(PortBase));
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
+/* HAL.KdPortGetByteEx */
+BOOLEAN
+STDCALL
+KdPortGetByteEx (
+ PKD_PORT_INFORMATION PortInformation,
+ PUCHAR ByteRecieved
+ )
+{
+ PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
+
+ if ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_DR))
+ {
+ *ByteRecieved = READ_PORT_UCHAR (SER_RBR(ComPortBase));
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
+/* HAL.KdPortPollByte */
+BOOLEAN
+STDCALL
+KdPortPollByte (
+ PUCHAR ByteRecieved
+ )
+{
+ if (PortInitialized == FALSE)
+ return FALSE;
+
+ while ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_DR) == 0)
+ ;
+
+ *ByteRecieved = READ_PORT_UCHAR (SER_RBR(PortBase));
+
+ return TRUE;
+}
+
+
+/* HAL.KdPortPollByteEx */
+BOOLEAN
+STDCALL
+KdPortPollByteEx (
+ PKD_PORT_INFORMATION PortInformation,
+ PUCHAR ByteRecieved
+ )
+{
+ PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
+
+ while ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_DR) == 0)
+ ;
+
+ *ByteRecieved = READ_PORT_UCHAR (SER_RBR(ComPortBase));
+
+ return TRUE;
+}
+
+
+
+
+/* HAL.KdPortPutByte */
+VOID
+STDCALL
+KdPortPutByte (
+ UCHAR ByteToSend
+ )
+{
+ if (PortInitialized == FALSE)
+ return;
+
+ while ((READ_PORT_UCHAR (SER_LSR(PortBase)) & SR_LSR_TBE) == 0)
+ ;
+
+ WRITE_PORT_UCHAR (SER_THR(PortBase), ByteToSend);
+}
+
+/* HAL.KdPortPutByteEx */
+VOID
+STDCALL
+KdPortPutByteEx (
+ PKD_PORT_INFORMATION PortInformation,
+ UCHAR ByteToSend
+ )
+{
+ PUCHAR ComPortBase = (PUCHAR)PortInformation->BaseAddress;
+
+ while ((READ_PORT_UCHAR (SER_LSR(ComPortBase)) & SR_LSR_TBE) == 0)
+ ;
+
+ WRITE_PORT_UCHAR (SER_THR(ComPortBase), ByteToSend);
+}
+
+
+/* HAL.KdPortRestore */
+VOID
+STDCALL
+KdPortRestore (
+ VOID
+ )
+{
+}
+
+
+/* HAL.KdPortSave */
+VOID
+STDCALL
+KdPortSave (
+ VOID
+ )
+{
+}
+
+
+/* HAL.KdPortDisableInterrupts */
+BOOLEAN
+STDCALL
+KdPortDisableInterrupts()
+{
+ UCHAR ch;
+
+ if (PortInitialized == FALSE)
+ return FALSE;
+
+ ch = READ_PORT_UCHAR (SER_MCR (PortBase));
+ ch &= (~(SR_MCR_OUT1 | SR_MCR_OUT2));
+ WRITE_PORT_UCHAR (SER_MCR (PortBase), ch);
+
+ ch = READ_PORT_UCHAR (SER_IER (PortBase));
+ ch &= (~SR_IER_ALL);
+ WRITE_PORT_UCHAR (SER_IER (PortBase), ch);
+
+ return TRUE;
+}
+
+
+/* HAL.KdPortEnableInterrupts */
+BOOLEAN
+STDCALL
+KdPortEnableInterrupts()
+{
+ UCHAR ch;
+
+ if (PortInitialized == FALSE)
+ return FALSE;
+
+ ch = READ_PORT_UCHAR (SER_IER (PortBase));
+ ch &= (~SR_IER_ALL);
+ ch |= SR_IER_ERDA;
+ WRITE_PORT_UCHAR (SER_IER (PortBase), ch);
+
+ ch = READ_PORT_UCHAR (SER_MCR (PortBase));
+ ch &= (~SR_MCR_LOOP);
+ ch |= (SR_MCR_OUT1 | SR_MCR_OUT2);
+ WRITE_PORT_UCHAR (SER_MCR (PortBase), ch);
+
+ return TRUE;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+KdDebuggerInitialize0(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
+{
+ /* FIXME: TODO */
+ return STATUS_UNSUCCESSFUL;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+KdDebuggerInitialize1(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
+{
+ /* FIXME: TODO */
+ return STATUS_UNSUCCESSFUL;
+}
+
+/*
+ * @implemented
+ */
+NTSTATUS
+NTAPI
+KdSave(IN BOOLEAN SleepTransition)
+{
+ /* Nothing to do on COM ports */
+ return STATUS_SUCCESS;
+}
+
+/*
+ * @implemented
+ */
+NTSTATUS
+NTAPI
+KdRestore(IN BOOLEAN SleepTransition)
+{
+ /* Nothing to do on COM ports */
+ return STATUS_SUCCESS;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+KdSendPacket(IN USHORT PacketType,
+ IN PSTRING Header,
+ IN PSTRING Data OPTIONAL,
+ OUT PKD_CONTEXT Context)
+{
+ /* FIXME: TODO */
+ return;
+}
+
+/*
+ * @unimplemented
+ */
+ULONG
+NTAPI
+KdReceivePacket(IN USHORT PacketType,
+ OUT PSTRING Header,
+ OUT PSTRING Data,
+ OUT PUSHORT DataSize,
+ OUT PKD_CONTEXT Context OPTIONAL)
+{
+ /* FIXME: TODO */
+ return 0;
+}
+
+/* EOF */
Propchange: trunk/reactos/drivers/base/kdcom/kdbg.c
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/drivers/base/kdcom/kdcom.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/kdcom/kdcom.d…
==============================================================================
--- trunk/reactos/drivers/base/kdcom/kdcom.def (original)
+++ trunk/reactos/drivers/base/kdcom/kdcom.def Tue Oct 23 12:30:39 2007
@@ -1,24 +1,24 @@
-LIBRARY kdcom.dll
-EXPORTS
-
-; Old KD
-KdPortGetByte@4
-KdPortGetByteEx@8
-KdPortInitialize@12
-KdPortInitializeEx@12
-KdPortPollByte@4
-KdPortPollByteEx@8
-KdPortPutByte@4
-KdPortPutByteEx@8
-KdPortRestore@0
-KdPortSave@0
-KdPortDisableInterrupts@0
-KdPortEnableInterrupts@0
-
-; New KD
-KdDebuggerInitialize0@4
-KdDebuggerInitialize1@4
-KdSave@4
-KdRestore@4
-KdReceivePacket@20
-KdSendPacket@16
+LIBRARY kdcom.dll
+EXPORTS
+
+; Old KD
+KdPortGetByte@4
+KdPortGetByteEx@8
+KdPortInitialize@12
+KdPortInitializeEx@12
+KdPortPollByte@4
+KdPortPollByteEx@8
+KdPortPutByte@4
+KdPortPutByteEx@8
+KdPortRestore@0
+KdPortSave@0
+KdPortDisableInterrupts@0
+KdPortEnableInterrupts@0
+
+; New KD
+KdDebuggerInitialize0@4
+KdDebuggerInitialize1@4
+KdSave@4
+KdRestore@4
+KdReceivePacket@20
+KdSendPacket@16
Propchange: trunk/reactos/drivers/base/kdcom/kdcom.def
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/drivers/storage/scsiport/scsiport.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/scsiport/s…
==============================================================================
--- trunk/reactos/drivers/storage/scsiport/scsiport.c (original)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.c Tue Oct 23 12:30:39 2007
@@ -16,8 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id$
- *
+/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Storage Stack
* FILE: drivers/storage/scsiport/scsiport.c
Propchange: trunk/reactos/drivers/storage/scsiport/scsiport.c
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords (removed)
@@ -1,1 +1,0 @@
-author date id revision
Modified: trunk/reactos/drivers/storage/scsiport/scsiport.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/scsiport/s…
==============================================================================
--- trunk/reactos/drivers/storage/scsiport/scsiport.def (original)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.def Tue Oct 23 12:30:39 2007
@@ -1,4 +1,3 @@
-; $Id$
;
; scsiport.def - export definition file for scsiport driver
;
Propchange: trunk/reactos/drivers/storage/scsiport/scsiport.def
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords (removed)
@@ -1,1 +1,0 @@
-author date id revision
Modified: trunk/reactos/drivers/storage/scsiport/scsiport.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/scsiport/s…
==============================================================================
--- trunk/reactos/drivers/storage/scsiport/scsiport.rc (original)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.rc Tue Oct 23 12:30:39 2007
@@ -1,5 +1,3 @@
-/* $Id$ */
-
#define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "SCSI Port Driver\0"
#define REACTOS_STR_INTERNAL_NAME "scsiport\0"
Propchange: trunk/reactos/drivers/storage/scsiport/scsiport.rc
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords (removed)
@@ -1,1 +1,0 @@
-author date id revision
Propchange: trunk/reactos/drivers/storage/scsiport/scsiport_int.h
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords (removed)
@@ -1,1 +1,0 @@
-author date id revision