18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * NSC/Cyrix CPU indexed register access. Must be inlined instead of 48c2ecf20Sopenharmony_ci * macros to ensure correct access ordering 58c2ecf20Sopenharmony_ci * Access order is always 0x22 (=offset), 0x23 (=value) 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cistatic inline u8 getCx86(u8 reg) 98c2ecf20Sopenharmony_ci{ 108c2ecf20Sopenharmony_ci outb(reg, 0x22); 118c2ecf20Sopenharmony_ci return inb(0x23); 128c2ecf20Sopenharmony_ci} 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistatic inline void setCx86(u8 reg, u8 data) 158c2ecf20Sopenharmony_ci{ 168c2ecf20Sopenharmony_ci outb(reg, 0x22); 178c2ecf20Sopenharmony_ci outb(data, 0x23); 188c2ecf20Sopenharmony_ci} 19