diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2011-02-05 14:34:52 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-02-12 09:43:44 +0000 |
commit | 86d864140bc597dce0fedf8547f4d615a920c444 (patch) | |
tree | 02dd6fbfc5cf10e0eca8bd614b54bd0ea59e065b /hw/vmport.c | |
parent | 86f4a9a5c7f1d98b73520ff9f396206ebc5ddb71 (diff) |
x86: make vmmouse optional
Compile vmmouse in hwlib. Ignore failure if vmmouse device can't be
created.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/vmport.c')
-rw-r--r-- | hw/vmport.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/hw/vmport.c b/hw/vmport.c index 4432be02f7..292d78ffb4 100644 --- a/hw/vmport.c +++ b/hw/vmport.c @@ -102,6 +102,25 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr) return ram_size; } +/* vmmouse helpers */ +void vmmouse_get_data(uint32_t *data) +{ + CPUState *env = cpu_single_env; + + data[0] = env->regs[R_EAX]; data[1] = env->regs[R_EBX]; + data[2] = env->regs[R_ECX]; data[3] = env->regs[R_EDX]; + data[4] = env->regs[R_ESI]; data[5] = env->regs[R_EDI]; +} + +void vmmouse_set_data(const uint32_t *data) +{ + CPUState *env = cpu_single_env; + + env->regs[R_EAX] = data[0]; env->regs[R_EBX] = data[1]; + env->regs[R_ECX] = data[2]; env->regs[R_EDX] = data[3]; + env->regs[R_ESI] = data[4]; env->regs[R_EDI] = data[5]; +} + static int vmport_initfn(ISADevice *dev) { VMPortState *s = DO_UPCAST(VMPortState, dev, dev); |