Commit f114784f authored by Jan Kiszka's avatar Jan Kiszka Committed by Anthony Liguori

monitor: Add port write command

Useful for testing hardware emulations or manipulating its state to
stress guest drivers.
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent ef74679a
...@@ -1185,6 +1185,25 @@ static void do_ioport_read(Monitor *mon, int count, int format, int size, ...@@ -1185,6 +1185,25 @@ static void do_ioport_read(Monitor *mon, int count, int format, int size,
suffix, addr, size * 2, val); suffix, addr, size * 2, val);
} }
static void do_ioport_write(Monitor *mon, int count, int format, int size,
int addr, int val)
{
addr &= IOPORTS_MASK;
switch (size) {
default:
case 1:
cpu_outb(NULL, addr, val);
break;
case 2:
cpu_outw(NULL, addr, val);
break;
case 4:
cpu_outl(NULL, addr, val);
break;
}
}
static void do_boot_set(Monitor *mon, const char *bootdevice) static void do_boot_set(Monitor *mon, const char *bootdevice)
{ {
int res; int res;
......
...@@ -306,6 +306,11 @@ STEXI ...@@ -306,6 +306,11 @@ STEXI
Read I/O port. Read I/O port.
ETEXI ETEXI
{ "o", "/ii", do_ioport_write,
"/fmt addr value", "I/O port write" },
STEXI
Write to I/O port.
ETEXI
{ "sendkey", "si?", do_sendkey, { "sendkey", "si?", do_sendkey,
"keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" }, "keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment