Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseIoLibIntrinsic/IoHighLevel.c
- Timestamp:
- Apr 14, 2023 3:17:44 PM (23 months ago)
- svn:sync-xref-src-repo-rev:
- 156854
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseIoLibIntrinsic/IoHighLevel.c
r80721 r99404 39 39 EFIAPI 40 40 IoOr8 ( 41 IN UINTN 42 IN UINT8 43 ) 44 { 45 return IoWrite8 (Port, (UINT8) 41 IN UINTN Port, 42 IN UINT8 OrData 43 ) 44 { 45 return IoWrite8 (Port, (UINT8)(IoRead8 (Port) | OrData)); 46 46 } 47 47 … … 67 67 EFIAPI 68 68 IoAnd8 ( 69 IN UINTN 70 IN UINT8 71 ) 72 { 73 return IoWrite8 (Port, (UINT8) 69 IN UINTN Port, 70 IN UINT8 AndData 71 ) 72 { 73 return IoWrite8 (Port, (UINT8)(IoRead8 (Port) & AndData)); 74 74 } 75 75 … … 97 97 EFIAPI 98 98 IoAndThenOr8 ( 99 IN UINTN 100 IN UINT8 101 IN UINT8 102 ) 103 { 104 return IoWrite8 (Port, (UINT8) 99 IN UINTN Port, 100 IN UINT8 AndData, 101 IN UINT8 OrData 102 ) 103 { 104 return IoWrite8 (Port, (UINT8)((IoRead8 (Port) & AndData) | OrData)); 105 105 } 106 106 … … 128 128 EFIAPI 129 129 IoBitFieldRead8 ( 130 IN UINTN 131 IN UINTN 132 IN UINTN 130 IN UINTN Port, 131 IN UINTN StartBit, 132 IN UINTN EndBit 133 133 ) 134 134 { … … 162 162 EFIAPI 163 163 IoBitFieldWrite8 ( 164 IN UINTN 165 IN UINTN 166 IN UINTN 167 IN UINT8 164 IN UINTN Port, 165 IN UINTN StartBit, 166 IN UINTN EndBit, 167 IN UINT8 Value 168 168 ) 169 169 { … … 203 203 EFIAPI 204 204 IoBitFieldOr8 ( 205 IN UINTN 206 IN UINTN 207 IN UINTN 208 IN UINT8 205 IN UINTN Port, 206 IN UINTN StartBit, 207 IN UINTN EndBit, 208 IN UINT8 OrData 209 209 ) 210 210 { … … 244 244 EFIAPI 245 245 IoBitFieldAnd8 ( 246 IN UINTN 247 IN UINTN 248 IN UINTN 249 IN UINT8 246 IN UINTN Port, 247 IN UINTN StartBit, 248 IN UINTN EndBit, 249 IN UINT8 AndData 250 250 ) 251 251 { … … 289 289 EFIAPI 290 290 IoBitFieldAndThenOr8 ( 291 IN UINTN 292 IN UINTN 293 IN UINTN 294 IN UINT8 295 IN UINT8 291 IN UINTN Port, 292 IN UINTN StartBit, 293 IN UINTN EndBit, 294 IN UINT8 AndData, 295 IN UINT8 OrData 296 296 ) 297 297 { … … 324 324 EFIAPI 325 325 IoOr16 ( 326 IN UINTN 327 IN UINT16 328 ) 329 { 330 return IoWrite16 (Port, (UINT16) 326 IN UINTN Port, 327 IN UINT16 OrData 328 ) 329 { 330 return IoWrite16 (Port, (UINT16)(IoRead16 (Port) | OrData)); 331 331 } 332 332 … … 353 353 EFIAPI 354 354 IoAnd16 ( 355 IN UINTN 356 IN UINT16 357 ) 358 { 359 return IoWrite16 (Port, (UINT16) 355 IN UINTN Port, 356 IN UINT16 AndData 357 ) 358 { 359 return IoWrite16 (Port, (UINT16)(IoRead16 (Port) & AndData)); 360 360 } 361 361 … … 384 384 EFIAPI 385 385 IoAndThenOr16 ( 386 IN UINTN 387 IN UINT16 388 IN UINT16 389 ) 390 { 391 return IoWrite16 (Port, (UINT16) 386 IN UINTN Port, 387 IN UINT16 AndData, 388 IN UINT16 OrData 389 ) 390 { 391 return IoWrite16 (Port, (UINT16)((IoRead16 (Port) & AndData) | OrData)); 392 392 } 393 393 … … 416 416 EFIAPI 417 417 IoBitFieldRead16 ( 418 IN UINTN 419 IN UINTN 420 IN UINTN 418 IN UINTN Port, 419 IN UINTN StartBit, 420 IN UINTN EndBit 421 421 ) 422 422 { … … 452 452 EFIAPI 453 453 IoBitFieldWrite16 ( 454 IN UINTN 455 IN UINTN 456 IN UINTN 457 IN UINT16 454 IN UINTN Port, 455 IN UINTN StartBit, 456 IN UINTN EndBit, 457 IN UINT16 Value 458 458 ) 459 459 { … … 494 494 EFIAPI 495 495 IoBitFieldOr16 ( 496 IN UINTN 497 IN UINTN 498 IN UINTN 499 IN UINT16 496 IN UINTN Port, 497 IN UINTN StartBit, 498 IN UINTN EndBit, 499 IN UINT16 OrData 500 500 ) 501 501 { … … 536 536 EFIAPI 537 537 IoBitFieldAnd16 ( 538 IN UINTN 539 IN UINTN 540 IN UINTN 541 IN UINT16 538 IN UINTN Port, 539 IN UINTN StartBit, 540 IN UINTN EndBit, 541 IN UINT16 AndData 542 542 ) 543 543 { … … 582 582 EFIAPI 583 583 IoBitFieldAndThenOr16 ( 584 IN UINTN 585 IN UINTN 586 IN UINTN 587 IN UINT16 588 IN UINT16 584 IN UINTN Port, 585 IN UINTN StartBit, 586 IN UINTN EndBit, 587 IN UINT16 AndData, 588 IN UINT16 OrData 589 589 ) 590 590 { … … 617 617 EFIAPI 618 618 IoOr32 ( 619 IN UINTN 620 IN UINT32 619 IN UINTN Port, 620 IN UINT32 OrData 621 621 ) 622 622 { … … 646 646 EFIAPI 647 647 IoAnd32 ( 648 IN UINTN 649 IN UINT32 648 IN UINTN Port, 649 IN UINT32 AndData 650 650 ) 651 651 { … … 677 677 EFIAPI 678 678 IoAndThenOr32 ( 679 IN UINTN 680 IN UINT32 681 IN UINT32 679 IN UINTN Port, 680 IN UINT32 AndData, 681 IN UINT32 OrData 682 682 ) 683 683 { … … 709 709 EFIAPI 710 710 IoBitFieldRead32 ( 711 IN UINTN 712 IN UINTN 713 IN UINTN 711 IN UINTN Port, 712 IN UINTN StartBit, 713 IN UINTN EndBit 714 714 ) 715 715 { … … 745 745 EFIAPI 746 746 IoBitFieldWrite32 ( 747 IN UINTN 748 IN UINTN 749 IN UINTN 750 IN UINT32 747 IN UINTN Port, 748 IN UINTN StartBit, 749 IN UINTN EndBit, 750 IN UINT32 Value 751 751 ) 752 752 { … … 787 787 EFIAPI 788 788 IoBitFieldOr32 ( 789 IN UINTN 790 IN UINTN 791 IN UINTN 792 IN UINT32 789 IN UINTN Port, 790 IN UINTN StartBit, 791 IN UINTN EndBit, 792 IN UINT32 OrData 793 793 ) 794 794 { … … 829 829 EFIAPI 830 830 IoBitFieldAnd32 ( 831 IN UINTN 832 IN UINTN 833 IN UINTN 834 IN UINT32 831 IN UINTN Port, 832 IN UINTN StartBit, 833 IN UINTN EndBit, 834 IN UINT32 AndData 835 835 ) 836 836 { … … 875 875 EFIAPI 876 876 IoBitFieldAndThenOr32 ( 877 IN UINTN 878 IN UINTN 879 IN UINTN 880 IN UINT32 881 IN UINT32 877 IN UINTN Port, 878 IN UINTN StartBit, 879 IN UINTN EndBit, 880 IN UINT32 AndData, 881 IN UINT32 OrData 882 882 ) 883 883 { … … 910 910 EFIAPI 911 911 IoOr64 ( 912 IN UINTN 913 IN UINT64 912 IN UINTN Port, 913 IN UINT64 OrData 914 914 ) 915 915 { … … 939 939 EFIAPI 940 940 IoAnd64 ( 941 IN UINTN 942 IN UINT64 941 IN UINTN Port, 942 IN UINT64 AndData 943 943 ) 944 944 { … … 970 970 EFIAPI 971 971 IoAndThenOr64 ( 972 IN UINTN 973 IN UINT64 974 IN UINT64 972 IN UINTN Port, 973 IN UINT64 AndData, 974 IN UINT64 OrData 975 975 ) 976 976 { … … 1002 1002 EFIAPI 1003 1003 IoBitFieldRead64 ( 1004 IN UINTN 1005 IN UINTN 1006 IN UINTN 1004 IN UINTN Port, 1005 IN UINTN StartBit, 1006 IN UINTN EndBit 1007 1007 ) 1008 1008 { … … 1038 1038 EFIAPI 1039 1039 IoBitFieldWrite64 ( 1040 IN UINTN 1041 IN UINTN 1042 IN UINTN 1043 IN UINT64 1040 IN UINTN Port, 1041 IN UINTN StartBit, 1042 IN UINTN EndBit, 1043 IN UINT64 Value 1044 1044 ) 1045 1045 { … … 1080 1080 EFIAPI 1081 1081 IoBitFieldOr64 ( 1082 IN UINTN 1083 IN UINTN 1084 IN UINTN 1085 IN UINT64 1082 IN UINTN Port, 1083 IN UINTN StartBit, 1084 IN UINTN EndBit, 1085 IN UINT64 OrData 1086 1086 ) 1087 1087 { … … 1122 1122 EFIAPI 1123 1123 IoBitFieldAnd64 ( 1124 IN UINTN 1125 IN UINTN 1126 IN UINTN 1127 IN UINT64 1124 IN UINTN Port, 1125 IN UINTN StartBit, 1126 IN UINTN EndBit, 1127 IN UINT64 AndData 1128 1128 ) 1129 1129 { … … 1168 1168 EFIAPI 1169 1169 IoBitFieldAndThenOr64 ( 1170 IN UINTN 1171 IN UINTN 1172 IN UINTN 1173 IN UINT64 1174 IN UINT64 1170 IN UINTN Port, 1171 IN UINTN StartBit, 1172 IN UINTN EndBit, 1173 IN UINT64 AndData, 1174 IN UINT64 OrData 1175 1175 ) 1176 1176 { … … 1202 1202 EFIAPI 1203 1203 MmioOr8 ( 1204 IN UINTN 1205 IN UINT8 1206 ) 1207 { 1208 return MmioWrite8 (Address, (UINT8) 1204 IN UINTN Address, 1205 IN UINT8 OrData 1206 ) 1207 { 1208 return MmioWrite8 (Address, (UINT8)(MmioRead8 (Address) | OrData)); 1209 1209 } 1210 1210 … … 1230 1230 EFIAPI 1231 1231 MmioAnd8 ( 1232 IN UINTN 1233 IN UINT8 1234 ) 1235 { 1236 return MmioWrite8 (Address, (UINT8) 1232 IN UINTN Address, 1233 IN UINT8 AndData 1234 ) 1235 { 1236 return MmioWrite8 (Address, (UINT8)(MmioRead8 (Address) & AndData)); 1237 1237 } 1238 1238 … … 1261 1261 EFIAPI 1262 1262 MmioAndThenOr8 ( 1263 IN UINTN 1264 IN UINT8 1265 IN UINT8 1266 ) 1267 { 1268 return MmioWrite8 (Address, (UINT8) 1263 IN UINTN Address, 1264 IN UINT8 AndData, 1265 IN UINT8 OrData 1266 ) 1267 { 1268 return MmioWrite8 (Address, (UINT8)((MmioRead8 (Address) & AndData) | OrData)); 1269 1269 } 1270 1270 … … 1292 1292 EFIAPI 1293 1293 MmioBitFieldRead8 ( 1294 IN UINTN 1295 IN UINTN 1296 IN UINTN 1294 IN UINTN Address, 1295 IN UINTN StartBit, 1296 IN UINTN EndBit 1297 1297 ) 1298 1298 { … … 1326 1326 EFIAPI 1327 1327 MmioBitFieldWrite8 ( 1328 IN UINTN 1329 IN UINTN 1330 IN UINTN 1331 IN UINT8 1328 IN UINTN Address, 1329 IN UINTN StartBit, 1330 IN UINTN EndBit, 1331 IN UINT8 Value 1332 1332 ) 1333 1333 { … … 1368 1368 EFIAPI 1369 1369 MmioBitFieldOr8 ( 1370 IN UINTN 1371 IN UINTN 1372 IN UINTN 1373 IN UINT8 1370 IN UINTN Address, 1371 IN UINTN StartBit, 1372 IN UINTN EndBit, 1373 IN UINT8 OrData 1374 1374 ) 1375 1375 { … … 1410 1410 EFIAPI 1411 1411 MmioBitFieldAnd8 ( 1412 IN UINTN 1413 IN UINTN 1414 IN UINTN 1415 IN UINT8 1412 IN UINTN Address, 1413 IN UINTN StartBit, 1414 IN UINTN EndBit, 1415 IN UINT8 AndData 1416 1416 ) 1417 1417 { … … 1455 1455 EFIAPI 1456 1456 MmioBitFieldAndThenOr8 ( 1457 IN UINTN 1458 IN UINTN 1459 IN UINTN 1460 IN UINT8 1461 IN UINT8 1457 IN UINTN Address, 1458 IN UINTN StartBit, 1459 IN UINTN EndBit, 1460 IN UINT8 AndData, 1461 IN UINT8 OrData 1462 1462 ) 1463 1463 { … … 1490 1490 EFIAPI 1491 1491 MmioOr16 ( 1492 IN UINTN 1493 IN UINT16 1494 ) 1495 { 1496 return MmioWrite16 (Address, (UINT16) 1492 IN UINTN Address, 1493 IN UINT16 OrData 1494 ) 1495 { 1496 return MmioWrite16 (Address, (UINT16)(MmioRead16 (Address) | OrData)); 1497 1497 } 1498 1498 … … 1519 1519 EFIAPI 1520 1520 MmioAnd16 ( 1521 IN UINTN 1522 IN UINT16 1523 ) 1524 { 1525 return MmioWrite16 (Address, (UINT16) 1521 IN UINTN Address, 1522 IN UINT16 AndData 1523 ) 1524 { 1525 return MmioWrite16 (Address, (UINT16)(MmioRead16 (Address) & AndData)); 1526 1526 } 1527 1527 … … 1550 1550 EFIAPI 1551 1551 MmioAndThenOr16 ( 1552 IN UINTN 1553 IN UINT16 1554 IN UINT16 1555 ) 1556 { 1557 return MmioWrite16 (Address, (UINT16) 1552 IN UINTN Address, 1553 IN UINT16 AndData, 1554 IN UINT16 OrData 1555 ) 1556 { 1557 return MmioWrite16 (Address, (UINT16)((MmioRead16 (Address) & AndData) | OrData)); 1558 1558 } 1559 1559 … … 1582 1582 EFIAPI 1583 1583 MmioBitFieldRead16 ( 1584 IN UINTN 1585 IN UINTN 1586 IN UINTN 1584 IN UINTN Address, 1585 IN UINTN StartBit, 1586 IN UINTN EndBit 1587 1587 ) 1588 1588 { … … 1617 1617 EFIAPI 1618 1618 MmioBitFieldWrite16 ( 1619 IN UINTN 1620 IN UINTN 1621 IN UINTN 1622 IN UINT16 1619 IN UINTN Address, 1620 IN UINTN StartBit, 1621 IN UINTN EndBit, 1622 IN UINT16 Value 1623 1623 ) 1624 1624 { … … 1660 1660 EFIAPI 1661 1661 MmioBitFieldOr16 ( 1662 IN UINTN 1663 IN UINTN 1664 IN UINTN 1665 IN UINT16 1662 IN UINTN Address, 1663 IN UINTN StartBit, 1664 IN UINTN EndBit, 1665 IN UINT16 OrData 1666 1666 ) 1667 1667 { … … 1703 1703 EFIAPI 1704 1704 MmioBitFieldAnd16 ( 1705 IN UINTN 1706 IN UINTN 1707 IN UINTN 1708 IN UINT16 1705 IN UINTN Address, 1706 IN UINTN StartBit, 1707 IN UINTN EndBit, 1708 IN UINT16 AndData 1709 1709 ) 1710 1710 { … … 1749 1749 EFIAPI 1750 1750 MmioBitFieldAndThenOr16 ( 1751 IN UINTN 1752 IN UINTN 1753 IN UINTN 1754 IN UINT16 1755 IN UINT16 1751 IN UINTN Address, 1752 IN UINTN StartBit, 1753 IN UINTN EndBit, 1754 IN UINT16 AndData, 1755 IN UINT16 OrData 1756 1756 ) 1757 1757 { … … 1784 1784 EFIAPI 1785 1785 MmioOr32 ( 1786 IN UINTN 1787 IN UINT32 1786 IN UINTN Address, 1787 IN UINT32 OrData 1788 1788 ) 1789 1789 { … … 1813 1813 EFIAPI 1814 1814 MmioAnd32 ( 1815 IN UINTN 1816 IN UINT32 1815 IN UINTN Address, 1816 IN UINT32 AndData 1817 1817 ) 1818 1818 { … … 1844 1844 EFIAPI 1845 1845 MmioAndThenOr32 ( 1846 IN UINTN 1847 IN UINT32 1848 IN UINT32 1846 IN UINTN Address, 1847 IN UINT32 AndData, 1848 IN UINT32 OrData 1849 1849 ) 1850 1850 { … … 1876 1876 EFIAPI 1877 1877 MmioBitFieldRead32 ( 1878 IN UINTN 1879 IN UINTN 1880 IN UINTN 1878 IN UINTN Address, 1879 IN UINTN StartBit, 1880 IN UINTN EndBit 1881 1881 ) 1882 1882 { … … 1911 1911 EFIAPI 1912 1912 MmioBitFieldWrite32 ( 1913 IN UINTN 1914 IN UINTN 1915 IN UINTN 1916 IN UINT32 1913 IN UINTN Address, 1914 IN UINTN StartBit, 1915 IN UINTN EndBit, 1916 IN UINT32 Value 1917 1917 ) 1918 1918 { … … 1954 1954 EFIAPI 1955 1955 MmioBitFieldOr32 ( 1956 IN UINTN 1957 IN UINTN 1958 IN UINTN 1959 IN UINT32 1956 IN UINTN Address, 1957 IN UINTN StartBit, 1958 IN UINTN EndBit, 1959 IN UINT32 OrData 1960 1960 ) 1961 1961 { … … 1997 1997 EFIAPI 1998 1998 MmioBitFieldAnd32 ( 1999 IN UINTN 2000 IN UINTN 2001 IN UINTN 2002 IN UINT32 1999 IN UINTN Address, 2000 IN UINTN StartBit, 2001 IN UINTN EndBit, 2002 IN UINT32 AndData 2003 2003 ) 2004 2004 { … … 2043 2043 EFIAPI 2044 2044 MmioBitFieldAndThenOr32 ( 2045 IN UINTN 2046 IN UINTN 2047 IN UINTN 2048 IN UINT32 2049 IN UINT32 2045 IN UINTN Address, 2046 IN UINTN StartBit, 2047 IN UINTN EndBit, 2048 IN UINT32 AndData, 2049 IN UINT32 OrData 2050 2050 ) 2051 2051 { … … 2078 2078 EFIAPI 2079 2079 MmioOr64 ( 2080 IN UINTN 2081 IN UINT64 2080 IN UINTN Address, 2081 IN UINT64 OrData 2082 2082 ) 2083 2083 { … … 2107 2107 EFIAPI 2108 2108 MmioAnd64 ( 2109 IN UINTN 2110 IN UINT64 2109 IN UINTN Address, 2110 IN UINT64 AndData 2111 2111 ) 2112 2112 { … … 2138 2138 EFIAPI 2139 2139 MmioAndThenOr64 ( 2140 IN UINTN 2141 IN UINT64 2142 IN UINT64 2140 IN UINTN Address, 2141 IN UINT64 AndData, 2142 IN UINT64 OrData 2143 2143 ) 2144 2144 { … … 2170 2170 EFIAPI 2171 2171 MmioBitFieldRead64 ( 2172 IN UINTN 2173 IN UINTN 2174 IN UINTN 2172 IN UINTN Address, 2173 IN UINTN StartBit, 2174 IN UINTN EndBit 2175 2175 ) 2176 2176 { … … 2205 2205 EFIAPI 2206 2206 MmioBitFieldWrite64 ( 2207 IN UINTN 2208 IN UINTN 2209 IN UINTN 2210 IN UINT64 2207 IN UINTN Address, 2208 IN UINTN StartBit, 2209 IN UINTN EndBit, 2210 IN UINT64 Value 2211 2211 ) 2212 2212 { … … 2248 2248 EFIAPI 2249 2249 MmioBitFieldOr64 ( 2250 IN UINTN 2251 IN UINTN 2252 IN UINTN 2253 IN UINT64 2250 IN UINTN Address, 2251 IN UINTN StartBit, 2252 IN UINTN EndBit, 2253 IN UINT64 OrData 2254 2254 ) 2255 2255 { … … 2291 2291 EFIAPI 2292 2292 MmioBitFieldAnd64 ( 2293 IN UINTN 2294 IN UINTN 2295 IN UINTN 2296 IN UINT64 2293 IN UINTN Address, 2294 IN UINTN StartBit, 2295 IN UINTN EndBit, 2296 IN UINT64 AndData 2297 2297 ) 2298 2298 { … … 2337 2337 EFIAPI 2338 2338 MmioBitFieldAndThenOr64 ( 2339 IN UINTN 2340 IN UINTN 2341 IN UINTN 2342 IN UINT64 2343 IN UINT64 2339 IN UINTN Address, 2340 IN UINTN StartBit, 2341 IN UINTN EndBit, 2342 IN UINT64 AndData, 2343 IN UINT64 OrData 2344 2344 ) 2345 2345 {
Note:
See TracChangeset
for help on using the changeset viewer.