On 2015/12/17 18:01, Ard Biesheuvel wrote:
C99 does not define left-shifting negative values, so make all
[positive] preprocessor constants unsigned explicitly, so they
do not become negative values after bitwise negation.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 44 ++++++++++----------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
index 5698e935b01f..6ed761544a8a 100644
--- a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
+++ b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
@@ -19,32 +19,32 @@
//---------------------------------------------
// UART Register Offsets
//---------------------------------------------
-#define BAUD_LOW_OFFSET 0x00
-#define BAUD_HIGH_OFFSET 0x01
-#define IER_OFFSET 0x01
-#define LCR_SHADOW_OFFSET 0x01
-#define FCR_SHADOW_OFFSET 0x02
-#define IR_CONTROL_OFFSET 0x02
-#define FCR_OFFSET 0x02
-#define EIR_OFFSET 0x02
-#define BSR_OFFSET 0x03
-#define LCR_OFFSET 0x03
-#define MCR_OFFSET 0x04
-#define LSR_OFFSET 0x05
-#define MSR_OFFSET 0x06
+#define BAUD_LOW_OFFSET 0x00U
+#define BAUD_HIGH_OFFSET 0x01U
+#define IER_OFFSET 0x01U
+#define LCR_SHADOW_OFFSET 0x01U
+#define FCR_SHADOW_OFFSET 0x02U
+#define IR_CONTROL_OFFSET 0x02U
+#define FCR_OFFSET 0x02U
+#define EIR_OFFSET 0x02U
+#define BSR_OFFSET 0x03U
+#define LCR_OFFSET 0x03U
+#define MCR_OFFSET 0x04U
+#define LSR_OFFSET 0x05U
+#define MSR_OFFSET 0x06U
//---------------------------------------------
// UART Register Bit Defines
//---------------------------------------------
-#define LSR_TXRDY 0x20
-#define LSR_RXDA 0x01
-#define DLAB 0x01
-#define MCR_DTRC 0x01
-#define MCR_RTS 0x02
-#define MSR_CTS 0x10
-#define MSR_DSR 0x20
-#define MSR_RI 0x40
-#define MSR_DCD 0x80
+#define LSR_TXRDY 0x20U
+#define LSR_RXDA 0x01U
+#define DLAB 0x01U
+#define MCR_DTRC 0x01U
+#define MCR_RTS 0x02U
+#define MSR_CTS 0x10U
+#define MSR_DSR 0x20U
+#define MSR_RI 0x40U
+#define MSR_DCD 0x80U
//---------------------------------------------
// UART Settings
Only DLAB is used to do left shift operation, how about to update the
code like below?
fa3084df7686fa7efe9b1373772eedee2e0111e8
PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
index 8656785..ab957d4 100644
--- a/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
+++ b/PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c
@@ -38,7 +38,7 @@
//---------------------------------------------
#define LSR_TXRDY 0x20
#define LSR_RXDA 0x01
-#define DLAB 0x01
+#define LCR_DLAB 0x80
#define MCR_DTRC 0x01
#define MCR_RTS 0x02
#define MSR_CTS 0x10
@@ -90,7 +90,7 @@ SerialPortInitialize (
//
// Set communications format
//
- OutputData = (UINT8) ((DLAB << 7) | (gBreakSet << 6) | (gParity << 3)
| (gStop << 2) | Data);
+ OutputData = (UINT8) (LCR_DLAB | (gBreakSet << 6) | (gParity << 3) |
(gStop << 2) | Data);
IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
//
@@ -102,7 +102,7 @@ SerialPortInitialize (
//
// Switch back to bank 0
//
- OutputData = (UINT8) ((~DLAB << 7) | (gBreakSet << 6) | (gParity <<
3) | (gStop << 2) | Data);
+ OutputData = (UINT8) ((gBreakSet << 6) | (gParity << 3) | (gStop <<
2) | Data);
IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
return RETURN_SUCCESS;
@@ -477,7 +477,7 @@ SerialPortSetAttributes (
//
// Set communications format
//
- OutputData = (UINT8) ((DLAB << 7) | (gBreakSet << 6) | (LcrParity <<
3) | (LcrStop << 2) | LcrData);
+ OutputData = (UINT8) (LCR_DLAB | (gBreakSet << 6) | (LcrParity << 3)
| (LcrStop << 2) | LcrData);
IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
//
@@ -489,7 +489,7 @@ SerialPortSetAttributes (
//
// Switch back to bank 0
//
- OutputData = (UINT8) ((~DLAB << 7) | (gBreakSet << 6) | (LcrParity <<
3) | (LcrStop << 2) | LcrData);
+ OutputData = (UINT8) ((gBreakSet << 6) | (LcrParity << 3) | (LcrStop
<< 2) | LcrData);
IoWrite8 ((UINTN) (gUartBase + LCR_OFFSET), OutputData);
return RETURN_SUCCESS;
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel