insl (uint16_t port, void *addr, size_t cnt)
{
/* See [IA32-v2a] "INS". */
insl (uint16_t port, void *addr, size_t cnt)
{
/* See [IA32-v2a] "INS". */
: "=D" (addr), "=c" (cnt)
: "d" (port), "0" (addr), "1" (cnt)
: "memory", "cc");
: "=D" (addr), "=c" (cnt)
: "d" (port), "0" (addr), "1" (cnt)
: "memory", "cc");
outl (uint16_t port, uint32_t data)
{
/* See [IA32-v2b] "OUT". */
outl (uint16_t port, uint32_t data)
{
/* See [IA32-v2b] "OUT". */
outsl (uint16_t port, const void *addr, size_t cnt)
{
/* See [IA32-v2b] "OUTS". */
outsl (uint16_t port, const void *addr, size_t cnt)
{
/* See [IA32-v2b] "OUTS". */
: "=S" (addr), "=c" (cnt)
: "d" (port), "0" (addr), "1" (cnt)
: "cc");
: "=S" (addr), "=c" (cnt)
: "d" (port), "0" (addr), "1" (cnt)
: "cc");