Revision: 19022
          http://sourceforge.net/p/edk2/code/19022
Author:   vanjeff
Date:     2015-11-30 03:20:39 +0000 (Mon, 30 Nov 2015)
Log Message:
-----------
OvmfPkg XenConsoleSerialPortLib: Implement Get(Set)Control/SetAttributes

(Sync patch r18972 from main trunk.)

Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>

Revision Links:
--------------
    http://sourceforge.net/p/edk2/code/18972

Modified Paths:
--------------
    
branches/UDK2015/OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.c

Modified: 
branches/UDK2015/OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.c
===================================================================
--- 
branches/UDK2015/OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.c
  2015-11-30 03:20:15 UTC (rev 19021)
+++ 
branches/UDK2015/OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.c
  2015-11-30 03:20:39 UTC (rev 19022)
@@ -2,6 +2,7 @@
   Xen console SerialPortLib instance
 
   Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
+  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
@@ -205,3 +206,97 @@
   return mXenConsoleInterface &&
     mXenConsoleInterface->in_cons != mXenConsoleInterface->in_prod;
 }
+
+/**
+  Sets the control bits on a serial device.
+
+  @param Control                Sets the bits of Control that are settable.
+
+  @retval RETURN_SUCCESS        The new control bits were set on the serial 
device.
+  @retval RETURN_UNSUPPORTED    The serial device does not support this 
operation.
+  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
+
+**/
+RETURN_STATUS
+EFIAPI
+SerialPortSetControl (
+  IN UINT32 Control
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+/**
+  Retrieve the status of the control bits on a serial device.
+
+  @param Control                A pointer to return the current control 
signals from the serial device.
+
+  @retval RETURN_SUCCESS        The control bits were read from the serial 
device.
+  @retval RETURN_UNSUPPORTED    The serial device does not support this 
operation.
+  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
+
+**/
+RETURN_STATUS
+EFIAPI
+SerialPortGetControl (
+  OUT UINT32 *Control
+  )
+{
+  if (!mXenConsoleInterface) {
+    return RETURN_UNSUPPORTED;
+  }
+
+  *Control = 0;
+  if (!SerialPortPoll ()) {
+    *Control = EFI_SERIAL_INPUT_BUFFER_EMPTY;
+  }
+  return RETURN_SUCCESS;
+}
+
+/**
+  Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
+  data bits, and stop bits on a serial device.
+
+  @param BaudRate           The requested baud rate. A BaudRate value of 0 
will use the
+                            device's default interface speed.
+                            On output, the value actually set.
+  @param ReveiveFifoDepth   The requested depth of the FIFO on the receive 
side of the
+                            serial interface. A ReceiveFifoDepth value of 0 
will use
+                            the device's default FIFO depth.
+                            On output, the value actually set.
+  @param Timeout            The requested time out for a single character in 
microseconds.
+                            This timeout applies to both the transmit and 
receive side of the
+                            interface. A Timeout value of 0 will use the 
device's default time
+                            out value.
+                            On output, the value actually set.
+  @param Parity             The type of parity to use on this serial device. A 
Parity value of
+                            DefaultParity will use the device's default parity 
value.
+                            On output, the value actually set.
+  @param DataBits           The number of data bits to use on the serial 
device. A DataBits
+                            vaule of 0 will use the device's default data bit 
setting.
+                            On output, the value actually set.
+  @param StopBits           The number of stop bits to use on this serial 
device. A StopBits
+                            value of DefaultStopBits will use the device's 
default number of
+                            stop bits.
+                            On output, the value actually set.
+
+  @retval RETURN_SUCCESS            The new attributes were set on the serial 
device.
+  @retval RETURN_UNSUPPORTED        The serial device does not support this 
operation.
+  @retval RETURN_INVALID_PARAMETER  One or more of the attributes has an 
unsupported value.
+  @retval RETURN_DEVICE_ERROR       The serial device is not functioning 
correctly.
+
+**/
+RETURN_STATUS
+EFIAPI
+SerialPortSetAttributes (
+  IN OUT UINT64             *BaudRate,
+  IN OUT UINT32             *ReceiveFifoDepth,
+  IN OUT UINT32             *Timeout,
+  IN OUT EFI_PARITY_TYPE    *Parity,
+  IN OUT UINT8              *DataBits,
+  IN OUT EFI_STOP_BITS_TYPE *StopBits
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to