TianoCore EDK2 master
Loading...
Searching...
No Matches
S3IoLib.c
Go to the documentation of this file.
1
11#include <Base.h>
12
13#include <Library/S3IoLib.h>
14#include <Library/DebugLib.h>
15#include <Library/IoLib.h>
17
31VOID
34 IN UINTN Port,
35 IN VOID *Buffer
36 )
37{
38 RETURN_STATUS Status;
39
41 Width,
42 Port,
43 1,
44 Buffer
45 );
46 ASSERT (Status == RETURN_SUCCESS);
47}
48
63UINT8
65 IN UINTN Port,
66 IN UINT8 Value
67 )
68{
70
71 return Value;
72}
73
89UINT8
90EFIAPI
92 IN UINTN Port
93 )
94{
96}
97
114UINT8
115EFIAPI
117 IN UINTN Port,
118 IN UINT8 Value
119 )
120{
121 return InternalSaveIoWrite8ValueToBootScript (Port, IoWrite8 (Port, Value));
122}
123
143UINT8
144EFIAPI
146 IN UINTN Port,
147 IN UINT8 OrData
148 )
149{
150 return InternalSaveIoWrite8ValueToBootScript (Port, IoOr8 (Port, OrData));
151}
152
172UINT8
173EFIAPI
175 IN UINTN Port,
176 IN UINT8 AndData
177 )
178{
179 return InternalSaveIoWrite8ValueToBootScript (Port, IoAnd8 (Port, AndData));
180}
181
203UINT8
204EFIAPI
206 IN UINTN Port,
207 IN UINT8 AndData,
208 IN UINT8 OrData
209 )
210{
211 return InternalSaveIoWrite8ValueToBootScript (Port, IoAndThenOr8 (Port, AndData, OrData));
212}
213
235UINT8
236EFIAPI
238 IN UINTN Port,
239 IN UINTN StartBit,
240 IN UINTN EndBit
241 )
242{
243 return InternalSaveIoWrite8ValueToBootScript (Port, IoBitFieldRead8 (Port, StartBit, EndBit));
244}
245
271UINT8
272EFIAPI
274 IN UINTN Port,
275 IN UINTN StartBit,
276 IN UINTN EndBit,
277 IN UINT8 Value
278 )
279{
280 return InternalSaveIoWrite8ValueToBootScript (Port, IoBitFieldWrite8 (Port, StartBit, EndBit, Value));
281}
282
310UINT8
311EFIAPI
313 IN UINTN Port,
314 IN UINTN StartBit,
315 IN UINTN EndBit,
316 IN UINT8 OrData
317 )
318{
319 return InternalSaveIoWrite8ValueToBootScript (Port, IoBitFieldOr8 (Port, StartBit, EndBit, OrData));
320}
321
349UINT8
350EFIAPI
352 IN UINTN Port,
353 IN UINTN StartBit,
354 IN UINTN EndBit,
355 IN UINT8 AndData
356 )
357{
358 return InternalSaveIoWrite8ValueToBootScript (Port, IoBitFieldAnd8 (Port, StartBit, EndBit, AndData));
359}
360
391UINT8
392EFIAPI
394 IN UINTN Port,
395 IN UINTN StartBit,
396 IN UINTN EndBit,
397 IN UINT8 AndData,
398 IN UINT8 OrData
399 )
400{
401 return InternalSaveIoWrite8ValueToBootScript (Port, IoBitFieldAndThenOr8 (Port, StartBit, EndBit, AndData, OrData));
402}
403
418UINT16
420 IN UINTN Port,
421 IN UINT16 Value
422 )
423{
425
426 return Value;
427}
428
444UINT16
445EFIAPI
447 IN UINTN Port
448 )
449{
451}
452
469UINT16
470EFIAPI
472 IN UINTN Port,
473 IN UINT16 Value
474 )
475{
476 return InternalSaveIoWrite16ValueToBootScript (Port, IoWrite16 (Port, Value));
477}
478
498UINT16
499EFIAPI
501 IN UINTN Port,
502 IN UINT16 OrData
503 )
504{
505 return InternalSaveIoWrite16ValueToBootScript (Port, IoOr16 (Port, OrData));
506}
507
527UINT16
528EFIAPI
530 IN UINTN Port,
531 IN UINT16 AndData
532 )
533{
534 return InternalSaveIoWrite16ValueToBootScript (Port, IoAnd16 (Port, AndData));
535}
536
558UINT16
559EFIAPI
561 IN UINTN Port,
562 IN UINT16 AndData,
563 IN UINT16 OrData
564 )
565{
566 return InternalSaveIoWrite16ValueToBootScript (Port, IoAndThenOr16 (Port, AndData, OrData));
567}
568
590UINT16
591EFIAPI
593 IN UINTN Port,
594 IN UINTN StartBit,
595 IN UINTN EndBit
596 )
597{
598 return InternalSaveIoWrite16ValueToBootScript (Port, IoBitFieldRead16 (Port, StartBit, EndBit));
599}
600
626UINT16
627EFIAPI
629 IN UINTN Port,
630 IN UINTN StartBit,
631 IN UINTN EndBit,
632 IN UINT16 Value
633 )
634{
635 return InternalSaveIoWrite16ValueToBootScript (Port, IoBitFieldWrite16 (Port, StartBit, EndBit, Value));
636}
637
665UINT16
666EFIAPI
668 IN UINTN Port,
669 IN UINTN StartBit,
670 IN UINTN EndBit,
671 IN UINT16 OrData
672 )
673{
674 return InternalSaveIoWrite16ValueToBootScript (Port, IoBitFieldOr16 (Port, StartBit, EndBit, OrData));
675}
676
704UINT16
705EFIAPI
707 IN UINTN Port,
708 IN UINTN StartBit,
709 IN UINTN EndBit,
710 IN UINT16 AndData
711 )
712{
713 return InternalSaveIoWrite16ValueToBootScript (Port, IoBitFieldAnd16 (Port, StartBit, EndBit, AndData));
714}
715
747UINT16
748EFIAPI
750 IN UINTN Port,
751 IN UINTN StartBit,
752 IN UINTN EndBit,
753 IN UINT16 AndData,
754 IN UINT16 OrData
755 )
756{
757 return InternalSaveIoWrite16ValueToBootScript (Port, IoBitFieldAndThenOr16 (Port, StartBit, EndBit, AndData, OrData));
758}
759
774UINT32
776 IN UINTN Port,
777 IN UINT32 Value
778 )
779{
781
782 return Value;
783}
784
800UINT32
801EFIAPI
803 IN UINTN Port
804 )
805{
807}
808
825UINT32
826EFIAPI
828 IN UINTN Port,
829 IN UINT32 Value
830 )
831{
832 return InternalSaveIoWrite32ValueToBootScript (Port, IoWrite32 (Port, Value));
833}
834
854UINT32
855EFIAPI
857 IN UINTN Port,
858 IN UINT32 OrData
859 )
860{
861 return InternalSaveIoWrite32ValueToBootScript (Port, IoOr32 (Port, OrData));
862}
863
883UINT32
884EFIAPI
886 IN UINTN Port,
887 IN UINT32 AndData
888 )
889{
890 return InternalSaveIoWrite32ValueToBootScript (Port, IoAnd32 (Port, AndData));
891}
892
914UINT32
915EFIAPI
917 IN UINTN Port,
918 IN UINT32 AndData,
919 IN UINT32 OrData
920 )
921{
922 return InternalSaveIoWrite32ValueToBootScript (Port, IoAndThenOr32 (Port, AndData, OrData));
923}
924
946UINT32
947EFIAPI
949 IN UINTN Port,
950 IN UINTN StartBit,
951 IN UINTN EndBit
952 )
953{
954 return InternalSaveIoWrite32ValueToBootScript (Port, IoBitFieldRead32 (Port, StartBit, EndBit));
955}
956
982UINT32
983EFIAPI
985 IN UINTN Port,
986 IN UINTN StartBit,
987 IN UINTN EndBit,
988 IN UINT32 Value
989 )
990{
991 return InternalSaveIoWrite32ValueToBootScript (Port, IoBitFieldWrite32 (Port, StartBit, EndBit, Value));
992}
993
1021UINT32
1022EFIAPI
1024 IN UINTN Port,
1025 IN UINTN StartBit,
1026 IN UINTN EndBit,
1027 IN UINT32 OrData
1028 )
1029{
1030 return InternalSaveIoWrite32ValueToBootScript (Port, IoBitFieldOr32 (Port, StartBit, EndBit, OrData));
1031}
1032
1060UINT32
1061EFIAPI
1063 IN UINTN Port,
1064 IN UINTN StartBit,
1065 IN UINTN EndBit,
1066 IN UINT32 AndData
1067 )
1068{
1069 return InternalSaveIoWrite32ValueToBootScript (Port, IoBitFieldAnd32 (Port, StartBit, EndBit, AndData));
1070}
1071
1103UINT32
1104EFIAPI
1106 IN UINTN Port,
1107 IN UINTN StartBit,
1108 IN UINTN EndBit,
1109 IN UINT32 AndData,
1110 IN UINT32 OrData
1111 )
1112{
1113 return InternalSaveIoWrite32ValueToBootScript (Port, IoBitFieldAndThenOr32 (Port, StartBit, EndBit, AndData, OrData));
1114}
1115
1130UINT64
1132 IN UINTN Port,
1133 IN UINT64 Value
1134 )
1135{
1137
1138 return Value;
1139}
1140
1156UINT64
1157EFIAPI
1159 IN UINTN Port
1160 )
1161{
1163}
1164
1181UINT64
1182EFIAPI
1184 IN UINTN Port,
1185 IN UINT64 Value
1186 )
1187{
1188 return InternalSaveIoWrite64ValueToBootScript (Port, IoWrite64 (Port, Value));
1189}
1190
1210UINT64
1211EFIAPI
1213 IN UINTN Port,
1214 IN UINT64 OrData
1215 )
1216{
1217 return InternalSaveIoWrite64ValueToBootScript (Port, IoOr64 (Port, OrData));
1218}
1219
1239UINT64
1240EFIAPI
1242 IN UINTN Port,
1243 IN UINT64 AndData
1244 )
1245{
1246 return InternalSaveIoWrite64ValueToBootScript (Port, IoAnd64 (Port, AndData));
1247}
1248
1270UINT64
1271EFIAPI
1273 IN UINTN Port,
1274 IN UINT64 AndData,
1275 IN UINT64 OrData
1276 )
1277{
1278 return InternalSaveIoWrite64ValueToBootScript (Port, IoAndThenOr64 (Port, AndData, OrData));
1279}
1280
1302UINT64
1303EFIAPI
1305 IN UINTN Port,
1306 IN UINTN StartBit,
1307 IN UINTN EndBit
1308 )
1309{
1310 return InternalSaveIoWrite64ValueToBootScript (Port, IoBitFieldRead64 (Port, StartBit, EndBit));
1311}
1312
1338UINT64
1339EFIAPI
1341 IN UINTN Port,
1342 IN UINTN StartBit,
1343 IN UINTN EndBit,
1344 IN UINT64 Value
1345 )
1346{
1347 return InternalSaveIoWrite64ValueToBootScript (Port, IoBitFieldWrite64 (Port, StartBit, EndBit, Value));
1348}
1349
1377UINT64
1378EFIAPI
1380 IN UINTN Port,
1381 IN UINTN StartBit,
1382 IN UINTN EndBit,
1383 IN UINT64 OrData
1384 )
1385{
1386 return InternalSaveIoWrite64ValueToBootScript (Port, IoBitFieldOr64 (Port, StartBit, EndBit, OrData));
1387}
1388
1416UINT64
1417EFIAPI
1419 IN UINTN Port,
1420 IN UINTN StartBit,
1421 IN UINTN EndBit,
1422 IN UINT64 AndData
1423 )
1424{
1425 return InternalSaveIoWrite64ValueToBootScript (Port, IoBitFieldAnd64 (Port, StartBit, EndBit, AndData));
1426}
1427
1459UINT64
1460EFIAPI
1462 IN UINTN Port,
1463 IN UINTN StartBit,
1464 IN UINTN EndBit,
1465 IN UINT64 AndData,
1466 IN UINT64 OrData
1467 )
1468{
1469 return InternalSaveIoWrite64ValueToBootScript (Port, IoBitFieldAndThenOr64 (Port, StartBit, EndBit, AndData, OrData));
1470}
1471
1485VOID
1488 IN UINTN Address,
1489 IN VOID *Buffer
1490 )
1491{
1492 RETURN_STATUS Status;
1493
1494 Status = S3BootScriptSaveMemWrite (
1495 Width,
1496 Address,
1497 1,
1498 Buffer
1499 );
1500 ASSERT (Status == RETURN_SUCCESS);
1501}
1502
1517UINT8
1519 IN UINTN Address,
1520 IN UINT8 Value
1521 )
1522{
1524
1525 return Value;
1526}
1527
1543UINT8
1544EFIAPI
1546 IN UINTN Address
1547 )
1548{
1549 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioRead8 (Address));
1550}
1551
1568UINT8
1569EFIAPI
1571 IN UINTN Address,
1572 IN UINT8 Value
1573 )
1574{
1575 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioWrite8 (Address, Value));
1576}
1577
1597UINT8
1598EFIAPI
1600 IN UINTN Address,
1601 IN UINT8 OrData
1602 )
1603{
1604 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioOr8 (Address, OrData));
1605}
1606
1626UINT8
1627EFIAPI
1629 IN UINTN Address,
1630 IN UINT8 AndData
1631 )
1632{
1633 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioAnd8 (Address, AndData));
1634}
1635
1657UINT8
1658EFIAPI
1660 IN UINTN Address,
1661 IN UINT8 AndData,
1662 IN UINT8 OrData
1663 )
1664{
1665 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioAndThenOr8 (Address, AndData, OrData));
1666}
1667
1689UINT8
1690EFIAPI
1692 IN UINTN Address,
1693 IN UINTN StartBit,
1694 IN UINTN EndBit
1695 )
1696{
1697 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioBitFieldRead8 (Address, StartBit, EndBit));
1698}
1699
1724UINT8
1725EFIAPI
1727 IN UINTN Address,
1728 IN UINTN StartBit,
1729 IN UINTN EndBit,
1730 IN UINT8 Value
1731 )
1732{
1733 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioBitFieldWrite8 (Address, StartBit, EndBit, Value));
1734}
1735
1764UINT8
1765EFIAPI
1767 IN UINTN Address,
1768 IN UINTN StartBit,
1769 IN UINTN EndBit,
1770 IN UINT8 OrData
1771 )
1772{
1773 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioBitFieldOr8 (Address, StartBit, EndBit, OrData));
1774}
1775
1804UINT8
1805EFIAPI
1807 IN UINTN Address,
1808 IN UINTN StartBit,
1809 IN UINTN EndBit,
1810 IN UINT8 AndData
1811 )
1812{
1813 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioBitFieldAnd8 (Address, StartBit, EndBit, AndData));
1814}
1815
1847UINT8
1848EFIAPI
1850 IN UINTN Address,
1851 IN UINTN StartBit,
1852 IN UINTN EndBit,
1853 IN UINT8 AndData,
1854 IN UINT8 OrData
1855 )
1856{
1857 return InternalSaveMmioWrite8ValueToBootScript (Address, MmioBitFieldAndThenOr8 (Address, StartBit, EndBit, AndData, OrData));
1858}
1859
1874UINT16
1876 IN UINTN Address,
1877 IN UINT16 Value
1878 )
1879{
1881
1882 return Value;
1883}
1884
1900UINT16
1901EFIAPI
1903 IN UINTN Address
1904 )
1905{
1906 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioRead16 (Address));
1907}
1908
1926UINT16
1927EFIAPI
1929 IN UINTN Address,
1930 IN UINT16 Value
1931 )
1932{
1933 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioWrite16 (Address, Value));
1934}
1935
1955UINT16
1956EFIAPI
1958 IN UINTN Address,
1959 IN UINT16 OrData
1960 )
1961{
1962 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioOr16 (Address, OrData));
1963}
1964
1984UINT16
1985EFIAPI
1987 IN UINTN Address,
1988 IN UINT16 AndData
1989 )
1990{
1991 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioAnd16 (Address, AndData));
1992}
1993
2015UINT16
2016EFIAPI
2018 IN UINTN Address,
2019 IN UINT16 AndData,
2020 IN UINT16 OrData
2021 )
2022{
2023 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioAndThenOr16 (Address, AndData, OrData));
2024}
2025
2047UINT16
2048EFIAPI
2050 IN UINTN Address,
2051 IN UINTN StartBit,
2052 IN UINTN EndBit
2053 )
2054{
2055 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioBitFieldRead16 (Address, StartBit, EndBit));
2056}
2057
2082UINT16
2083EFIAPI
2085 IN UINTN Address,
2086 IN UINTN StartBit,
2087 IN UINTN EndBit,
2088 IN UINT16 Value
2089 )
2090{
2091 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioBitFieldWrite16 (Address, StartBit, EndBit, Value));
2092}
2093
2122UINT16
2123EFIAPI
2125 IN UINTN Address,
2126 IN UINTN StartBit,
2127 IN UINTN EndBit,
2128 IN UINT16 OrData
2129 )
2130{
2131 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioBitFieldOr16 (Address, StartBit, EndBit, OrData));
2132}
2133
2162UINT16
2163EFIAPI
2165 IN UINTN Address,
2166 IN UINTN StartBit,
2167 IN UINTN EndBit,
2168 IN UINT16 AndData
2169 )
2170{
2171 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioBitFieldAnd16 (Address, StartBit, EndBit, AndData));
2172}
2173
2205UINT16
2206EFIAPI
2208 IN UINTN Address,
2209 IN UINTN StartBit,
2210 IN UINTN EndBit,
2211 IN UINT16 AndData,
2212 IN UINT16 OrData
2213 )
2214{
2215 return InternalSaveMmioWrite16ValueToBootScript (Address, MmioBitFieldAndThenOr16 (Address, StartBit, EndBit, AndData, OrData));
2216}
2217
2232UINT32
2234 IN UINTN Address,
2235 IN UINT32 Value
2236 )
2237{
2239
2240 return Value;
2241}
2242
2258UINT32
2259EFIAPI
2261 IN UINTN Address
2262 )
2263{
2264 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioRead32 (Address));
2265}
2266
2283UINT32
2284EFIAPI
2286 IN UINTN Address,
2287 IN UINT32 Value
2288 )
2289{
2290 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioWrite32 (Address, Value));
2291}
2292
2312UINT32
2313EFIAPI
2315 IN UINTN Address,
2316 IN UINT32 OrData
2317 )
2318{
2319 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioOr32 (Address, OrData));
2320}
2321
2341UINT32
2342EFIAPI
2344 IN UINTN Address,
2345 IN UINT32 AndData
2346 )
2347{
2348 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioAnd32 (Address, AndData));
2349}
2350
2372UINT32
2373EFIAPI
2375 IN UINTN Address,
2376 IN UINT32 AndData,
2377 IN UINT32 OrData
2378 )
2379{
2380 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioAndThenOr32 (Address, AndData, OrData));
2381}
2382
2404UINT32
2405EFIAPI
2407 IN UINTN Address,
2408 IN UINTN StartBit,
2409 IN UINTN EndBit
2410 )
2411{
2412 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioBitFieldRead32 (Address, StartBit, EndBit));
2413}
2414
2439UINT32
2440EFIAPI
2442 IN UINTN Address,
2443 IN UINTN StartBit,
2444 IN UINTN EndBit,
2445 IN UINT32 Value
2446 )
2447{
2448 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioBitFieldWrite32 (Address, StartBit, EndBit, Value));
2449}
2450
2479UINT32
2480EFIAPI
2482 IN UINTN Address,
2483 IN UINTN StartBit,
2484 IN UINTN EndBit,
2485 IN UINT32 OrData
2486 )
2487{
2488 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioBitFieldOr32 (Address, StartBit, EndBit, OrData));
2489}
2490
2519UINT32
2520EFIAPI
2522 IN UINTN Address,
2523 IN UINTN StartBit,
2524 IN UINTN EndBit,
2525 IN UINT32 AndData
2526 )
2527{
2528 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioBitFieldAnd32 (Address, StartBit, EndBit, AndData));
2529}
2530
2562UINT32
2563EFIAPI
2565 IN UINTN Address,
2566 IN UINTN StartBit,
2567 IN UINTN EndBit,
2568 IN UINT32 AndData,
2569 IN UINT32 OrData
2570 )
2571{
2572 return InternalSaveMmioWrite32ValueToBootScript (Address, MmioBitFieldAndThenOr32 (Address, StartBit, EndBit, AndData, OrData));
2573}
2574
2589UINT64
2591 IN UINTN Address,
2592 IN UINT64 Value
2593 )
2594{
2596
2597 return Value;
2598}
2599
2615UINT64
2616EFIAPI
2618 IN UINTN Address
2619 )
2620{
2621 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioRead64 (Address));
2622}
2623
2640UINT64
2641EFIAPI
2643 IN UINTN Address,
2644 IN UINT64 Value
2645 )
2646{
2647 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioWrite64 (Address, Value));
2648}
2649
2669UINT64
2670EFIAPI
2672 IN UINTN Address,
2673 IN UINT64 OrData
2674 )
2675{
2676 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioOr64 (Address, OrData));
2677}
2678
2698UINT64
2699EFIAPI
2701 IN UINTN Address,
2702 IN UINT64 AndData
2703 )
2704{
2705 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioAnd64 (Address, AndData));
2706}
2707
2729UINT64
2730EFIAPI
2732 IN UINTN Address,
2733 IN UINT64 AndData,
2734 IN UINT64 OrData
2735 )
2736{
2737 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioAndThenOr64 (Address, AndData, OrData));
2738}
2739
2761UINT64
2762EFIAPI
2764 IN UINTN Address,
2765 IN UINTN StartBit,
2766 IN UINTN EndBit
2767 )
2768{
2769 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioBitFieldRead64 (Address, StartBit, EndBit));
2770}
2771
2796UINT64
2797EFIAPI
2799 IN UINTN Address,
2800 IN UINTN StartBit,
2801 IN UINTN EndBit,
2802 IN UINT64 Value
2803 )
2804{
2805 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioBitFieldWrite64 (Address, StartBit, EndBit, Value));
2806}
2807
2836UINT64
2837EFIAPI
2839 IN UINTN Address,
2840 IN UINTN StartBit,
2841 IN UINTN EndBit,
2842 IN UINT64 OrData
2843 )
2844{
2845 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioBitFieldOr64 (Address, StartBit, EndBit, OrData));
2846}
2847
2876UINT64
2877EFIAPI
2879 IN UINTN Address,
2880 IN UINTN StartBit,
2881 IN UINTN EndBit,
2882 IN UINT64 AndData
2883 )
2884{
2885 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioBitFieldAnd64 (Address, StartBit, EndBit, AndData));
2886}
2887
2919UINT64
2920EFIAPI
2922 IN UINTN Address,
2923 IN UINTN StartBit,
2924 IN UINTN EndBit,
2925 IN UINT64 AndData,
2926 IN UINT64 OrData
2927 )
2928{
2929 return InternalSaveMmioWrite64ValueToBootScript (Address, MmioBitFieldAndThenOr64 (Address, StartBit, EndBit, AndData, OrData));
2930}
2931
2951UINT8 *
2952EFIAPI
2954 IN UINTN StartAddress,
2955 IN UINTN Length,
2956 OUT UINT8 *Buffer
2957 )
2958{
2959 UINT8 *ReturnBuffer;
2960 RETURN_STATUS Status;
2961
2962 ReturnBuffer = MmioReadBuffer8 (StartAddress, Length, Buffer);
2963
2964 Status = S3BootScriptSaveMemWrite (
2966 StartAddress,
2967 Length / sizeof (UINT8),
2968 ReturnBuffer
2969 );
2970 ASSERT (Status == RETURN_SUCCESS);
2971
2972 return ReturnBuffer;
2973}
2974
2998UINT16 *
2999EFIAPI
3001 IN UINTN StartAddress,
3002 IN UINTN Length,
3003 OUT UINT16 *Buffer
3004 )
3005{
3006 UINT16 *ReturnBuffer;
3007 RETURN_STATUS Status;
3008
3009 ReturnBuffer = MmioReadBuffer16 (StartAddress, Length, Buffer);
3010
3011 Status = S3BootScriptSaveMemWrite (
3013 StartAddress,
3014 Length / sizeof (UINT16),
3015 ReturnBuffer
3016 );
3017 ASSERT (Status == RETURN_SUCCESS);
3018
3019 return ReturnBuffer;
3020}
3021
3045UINT32 *
3046EFIAPI
3048 IN UINTN StartAddress,
3049 IN UINTN Length,
3050 OUT UINT32 *Buffer
3051 )
3052{
3053 UINT32 *ReturnBuffer;
3054 RETURN_STATUS Status;
3055
3056 ReturnBuffer = MmioReadBuffer32 (StartAddress, Length, Buffer);
3057
3058 Status = S3BootScriptSaveMemWrite (
3060 StartAddress,
3061 Length / sizeof (UINT32),
3062 ReturnBuffer
3063 );
3064 ASSERT (Status == RETURN_SUCCESS);
3065
3066 return ReturnBuffer;
3067}
3068
3092UINT64 *
3093EFIAPI
3095 IN UINTN StartAddress,
3096 IN UINTN Length,
3097 OUT UINT64 *Buffer
3098 )
3099{
3100 UINT64 *ReturnBuffer;
3101 RETURN_STATUS Status;
3102
3103 ReturnBuffer = MmioReadBuffer64 (StartAddress, Length, Buffer);
3104
3105 Status = S3BootScriptSaveMemWrite (
3107 StartAddress,
3108 Length / sizeof (UINT64),
3109 ReturnBuffer
3110 );
3111 ASSERT (Status == RETURN_SUCCESS);
3112
3113 return ReturnBuffer;
3114}
3115
3135UINT8 *
3136EFIAPI
3138 IN UINTN StartAddress,
3139 IN UINTN Length,
3140 IN CONST UINT8 *Buffer
3141 )
3142{
3143 UINT8 *ReturnBuffer;
3144 RETURN_STATUS Status;
3145
3146 ReturnBuffer = MmioWriteBuffer8 (StartAddress, Length, Buffer);
3147
3148 Status = S3BootScriptSaveMemWrite (
3150 StartAddress,
3151 Length / sizeof (UINT8),
3152 ReturnBuffer
3153 );
3154 ASSERT (Status == RETURN_SUCCESS);
3155
3156 return ReturnBuffer;
3157}
3158
3183UINT16 *
3184EFIAPI
3186 IN UINTN StartAddress,
3187 IN UINTN Length,
3188 IN CONST UINT16 *Buffer
3189 )
3190{
3191 UINT16 *ReturnBuffer;
3192 RETURN_STATUS Status;
3193
3194 ReturnBuffer = MmioWriteBuffer16 (StartAddress, Length, Buffer);
3195
3196 Status = S3BootScriptSaveMemWrite (
3198 StartAddress,
3199 Length / sizeof (UINT16),
3200 ReturnBuffer
3201 );
3202 ASSERT (Status == RETURN_SUCCESS);
3203
3204 return ReturnBuffer;
3205}
3206
3231UINT32 *
3232EFIAPI
3234 IN UINTN StartAddress,
3235 IN UINTN Length,
3236 IN CONST UINT32 *Buffer
3237 )
3238{
3239 UINT32 *ReturnBuffer;
3240 RETURN_STATUS Status;
3241
3242 ReturnBuffer = MmioWriteBuffer32 (StartAddress, Length, Buffer);
3243
3244 Status = S3BootScriptSaveMemWrite (
3246 StartAddress,
3247 Length / sizeof (UINT32),
3248 ReturnBuffer
3249 );
3250 ASSERT (Status == RETURN_SUCCESS);
3251
3252 return ReturnBuffer;
3253}
3254
3279UINT64 *
3280EFIAPI
3282 IN UINTN StartAddress,
3283 IN UINTN Length,
3284 IN CONST UINT64 *Buffer
3285 )
3286{
3287 UINT64 *ReturnBuffer;
3288 RETURN_STATUS Status;
3289
3290 ReturnBuffer = MmioWriteBuffer64 (StartAddress, Length, Buffer);
3291
3292 Status = S3BootScriptSaveMemWrite (
3294 StartAddress,
3295 Length / sizeof (UINT64),
3296 ReturnBuffer
3297 );
3298 ASSERT (Status == RETURN_SUCCESS);
3299
3300 return ReturnBuffer;
3301}
UINT64 UINTN
RETURN_STATUS EFIAPI S3BootScriptSaveIoWrite(IN S3_BOOT_SCRIPT_LIB_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer)
RETURN_STATUS EFIAPI S3BootScriptSaveMemWrite(IN S3_BOOT_SCRIPT_LIB_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer)
UINT16 EFIAPI MmioBitFieldAndThenOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
Definition: IoHighLevel.c:1750
UINT8 EFIAPI IoWrite8(IN UINTN Port, IN UINT8 Value)
Definition: IoLibArmVirt.c:200
UINT64 EFIAPI MmioWrite64(IN UINTN Address, IN UINT64 Value)
Definition: IoLib.c:400
UINT8 EFIAPI MmioBitFieldRead8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:1293
UINT64 *EFIAPI MmioWriteBuffer64(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT64 *Buffer)
UINT32 EFIAPI MmioBitFieldWrite32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
Definition: IoHighLevel.c:1912
UINT8 EFIAPI MmioBitFieldOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
Definition: IoHighLevel.c:1369
UINT16 *EFIAPI MmioReadBuffer16(IN UINTN StartAddress, IN UINTN Length, OUT UINT16 *Buffer)
UINT8 EFIAPI IoBitFieldWrite8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
Definition: IoHighLevel.c:163
UINT8 EFIAPI MmioBitFieldWrite8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
Definition: IoHighLevel.c:1327
UINT64 EFIAPI MmioBitFieldOr64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 OrData)
Definition: IoHighLevel.c:2249
UINT8 EFIAPI IoBitFieldAndThenOr8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
Definition: IoHighLevel.c:290
UINT16 EFIAPI IoAndThenOr16(IN UINTN Port, IN UINT16 AndData, IN UINT16 OrData)
Definition: IoHighLevel.c:385
UINT64 *EFIAPI MmioReadBuffer64(IN UINTN StartAddress, IN UINTN Length, OUT UINT64 *Buffer)
UINT32 EFIAPI IoBitFieldAnd32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
Definition: IoHighLevel.c:830
UINT32 EFIAPI IoBitFieldWrite32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
Definition: IoHighLevel.c:746
UINT32 *EFIAPI MmioWriteBuffer32(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT32 *Buffer)
UINT8 EFIAPI MmioAnd8(IN UINTN Address, IN UINT8 AndData)
Definition: IoHighLevel.c:1231
UINT16 EFIAPI IoOr16(IN UINTN Port, IN UINT16 OrData)
Definition: IoHighLevel.c:325
UINT16 EFIAPI MmioAndThenOr16(IN UINTN Address, IN UINT16 AndData, IN UINT16 OrData)
Definition: IoHighLevel.c:1551
UINT32 EFIAPI MmioBitFieldAndThenOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
Definition: IoHighLevel.c:2044
UINT64 EFIAPI IoBitFieldAndThenOr64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData, IN UINT64 OrData)
Definition: IoHighLevel.c:1169
UINT16 *EFIAPI MmioWriteBuffer16(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT16 *Buffer)
UINT8 EFIAPI MmioBitFieldAndThenOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
Definition: IoHighLevel.c:1456
UINT16 EFIAPI IoBitFieldAnd16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
Definition: IoHighLevel.c:537
UINT64 EFIAPI MmioBitFieldRead64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:2171
UINT64 EFIAPI IoOr64(IN UINTN Port, IN UINT64 OrData)
Definition: IoHighLevel.c:911
UINT64 EFIAPI IoBitFieldWrite64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 Value)
Definition: IoHighLevel.c:1039
UINT16 EFIAPI IoBitFieldOr16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
Definition: IoHighLevel.c:495
UINT64 EFIAPI IoRead64(IN UINTN Port)
Definition: IoLib.c:29
UINT16 EFIAPI MmioBitFieldWrite16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
Definition: IoHighLevel.c:1618
UINT32 EFIAPI MmioBitFieldOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
Definition: IoHighLevel.c:1955
UINT16 EFIAPI MmioBitFieldAnd16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
Definition: IoHighLevel.c:1704
UINT8 EFIAPI IoBitFieldOr8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
Definition: IoHighLevel.c:204
UINT8 EFIAPI IoAnd8(IN UINTN Port, IN UINT8 AndData)
Definition: IoHighLevel.c:68
UINT32 EFIAPI MmioBitFieldRead32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:1877
UINT8 EFIAPI IoBitFieldAnd8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
Definition: IoHighLevel.c:245
UINT32 EFIAPI IoOr32(IN UINTN Port, IN UINT32 OrData)
Definition: IoHighLevel.c:618
UINT16 EFIAPI MmioBitFieldOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
Definition: IoHighLevel.c:1661
UINT64 EFIAPI MmioOr64(IN UINTN Address, IN UINT64 OrData)
Definition: IoHighLevel.c:2079
UINT64 EFIAPI IoWrite64(IN UINTN Port, IN UINT64 Value)
Definition: IoLib.c:55
UINT16 EFIAPI IoBitFieldWrite16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
Definition: IoHighLevel.c:453
UINT16 EFIAPI IoBitFieldRead16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:417
UINT32 EFIAPI IoAndThenOr32(IN UINTN Port, IN UINT32 AndData, IN UINT32 OrData)
Definition: IoHighLevel.c:678
UINT64 EFIAPI MmioRead64(IN UINTN Address)
Definition: IoLib.c:355
UINT32 EFIAPI IoBitFieldRead32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:710
UINT64 EFIAPI IoBitFieldRead64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:1003
UINT32 EFIAPI MmioAnd32(IN UINTN Address, IN UINT32 AndData)
Definition: IoHighLevel.c:1814
UINT32 EFIAPI IoBitFieldAndThenOr32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
Definition: IoHighLevel.c:876
UINT64 EFIAPI MmioAnd64(IN UINTN Address, IN UINT64 AndData)
Definition: IoHighLevel.c:2108
UINT32 EFIAPI MmioOr32(IN UINTN Address, IN UINT32 OrData)
Definition: IoHighLevel.c:1785
UINT8 EFIAPI MmioAndThenOr8(IN UINTN Address, IN UINT8 AndData, IN UINT8 OrData)
Definition: IoHighLevel.c:1262
UINT16 EFIAPI MmioBitFieldRead16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:1583
UINT16 EFIAPI MmioRead16(IN UINTN Address)
Definition: IoLib.c:170
UINT32 EFIAPI IoBitFieldOr32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
Definition: IoHighLevel.c:788
UINT8 EFIAPI MmioRead8(IN UINTN Address)
Definition: IoLib.c:82
UINT8 EFIAPI MmioOr8(IN UINTN Address, IN UINT8 OrData)
Definition: IoHighLevel.c:1203
UINT16 EFIAPI IoAnd16(IN UINTN Port, IN UINT16 AndData)
Definition: IoHighLevel.c:354
UINT8 EFIAPI IoBitFieldRead8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: IoHighLevel.c:129
UINT8 EFIAPI MmioWrite8(IN UINTN Address, IN UINT8 Value)
Definition: IoLib.c:126
UINT64 EFIAPI IoBitFieldOr64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 OrData)
Definition: IoHighLevel.c:1081
UINT32 EFIAPI IoAnd32(IN UINTN Port, IN UINT32 AndData)
Definition: IoHighLevel.c:647
UINT64 EFIAPI IoBitFieldAnd64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData)
Definition: IoHighLevel.c:1123
UINT8 EFIAPI IoRead8(IN UINTN Port)
Definition: IoLibArmVirt.c:175
UINT64 EFIAPI MmioBitFieldAndThenOr64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData, IN UINT64 OrData)
Definition: IoHighLevel.c:2338
UINT64 EFIAPI IoAnd64(IN UINTN Port, IN UINT64 AndData)
Definition: IoHighLevel.c:940
UINT32 EFIAPI MmioRead32(IN UINTN Address)
Definition: IoLib.c:262
UINT32 *EFIAPI MmioReadBuffer32(IN UINTN StartAddress, IN UINTN Length, OUT UINT32 *Buffer)
UINT16 EFIAPI MmioAnd16(IN UINTN Address, IN UINT16 AndData)
Definition: IoHighLevel.c:1520
UINT8 EFIAPI MmioBitFieldAnd8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
Definition: IoHighLevel.c:1411
UINT64 EFIAPI IoAndThenOr64(IN UINTN Port, IN UINT64 AndData, IN UINT64 OrData)
Definition: IoHighLevel.c:971
UINT8 EFIAPI IoAndThenOr8(IN UINTN Port, IN UINT8 AndData, IN UINT8 OrData)
Definition: IoHighLevel.c:98
UINT16 EFIAPI IoBitFieldAndThenOr16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
Definition: IoHighLevel.c:583
UINT16 EFIAPI MmioOr16(IN UINTN Address, IN UINT16 OrData)
Definition: IoHighLevel.c:1491
UINT8 EFIAPI IoOr8(IN UINTN Port, IN UINT8 OrData)
Definition: IoHighLevel.c:40
UINT8 *EFIAPI MmioReadBuffer8(IN UINTN StartAddress, IN UINTN Length, OUT UINT8 *Buffer)
UINT16 EFIAPI IoRead16(IN UINTN Port)
Definition: IoLibArmVirt.c:225
UINT16 EFIAPI MmioWrite16(IN UINTN Address, IN UINT16 Value)
Definition: IoLib.c:216
UINT32 EFIAPI IoRead32(IN UINTN Port)
Definition: IoLibArmVirt.c:275
UINT32 EFIAPI IoWrite32(IN UINTN Port, IN UINT32 Value)
Definition: IoLibArmVirt.c:300
UINT64 EFIAPI MmioBitFieldWrite64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 Value)
Definition: IoHighLevel.c:2206
UINT32 EFIAPI MmioAndThenOr32(IN UINTN Address, IN UINT32 AndData, IN UINT32 OrData)
Definition: IoHighLevel.c:1845
UINT64 EFIAPI MmioBitFieldAnd64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData)
Definition: IoHighLevel.c:2292
UINT8 *EFIAPI MmioWriteBuffer8(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT8 *Buffer)
UINT32 EFIAPI MmioBitFieldAnd32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
Definition: IoHighLevel.c:1998
UINT16 EFIAPI IoWrite16(IN UINTN Port, IN UINT16 Value)
Definition: IoLibArmVirt.c:250
UINT32 EFIAPI MmioWrite32(IN UINTN Address, IN UINT32 Value)
Definition: IoLib.c:309
UINT64 EFIAPI MmioAndThenOr64(IN UINTN Address, IN UINT64 AndData, IN UINT64 OrData)
Definition: IoHighLevel.c:2139
#define CONST
Definition: Base.h:259
#define RETURN_SUCCESS
Definition: Base.h:1066
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
S3_BOOT_SCRIPT_LIB_WIDTH
@ S3BootScriptWidthUint16
16-bit operation.
@ S3BootScriptWidthUint64
64-bit operation.
@ S3BootScriptWidthUint32
32-bit operation.
@ S3BootScriptWidthUint8
8-bit operation.
UINT8 InternalSaveMmioWrite8ValueToBootScript(IN UINTN Address, IN UINT8 Value)
Definition: S3IoLib.c:1518
UINT64 EFIAPI S3MmioRead64(IN UINTN Address)
Definition: S3IoLib.c:2617
UINT8 EFIAPI S3MmioAnd8(IN UINTN Address, IN UINT8 AndData)
Definition: S3IoLib.c:1628
UINT64 EFIAPI S3IoWrite64(IN UINTN Port, IN UINT64 Value)
Definition: S3IoLib.c:1183
UINT16 EFIAPI S3MmioBitFieldRead16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:2049
UINT64 EFIAPI S3MmioAnd64(IN UINTN Address, IN UINT64 AndData)
Definition: S3IoLib.c:2700
UINT8 EFIAPI S3MmioBitFieldWrite8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
Definition: S3IoLib.c:1726
UINT64 EFIAPI S3MmioBitFieldRead64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:2763
UINT16 EFIAPI S3IoBitFieldAndThenOr16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
Definition: S3IoLib.c:749
UINT8 EFIAPI S3MmioBitFieldAndThenOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
Definition: S3IoLib.c:1849
UINT32 EFIAPI S3MmioAnd32(IN UINTN Address, IN UINT32 AndData)
Definition: S3IoLib.c:2343
UINT32 EFIAPI S3IoRead32(IN UINTN Port)
Definition: S3IoLib.c:802
UINT64 EFIAPI S3MmioBitFieldAndThenOr64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData, IN UINT64 OrData)
Definition: S3IoLib.c:2921
UINT16 EFIAPI S3IoAnd16(IN UINTN Port, IN UINT16 AndData)
Definition: S3IoLib.c:529
UINT8 EFIAPI S3MmioRead8(IN UINTN Address)
Definition: S3IoLib.c:1545
UINT32 EFIAPI S3IoAnd32(IN UINTN Port, IN UINT32 AndData)
Definition: S3IoLib.c:885
UINT32 EFIAPI S3IoBitFieldOr32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
Definition: S3IoLib.c:1023
UINT8 EFIAPI S3MmioWrite8(IN UINTN Address, IN UINT8 Value)
Definition: S3IoLib.c:1570
UINT32 EFIAPI S3IoOr32(IN UINTN Port, IN UINT32 OrData)
Definition: S3IoLib.c:856
UINT64 EFIAPI S3MmioBitFieldWrite64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 Value)
Definition: S3IoLib.c:2798
UINT64 EFIAPI S3IoOr64(IN UINTN Port, IN UINT64 OrData)
Definition: S3IoLib.c:1212
UINT16 EFIAPI S3IoBitFieldWrite16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
Definition: S3IoLib.c:628
UINT32 EFIAPI S3IoBitFieldWrite32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
Definition: S3IoLib.c:984
UINT8 EFIAPI S3IoWrite8(IN UINTN Port, IN UINT8 Value)
Definition: S3IoLib.c:116
UINT64 EFIAPI S3MmioBitFieldAnd64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData)
Definition: S3IoLib.c:2878
UINT8 *EFIAPI S3MmioReadBuffer8(IN UINTN StartAddress, IN UINTN Length, OUT UINT8 *Buffer)
Definition: S3IoLib.c:2953
UINT32 EFIAPI S3MmioBitFieldAnd32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
Definition: S3IoLib.c:2521
UINT16 EFIAPI S3IoBitFieldOr16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
Definition: S3IoLib.c:667
UINT8 EFIAPI S3IoBitFieldWrite8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
Definition: S3IoLib.c:273
UINT16 EFIAPI S3MmioAnd16(IN UINTN Address, IN UINT16 AndData)
Definition: S3IoLib.c:1986
VOID InternalSaveIoWriteValueToBootScript(IN S3_BOOT_SCRIPT_LIB_WIDTH Width, IN UINTN Port, IN VOID *Buffer)
Definition: S3IoLib.c:32
UINT16 EFIAPI S3MmioBitFieldAnd16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
Definition: S3IoLib.c:2164
UINT8 InternalSaveIoWrite8ValueToBootScript(IN UINTN Port, IN UINT8 Value)
Definition: S3IoLib.c:64
UINT8 EFIAPI S3IoBitFieldAnd8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
Definition: S3IoLib.c:351
UINT16 InternalSaveIoWrite16ValueToBootScript(IN UINTN Port, IN UINT16 Value)
Definition: S3IoLib.c:419
UINT16 EFIAPI S3MmioRead16(IN UINTN Address)
Definition: S3IoLib.c:1902
UINT32 InternalSaveIoWrite32ValueToBootScript(IN UINTN Port, IN UINT32 Value)
Definition: S3IoLib.c:775
UINT64 EFIAPI S3IoBitFieldAndThenOr64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData, IN UINT64 OrData)
Definition: S3IoLib.c:1461
UINT16 EFIAPI S3IoOr16(IN UINTN Port, IN UINT16 OrData)
Definition: S3IoLib.c:500
UINT32 EFIAPI S3MmioOr32(IN UINTN Address, IN UINT32 OrData)
Definition: S3IoLib.c:2314
UINT32 EFIAPI S3IoAndThenOr32(IN UINTN Port, IN UINT32 AndData, IN UINT32 OrData)
Definition: S3IoLib.c:916
UINT8 EFIAPI S3IoRead8(IN UINTN Port)
Definition: S3IoLib.c:91
UINT8 EFIAPI S3IoBitFieldRead8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:237
UINT32 EFIAPI S3MmioBitFieldRead32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:2406
UINT32 EFIAPI S3IoWrite32(IN UINTN Port, IN UINT32 Value)
Definition: S3IoLib.c:827
UINT16 InternalSaveMmioWrite16ValueToBootScript(IN UINTN Address, IN UINT16 Value)
Definition: S3IoLib.c:1875
UINT32 EFIAPI S3MmioBitFieldOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
Definition: S3IoLib.c:2481
UINT64 EFIAPI S3IoAndThenOr64(IN UINTN Port, IN UINT64 AndData, IN UINT64 OrData)
Definition: S3IoLib.c:1272
UINT64 EFIAPI S3IoRead64(IN UINTN Port)
Definition: S3IoLib.c:1158
VOID InternalSaveMmioWriteValueToBootScript(IN S3_BOOT_SCRIPT_LIB_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
Definition: S3IoLib.c:1486
UINT16 *EFIAPI S3MmioWriteBuffer16(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT16 *Buffer)
Definition: S3IoLib.c:3185
UINT16 EFIAPI S3IoBitFieldRead16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:592
UINT16 EFIAPI S3MmioAndThenOr16(IN UINTN Address, IN UINT16 AndData, IN UINT16 OrData)
Definition: S3IoLib.c:2017
UINT32 EFIAPI S3IoBitFieldAndThenOr32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
Definition: S3IoLib.c:1105
UINT32 EFIAPI S3MmioBitFieldWrite32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
Definition: S3IoLib.c:2441
UINT16 EFIAPI S3IoRead16(IN UINTN Port)
Definition: S3IoLib.c:446
UINT16 *EFIAPI S3MmioReadBuffer16(IN UINTN StartAddress, IN UINTN Length, OUT UINT16 *Buffer)
Definition: S3IoLib.c:3000
UINT64 *EFIAPI S3MmioReadBuffer64(IN UINTN StartAddress, IN UINTN Length, OUT UINT64 *Buffer)
Definition: S3IoLib.c:3094
UINT64 EFIAPI S3MmioWrite64(IN UINTN Address, IN UINT64 Value)
Definition: S3IoLib.c:2642
UINT8 EFIAPI S3MmioOr8(IN UINTN Address, IN UINT8 OrData)
Definition: S3IoLib.c:1599
UINT16 EFIAPI S3MmioWrite16(IN UINTN Address, IN UINT16 Value)
Definition: S3IoLib.c:1928
UINT8 EFIAPI S3MmioAndThenOr8(IN UINTN Address, IN UINT8 AndData, IN UINT8 OrData)
Definition: S3IoLib.c:1659
UINT16 EFIAPI S3IoBitFieldAnd16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
Definition: S3IoLib.c:706
UINT64 EFIAPI S3IoBitFieldRead64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:1304
UINT16 EFIAPI S3IoAndThenOr16(IN UINTN Port, IN UINT16 AndData, IN UINT16 OrData)
Definition: S3IoLib.c:560
UINT16 EFIAPI S3MmioOr16(IN UINTN Address, IN UINT16 OrData)
Definition: S3IoLib.c:1957
UINT64 EFIAPI S3MmioOr64(IN UINTN Address, IN UINT64 OrData)
Definition: S3IoLib.c:2671
UINT32 EFIAPI S3MmioWrite32(IN UINTN Address, IN UINT32 Value)
Definition: S3IoLib.c:2285
UINT64 InternalSaveIoWrite64ValueToBootScript(IN UINTN Port, IN UINT64 Value)
Definition: S3IoLib.c:1131
UINT32 InternalSaveMmioWrite32ValueToBootScript(IN UINTN Address, IN UINT32 Value)
Definition: S3IoLib.c:2233
UINT64 EFIAPI S3IoAnd64(IN UINTN Port, IN UINT64 AndData)
Definition: S3IoLib.c:1241
UINT32 EFIAPI S3MmioAndThenOr32(IN UINTN Address, IN UINT32 AndData, IN UINT32 OrData)
Definition: S3IoLib.c:2374
UINT8 EFIAPI S3IoAnd8(IN UINTN Port, IN UINT8 AndData)
Definition: S3IoLib.c:174
UINT8 EFIAPI S3IoBitFieldAndThenOr8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
Definition: S3IoLib.c:393
UINT32 EFIAPI S3IoBitFieldAnd32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
Definition: S3IoLib.c:1062
UINT64 EFIAPI S3IoBitFieldWrite64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 Value)
Definition: S3IoLib.c:1340
UINT16 EFIAPI S3MmioBitFieldWrite16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
Definition: S3IoLib.c:2084
UINT8 EFIAPI S3IoOr8(IN UINTN Port, IN UINT8 OrData)
Definition: S3IoLib.c:145
UINT32 EFIAPI S3IoBitFieldRead32(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:948
UINT64 InternalSaveMmioWrite64ValueToBootScript(IN UINTN Address, IN UINT64 Value)
Definition: S3IoLib.c:2590
UINT32 *EFIAPI S3MmioWriteBuffer32(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT32 *Buffer)
Definition: S3IoLib.c:3233
UINT32 *EFIAPI S3MmioReadBuffer32(IN UINTN StartAddress, IN UINTN Length, OUT UINT32 *Buffer)
Definition: S3IoLib.c:3047
UINT8 EFIAPI S3IoBitFieldOr8(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
Definition: S3IoLib.c:312
UINT8 EFIAPI S3MmioBitFieldRead8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition: S3IoLib.c:1691
UINT64 *EFIAPI S3MmioWriteBuffer64(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT64 *Buffer)
Definition: S3IoLib.c:3281
UINT32 EFIAPI S3MmioRead32(IN UINTN Address)
Definition: S3IoLib.c:2260
UINT16 EFIAPI S3MmioBitFieldAndThenOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
Definition: S3IoLib.c:2207
UINT8 EFIAPI S3MmioBitFieldOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
Definition: S3IoLib.c:1766
UINT64 EFIAPI S3IoBitFieldOr64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 OrData)
Definition: S3IoLib.c:1379
UINT64 EFIAPI S3IoBitFieldAnd64(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 AndData)
Definition: S3IoLib.c:1418
UINT16 EFIAPI S3IoWrite16(IN UINTN Port, IN UINT16 Value)
Definition: S3IoLib.c:471
UINT8 EFIAPI S3MmioBitFieldAnd8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
Definition: S3IoLib.c:1806
UINT32 EFIAPI S3MmioBitFieldAndThenOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
Definition: S3IoLib.c:2564
UINT16 EFIAPI S3MmioBitFieldOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
Definition: S3IoLib.c:2124
UINT8 EFIAPI S3IoAndThenOr8(IN UINTN Port, IN UINT8 AndData, IN UINT8 OrData)
Definition: S3IoLib.c:205
UINT64 EFIAPI S3MmioAndThenOr64(IN UINTN Address, IN UINT64 AndData, IN UINT64 OrData)
Definition: S3IoLib.c:2731
UINT64 EFIAPI S3MmioBitFieldOr64(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT64 OrData)
Definition: S3IoLib.c:2838
UINT8 *EFIAPI S3MmioWriteBuffer8(IN UINTN StartAddress, IN UINTN Length, IN CONST UINT8 *Buffer)
Definition: S3IoLib.c:3137