/* If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT(). */
UINTN EFIAPI InternalBaseLibBitFieldOrUint(IN UINTN Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINTN OrData)
/* If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT(). */
UINTN EFIAPI InternalBaseLibBitFieldOrUint(IN UINTN Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINTN OrData)
{
  ASSERT ((OrData >> (EndBit - StartBit)) == ((OrData >> (EndBit - StartBit)) & 1));
  return Operand | ((OrData << StartBit) & ~((UINTN)-2 << EndBit));
}